<!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>Reasoning about Properties with Abstract State Machines</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Gennaro Vessio?</string-name>
          <email>gennaro.vessio@uniba.it</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>70125</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Department of Informatics, University of Bari</institution>
          ,
          <addr-line>Bari</addr-line>
        </aff>
      </contrib-group>
      <abstract>
        <p>Along the years, Abstract State Machines (ASMs) have been successfully applied for modeling critical and complex systems in a wide range of domains, and for analyzing their computationally interesting properties. However, unlike other well-known and established formalisms, such as Petri nets, they lack of a framework aimed at better supporting their applicability to the formal veri cation of systems. The goal of my PhD research is to reinforce the ASM formalism as a conceptual tool that developers can nd useful and practical in order to analyze properties.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Several formalisms are successfully applied to the development of critical and
complex systems in a wide range of application domains, and to their ex-ante
and ex-post analysis aimed at verifying and validating functionality and quality
issues. Representing the system-under-study at a high level of abstraction allows
developers to focus on algorithmic aspects, rather than on speci c realizations
of solutions at lower levels. Moreover, the mathematical foundation of formal
methods provides complete and unambiguous investigations about the behavior
and the properties the system-under-study is required to exhibit.</p>
      <p>
        In this context, researchers usually distinguish two orthogonal classi cations
of computationally interesting properties. On one hand, they distinguish between
safety properties, which stipulate that \something bad" must never happen, and
liveness properties, which state that \something good" must eventually happen,
during computation [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]. On the other hand, they distinguish between
domainindependent properties, which are interesting for broad classes of systems, and
domain-speci c, which strictly depend on the speci c domain [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ].
      </p>
      <p>
        My PhD research is aimed at moving a rst step towards the construction of
a framework capable of capturing computationally interesting properties within
the Abstract State Machine (ASM) formalism [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ].
1.1
      </p>
    </sec>
    <sec id="sec-2">
      <title>Motivations</title>
      <p>
        Along the years, ASMs have been used for modeling several systems, often
concurrent and distributed, and for investigating their properties [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. However,
? Copyright held by the author.
unlike other well-known and established formalisms, such as nite state
machines in model checking [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], Petri nets [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ], process algebras (e.g. CSP [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]) and
various domain speci c languages (DSLs) [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], they lack of a framework aimed
at better supporting their applicability to the formal veri cation of systems.
      </p>
      <p>
        Concerning domain-independent properties, both safety and liveness,
traditional model checking [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] approaches to the problem of verifying properties su er
from two main limitations. First of all, because of decidability issues, they model
systems through formalisms, nite state machines or variants, whose expressive
power is generally low (according to [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], in the present work \expressiveness"
is intended as \the power to model algorithms in step-for-step fashion").
Secondly, they require the usage of declarative speci cations of the properties to be
veri ed, usually through some temporal logic, which are considered by several
authors less comfortable for practitioners with respect to operational speci
cations within the same formalism (e.g. [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]). Analogously, when model checking
techniques are applied to ASMs, as well as to other general purpose formalisms,
these limitations are not overcome (e.g. [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]). Conversely, some formalisms, e.g.
Petri nets [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ], provide operational, domain-independent characterizations of
properties so that the formal veri cation of the modeled systems can be
conducted in a di erent and sometimes easier manner. However, ASMs lack of these
features.
      </p>
      <p>
        Concerning domain-speci c properties, both safety and liveness, of
particular interest for my research group is the Mobile Ad-hoc NETwork (MANET)
domain [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. MANETs are critical and complex systems that pose problems, such
as study of performance, synchronization issues, concurrency, and so on, which
can bene t from a formal approach. Several DSLs, e.g. CMN [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ], and general
purpose formalisms, e.g. Petri nets [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], have been proposed in order to study
MANET properties. However, these approaches present some drawbacks:
understandability, since they are based on a syntax dissimilar to traditional
programming languages; expressiveness, because they typically provide only few levels of
abstraction; executability, since, especially process algebras, are not directly
executable. To my best knowledge, the ASM-based approach has been used in the
MANET domain only for specifying the location services of a routing protocol
[
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. No work in literature has been devoted to explore the application of ASMs
as speci c modeling language for MANETs.
1.2
      </p>
    </sec>
    <sec id="sec-3">
      <title>Purposes</title>
      <p>On one hand, the goal is to provide operational, domain-independent
characterizations of properties in order to overcome the main limitations that penalize
traditional model checking techniques applied to ASMs. In fact, the proposed
approach can support the properties analysis in such a way that it can be
conducted entirely within the ASM framework, so without the need of less expressive
models and without the burden of temporal logics. On the other hand,
concerning domain-speci c properties analysis, the goal is to explore the suitability
of ASMs in capturing the speci c MANET features. Their use can overcome
the various drawbacks su ered by both DSLs and general purpose formalisms
typically adopted in this context. Ultimately, the aim is to reinforce the ASM
framework as a conceptual tool that developers can nd useful and practical for
formally analyzing systems properties in critical and complex domains.</p>
      <p>
        With respect to the other formalisms, used both in domain-independent and
domain-speci c properties analysis, the focus is on ASMs because the advantages
they provide under several viewpoints. From the point of view of expressiveness,
ASMs represent a general model of computation which \subsumes" all other
classic computational models [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. Moreover, the ASM approach provides a way
to describe algorithmic issues in a simple abstract pseudo-code, which can be
translated into a high level programming language source code in a quite simple
manner [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. Secondly, considering methodological issues, the ASM formalism is
the basis of a development method which has attracted considerable attention in
the last years [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. Finally, considering the implementation point of view, unlike
many other formalisms, ASMs provide a way for translating formal speci cations
into executable models in order to conduct simulations: this is possible by using
tools like CoreASM [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ].
      </p>
      <p>
        It is worth remarking that, since ASMs are Turing-equivalent, properties
are, in general, undecidable, i.e. their analysis cannot be fully automatized [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ].
Nevertheless, in most cases, properties are semi-decidable, so they can still be
investigated by focusing on the speci c issues of the model under study.
      </p>
      <p>The rest of this paper is organized as follows. Section 2 provides background
knowledge on both ASMs and the chosen case study. Section 3 is about the
current status of my research. Finally, Section 4 sketches future plans. Since my
research is conducted with the support of my supervisor, Alessandro Bianchi,
and Sebastiano Pizzutilo, in the following I use the term \we" instead of \I" in
order to give credit to their contribution.
2</p>
      <sec id="sec-3-1">
        <title>Background</title>
        <p>
          For better explaining our research, background on both the formalism and the
chosen domain is provided. In particular, we take into account the popular
Adhoc On-demand Distance Vector (AODV) routing protocol for MANETs [
          <xref ref-type="bibr" rid="ref23">23</xref>
          ] as
case study for both domain-independent and domain-speci c properties analysis.
2.1
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>The ASM Framework</title>
      <p>
        ASMs are nite sets of so-called rules of the form if condition then updates
(possibly with the else clause) which transform abstract states [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. An ASM
state is an algebraic structure, i.e. a domain of objects with functions and
relations de ned on them. On the other hand, the concept of rule re ects the notion
of transition occurring in traditional transition systems: condition is a rst-order
formula whose interpretation can be true or false, whereas updates is a nite set
of assignments of the form f (t1; : : : ; tn) := t, whose execution consists in
changing in parallel the value of the speci ed functions to the indicated value. Pairs
of function names, xed by a signature, together with values for their arguments
are called locations: they abstract the notion of memory unit. Therefore, a state
can be viewed as a function that maps locations to their values: the current
conguration of locations together with their values determines the current state of
the ASM. As usual in computational models, an ASM step is a pair (s, s0) of
states: in a given state, all conditions are checked, so that all updates in rules
whose conditions evaluate to true are simultaneously executed, and the result is
a transition of the machine from that state to another. Note that for the
unambiguous determination of the next state, updates must be consistent, i.e. no pair
of updates must refer to the same location.
      </p>
      <p>
        A generalization of basic ASMs is represented by Distributed ASMs (DASMs)
[
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], capable of capturing the formalization of multiple agents acting in a
distributed environment. Essentially, a DASM is intended as an arbitrary but nite
number of independent agents, each executing its own underlying ASM.
2.2
      </p>
    </sec>
    <sec id="sec-5">
      <title>AODV Routing Protocol for MANETs</title>
      <p>
        MANETs are wireless networks designed for communications among nomadic
hosts in absence of xed infrastructure [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. MANETs are useful, sometimes
necessary, for allowing hosts to communicate when xed infrastructures cannot be
used, for example for supporting rescue teams operating where pre-existing
infrastructures are not reliable [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]. Hosts are intended as autonomous agents and
they can dispose without according to a prede ned topology; moreover, during
their lifetime, they can enter or leave the network at will and continuously change
their relative position.The twofold role played by hosts (end-point and router),
as well as the continuous change of the network topology due to movement,
requires the de nition of speci c routing protocols for properly managing the lack
of a xed infrastructure. Since each host can directly communicate only within
the area established by its transmission range, these protocols need to take into
account the contribution of intermediate hosts for ensuring broadcasting and
unicasting of packets and so realizing communications.
      </p>
      <p>
        AODV is a reactive protocol that discovers and maintains routes on-demand,
i.e. routes are built only as desired by initiator nodes using a route request/route
reply cycle, which updates routing tables stored in each node [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ]. When an
initiator needs to start a communication session to a destination, and it does
not know a proper route, it broadcasts a route request (RREQ) packet to all
its neighbors. An RREQ packet includes information about initiator and
destination addresses, their sequence numbers, which expresses the freshness of the
information, and the length of the route. When a node receives an RREQ, it
checks if one of the following holds: it is the destination, or destination is one
of its neighbors, or it knows a route to destination with corresponding sequence
number greater than or equal to the one contained in the RREQ. If so, it
unicasts a route reply (RREP) packet back to initiator; otherwise, it rebroadcasts
the RREQ to all its neighbors. The process is so reiterated until a route to
destination is found, or until a previously set timeout expires. While RREP travels
towards initiator, routes are set up inside the routing tables of the traversed
hosts. Once initiator receives the RREP, communication starts.
      </p>
      <sec id="sec-5-1">
        <title>Current Status of the Research</title>
        <sec id="sec-5-1-1">
          <title>Currently, my research is dealing with:</title>
          <p>{ The de nition of starvation-freedom, which is a domain-independent liveness
property, in terms of ASMs;
{ The study of network topology awareness, which is a MANET-speci c
liveness property, by means of ASMs.</p>
          <p>In order to deepen into the issues above, we are also investigating the
application of a predicate abstraction approach to ASMs.
3.1</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Predicates over ASM States</title>
      <p>Classic computational models, such as nite state machines and Turing
machines, represent the current state of the computation with (sequence of)
symbols belonging to nite alphabets. This poses a limitation: the representation of
states is restricted to a speci c data structure. Instead, as explained in Section
2.1, ASMs allow any algebraic structure to serve as representation of states. This
results in a great amount of details specifying the states, so making the analysis
of the properties of the whole system more di cult, mainly for what concerns the
comprehension of the semantics of each state with respect to the computational
behavior of the modeled system.</p>
      <p>Consider two examples. In the case of a DASM model, the simple execution
of one or more updates does not necessarily involve the change of the locations
values in such a way that a process makes real computational progress, so driving
to starvation. In fact, an ASM could starve even if the computation continues to
evolve through di erent states. In other words, it is di cult to recognize e ective
progress. On the other hand, the second case concerns, for example, a process
that acts both as a client with respect to a service, and, simultaneously, as a
server with respect to another service. In this case, ASMs easily capture in a
same state di erent computational activities to be run in parallel. However, it is
di cult for the modeler to distinguish, inside the same state, what computational
branches have been entered or not.</p>
      <p>
        In order to overcome these problems, the need of an abstraction framework
capable of capturing the semantics of the ASM states arises. More precisely,
there is the need to partition the set of locations into subsets and extract from
them the locations speci cally interesting for the veri cation purposes. To this
end, we propose a predicate abstraction approach [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. Predicate abstraction is a
popular and widely used technique for the analysis of programs [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. It aims at
generating an abstract model from the concrete system to be veri ed, so checking
the former instead of the latter. Brie y speaking, the states of the system are
mapped to states of the model according to their evaluation with respect to a
nite set of predicates de ned over the system states. The model has the same
control ow of the original program but it concerns only the predicates over the
states.
      </p>
      <p>
        Literature agrees that a program state coincides with the con guration of
program variables together with their current values, e.g. [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ]. Analogously, an
ASM state coincides with the con guration of ASM locations together with their
current values. Therefore, since there exists a natural parallelism between classic
program states and ASM states, predicate abstraction can be applied to ASMs
as much as to traditional programs. More precisely, it can be applied through
the following:
De nition 1. A predicate over an ASM state s is a rst-order formula de ned
over the locations in s, such that s j= .
      </p>
      <p>Predicates over the states serve to represent the semantics of each state
and can be regarded as a non-injective labeling function that maps predicates
to each state. An ASM model can then be equipped with a set of predicates
= f 1; : : : ; ng such that, in the current state, each i can be satis ed or not.
In this way, the ASM control ow can be represented by the truth value of the
predicates over the states. Properties to be veri ed, such as starvation-freedom,
can then be analyzed by focusing on the composition of these predicates.</p>
      <p>Note that our use of predicate abstraction is quite di erent with respect to
the traditional way: instead of extracting abstract models from the given ASM,
the aim is to use predicates over the states in order to support the veri cation
of its properties. In particular, applying predicate abstraction to ASMs induces
the partition of locations we need for expressing the semantics of the states.
3.2</p>
    </sec>
    <sec id="sec-7">
      <title>ASM-based Starvation-freedom</title>
      <p>
        Literature does not provide a univocal, formal de nition of starvation: di erent
authors provide di erent de nitions from di erent perspectives. In any case, at
high description level, starvation can be described as an accident occurring in a
multi-process system which hampers a process to continue its proper
computation (e.g. [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]). In general, a process starves because it requires the access to an
external resource which is never available. In some cases, e.g. in communication
systems, the required resource is represented by a message a process waits for.
      </p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] we investigate starvation in the AODV routing protocol for MANETs
using ASMs. In particular, two formalizations of the protocol are given. The rst
one is starvation-prone because it intentionally ignores the timeout mechanism
adopted for escaping in nite waiting: they arises when links between initiator
and the desired destination lack. Instead, the second one is a re nement which
makes the model starvation-free thanks to the reintroduction of the timeout.
The comparative analysis of both models suggests that the risk of starvation is
due to the presence of what we call vulnerable rules.
      </p>
      <p>De nition 2. A vulnerable rule is a rule of the form if cond then update-true
else update-false characterized by the following features:
1. The truth value of cond depends on one or more risky functions;
2. a) One update between update-true and update-false generates a
computation that does not change the value of a risky predicate over the states;
b) The computation evolves to a subsequent state, in which the risky
predicate over the states does not hold, through the other update.</p>
      <p>
        The functions in feature (1) are risky because the risk to starve the system
depends on their values. Concerning the class they belong to, it is worth noting
that a rigorous classi cation of ASM functions exists in literature [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]; however,
for the purposes of the present work, it is su cient to remark that they are risky if
they represents the dependency of the ASM from external resources. Concerning
feature (2a), an important issue is related to the granularity used for de ning
the states: they are characterized by the same value for the risky predicate that
expresses the waiting situation [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. More precisely, if the states are expressed
at a ner granularity, then the computation cyclical returns through several
intermediate states characterized by the same risky predicate; but if granularity
is coarser, then the rule execution could not produce any appreciable change of
the ASM state. Moreover, an adequate stepwise re nement can be de ned so
that the case of a single vulnerable rule can be generalized to any nite number
of rules, in which at least one rule satis es the three features above. Finally, it is
worth noting that the update allowing the computation to proceed is the \good
thing" stated in [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ].
      </p>
      <p>From a methodological point of view, the vulnerable rules de nition
implicitly suggests some tasks a modeler can execute for determining the possible
presence of starvation risk: analyze the model, looking for cyclical returns to
states characterized by the same predicate; if so, the modeler must check if they
are driven by conditions depending on some risky function; in this case, the
corresponding updates must be studied for investigating their e ects. Some of these
activities could be supported by automatic tools, such as parsers, dependency
graph analyzers, and so on.
3.3</p>
    </sec>
    <sec id="sec-8">
      <title>ASMs for Network Topology Awareness in MANETs</title>
      <p>
        In [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] by modeling AODV and proving some computationally interesting
properties, we show that the ASM approach is very useful for capturing the speci c
MANET features and for reasoning about them. A MANET is characterized by
a parallel composition of network nodes in which di erent sequential activities
are, in turn, executed in parallel. The notion of run in a DASM, in which several
ASMs are simultaneously executed, and the intrinsic parallel computation of
ASM rules allow the modelers to express the nodes' execution in a very natural
manner. Secondly, ASM functions, that can be de ned over universes of objects
of arbitrary complexity, can be used for representing nodes in neighborhood,
so abstracting from physical features, and for recording the information about
routes stored in routing tables. Thirdly, broadcasting and unicasting of
packets can be simply modeled by manipulating abstract messages and by inserting
or deleting them into abstract queues. Finally, the similarity between the ASM
pseudo-code and the syntax of traditional programming languages provides a
way for describing algorithmic issues that developers can nd familiar for
modeling the system at high abstraction level and for investigating its properties.
      </p>
      <p>
        Moreover, in [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] we show how predicate abstraction can help in expressing
the node's behavior. In fact, the simultaneous ful llment of di erent predicates
over the same ASM state is very suitable for capturing the intrinsic concurrency
of the nodes' computation.
      </p>
      <p>
        More speci cally, the main focus of this branch of my research is on network
topology awareness (NTA). Typically, in reactive protocols, a host has not full
knowledge about the network in the whole: it has only a local view, limited to
its neighborhood, and information about the other hosts can only be obtained
through the dissemination of control packets across the network. This knowledge
represents the awareness of each host about the current network topology. In [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]
we propose a variant of AODV aimed at making each host more aware about the
current topology. We call the variant N-AODV (NACK-based AODV) because
the improvement of NTA is obtained through the introduction of a new control
packet: a Not-ACKnowledgement (NACK) packet. In the original AODV, when
an intermediate node n receives an instance of an RREQ and does not know a
route to reach the desired destination, it simply rebroadcasts the RREQ to all
its neighbors. Instead, in N-AODV, in addition to rebroadcasting the RREQ,
n unicasts a NACK packet back to initiator. The NACK is so used to inform
all nodes between n and initiator that, roughly speaking, n \does not know
anything" about the destination. It is worth noting that the usage of NACKs
provides information gain under three points of view:
{ When a route to destination is found, initiator is aware about not only the
next hop in the route to reach destination, but also about all the intermediate
nodes of that route. Note that, even if the route discovery process fails,
initiator is aware about all nodes reached by an RREQ until the timeout
expiration;
{ Initiator is also aware about all nodes reached by an RREQ but not
necessarily involved in a route to reach destination;
{ Because of the forwarding activities due to NACKs unicasting, all nodes
in the reverse route to reach initiator, are aware about the senders of the
various NACKs.
      </p>
      <sec id="sec-8-1">
        <title>In the work we describe the proposal and prove its correctness.</title>
        <p>4</p>
        <sec id="sec-8-1-1">
          <title>Future Work</title>
          <p>The aim of my PhD research is to move a step towards the construction of a
framework capable of capturing systems properties inside the ASM formalism.
To this end, our research develops over two parallel directions: on one hand, the
aim is to provide operational characterizations of domain-independent properties
in terms of ASMs; in particular, the focus is on starvation-freedom. On the other
hand, the aim is to show the suitability of ASMs in modeling speci c issues of
MANETs; in particular, the focus is on network topology awareness.</p>
          <p>Concerning domain-independent properties analysis, the results obtained from
the study of starvation in the AODV protocol are encouraging for the purposes of
our research. In fact, the operational de nition of vulnerable rules allows
modelers to treat starvation analysis entirely within the ASM framework, i.e. without
translating ASMs into less expressive models and without adopting temporal
logics. In this way, the main limitations that penalize traditional model
checking techniques applied to ASMs can be overcome. The research will continue
with the purpose of generalizing the nding of the case study in order to
formally prove the necessary and su cient conditions that enable starvation inside
ASMs. To achieve this goal, we will deepen into the relationship between the
syntactic notion of starvation inside ASMs and the classic, semantic notion of
starvation in literature.</p>
          <p>Conversely, concerning domain-speci c properties analysis, ASMs have shown
to be very useful for modeling MANETs and investigating their properties.
Indeed, the advantages they provide overcome the various drawbacks that a ect
the other formalisms typically applied in this context, i.e. the lack of
understandability, expressiveness and executability features. Moreover, ASMs helped
in formally specifying a variant of the AODV protocol, namely N-AODV, aimed
at improving the network topology awareness of each node. Since the use of
NACKs injects overhead in the computation activities carried on by hosts, the
research will continue with the aim to compare AODV and N-AODV
performance through simulations in order to evaluate if the overhead is adequately
balanced by the information gain obtained. For this purpose, CoreASM provides
an excellent simulation environment for conducting experiments.</p>
          <p>More in general, in order to support the ASM-based properties analysis,
independently from the class a property belongs to, we discovered that predicates
over the states provide the abstraction framework we need for managing the high
complexity of the representation of the states implicitly given by ASMs.</p>
          <p>It is worth noting that the research conducted so far has dealt only with
liveness properties. However, future directions could explore more in deep safety
properties, both domain-independent and domain-speci c. For example,
deadlockfreedom as an instance of safety domain-independent properties, and some
security issues in MANETs, as instances of safety domain-speci c properties.</p>
        </sec>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Agrawal</surname>
            ,
            <given-names>D.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zeng</surname>
            ,
            <given-names>Q.A.</given-names>
          </string-name>
          :
          <article-title>Introduction to Wireless and Mobile Systems</article-title>
          . Thomson Brooks/Cole (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Alpern</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schneider</surname>
            ,
            <given-names>F.B.</given-names>
          </string-name>
          :
          <string-name>
            <surname>De ning Liveness</surname>
          </string-name>
          .
          <source>Information Processing Letters</source>
          ,
          <volume>21</volume>
          (
          <issue>4</issue>
          ),
          <volume>181</volume>
          {
          <fpage>185</fpage>
          (
          <year>1985</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Arcaini</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gargantini</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Riccobene</surname>
          </string-name>
          , E.:
          <article-title>CoMA: Conformance Monitoring of Java Programs by Abstract State Machines</article-title>
          .
          <source>In: 2nd International Conference on Runtime Veri cation</source>
          ,
          <volume>223</volume>
          {
          <fpage>238</fpage>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Baier</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Katoen</surname>
            ,
            <given-names>J.P.</given-names>
          </string-name>
          : Principles of Model Chacking. The MIT Press (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Benczur</surname>
            <given-names>A</given-names>
          </string-name>
          , Glasser
          <string-name>
            <surname>U</surname>
          </string-name>
          , Lukovskzi T.:
          <article-title>Formal Description of a Distributed Location Service for Mobile Ad-hoc Networks</article-title>
          . In: Borger, E.,
          <string-name>
            <surname>Gargantini</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Riccobene</surname>
          </string-name>
          , E. (eds),
          <source>Abstract State Machines 2003 - Advances in Theory and Applications</source>
          ,
          <volume>2589</volume>
          , 204{
          <fpage>217</fpage>
          (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Bianchi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pizzutilo</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Studying MANET through a Petri Net-Based Model</article-title>
          .
          <source>In: 2th International Conference of Evolving Internet</source>
          ,
          <volume>220</volume>
          {
          <fpage>225</fpage>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Bianchi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pizzutilo</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vessio</surname>
          </string-name>
          , G.:
          <article-title>Preliminary Description of NACK-based Adhoc On-Demand Distance Vector Routing Protocol for MANETs</article-title>
          .
          <source>In: 9th International Conference on Software Engineering and Applications</source>
          ,
          <volume>500</volume>
          {
          <fpage>505</fpage>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Bianchi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pizzutilo</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vessio</surname>
          </string-name>
          , G.:
          <article-title>Suitability of Abstract State Machines for Discussing Mobile Ad-hoc Networks</article-title>
          .
          <source>Global Journal of Advanced Software Engineering</source>
          ,
          <volume>1</volume>
          , 29{
          <fpage>38</fpage>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Bianchi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pizzutilo</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vessio</surname>
          </string-name>
          , G.:
          <article-title>Applying Predicate Abstraction to Abstract State Machines</article-title>
          . In: Enterprise,
          <article-title>Business-Process and Information Systems Modeling</article-title>
          , LNBIP
          <volume>214</volume>
          ,
          <issue>283</issue>
          {
          <fpage>292</fpage>
          ,
          <string-name>
            <surname>Springer</surname>
          </string-name>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Bianchi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pizzutilo</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vessio</surname>
          </string-name>
          , G.:
          <article-title>Starvation Analysis with Abstract State Machines: the AODV Case Study (</article-title>
          <year>2015</year>
          )
          <article-title>(in preparation)</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Bodevaix</surname>
            ,
            <given-names>J.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Filali</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lawall</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Muller</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          :
          <article-title>Formal Methods Meet Domain Speci c Languages</article-title>
          .
          <source>In: 5th International Conference on Integrated Formal Methods</source>
          ,
          <volume>187</volume>
          {
          <fpage>206</fpage>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12. Borger, E., Stark, R.:
          <article-title>Abstract State Machines: A Method for High-Level System Design and Analysis</article-title>
          . Springer-Verlag (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Dershowitz</surname>
          </string-name>
          , N.:
          <article-title>The Generic Model of Computation</article-title>
          .
          <source>Electronic Proceedings in Theoretical Computer Science</source>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Farahbod</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          , Glasser, U., Ma, G.:
          <article-title>Model Checking CoreASM Speci cations</article-title>
          .
          <source>In: 14th International ASM Workshop</source>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Graf</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Saidi</surname>
          </string-name>
          , H.:
          <article-title>Construction of Abstract State Graphs with PVS</article-title>
          .
          <source>In: 9th International Conference on Computer Aided Veri cation</source>
          ,
          <volume>72</volume>
          {
          <fpage>83</fpage>
          (
          <year>1997</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Gurevich</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <article-title>The Sequential ASM Thesis</article-title>
          . In: Pa^un, G.,
          <string-name>
            <surname>Rozenberg</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Salomaa</surname>
            ,
            <given-names>A</given-names>
          </string-name>
          . (eds),
          <source>Current Trends in Theoretical Computer Science - Entering the 21st Century</source>
          ,
          <volume>363</volume>
          {
          <fpage>392</fpage>
          (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Hoare</surname>
            ,
            <given-names>C.A.R.</given-names>
          </string-name>
          : Communicating Sequential Processes. Prentice
          <string-name>
            <surname>Hall</surname>
          </string-name>
          (
          <year>1985</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Jensen</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kristensen</surname>
            ,
            <given-names>L.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wells</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Coloured Petri Nets and CPN Tools for Modelling and Validation of Concurrent Systems</article-title>
          .
          <source>International Journal on Software Tools for Technology Transfer</source>
          ,
          <volume>9</volume>
          (
          <issue>3-4</issue>
          ),
          <volume>213</volume>
          {
          <fpage>254</fpage>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Kindler</surname>
          </string-name>
          , E.:
          <article-title>Safety and Liveness Properties: A Survey</article-title>
          .
          <source>EATCS Bulletin</source>
          ,
          <volume>53</volume>
          , 268{
          <fpage>272</fpage>
          (
          <year>1994</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Laplante</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          : Dictionary of Computer Science, Engineering and Technology. CRC Press (
          <year>2000</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Lien</surname>
            ,
            <given-names>Y.N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jang</surname>
            ,
            <given-names>H.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tsai</surname>
          </string-name>
          , T.C.
          <article-title>: A MANET Based Emergency Communication and Information System for Catastrophic Natural Disasters</article-title>
          .
          <source>In: 29th International Conference on Distributed Computing Systems Workshops</source>
          ,
          <volume>412</volume>
          {
          <fpage>417</fpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Merro</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>An Observational Theory for Mobile Ad Hoc Networks</article-title>
          .
          <source>Information and Computation</source>
          ,
          <volume>207</volume>
          (
          <issue>2</issue>
          ),
          <volume>194</volume>
          {
          <fpage>208</fpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>Perkins</surname>
            ,
            <given-names>C.E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Belding-Royer</surname>
            ,
            <given-names>E.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Das</surname>
            ,
            <given-names>S.R.</given-names>
          </string-name>
          :
          <article-title>Ad hoc On-Demand Distance Vector (AODV) Routing</article-title>
          . RFC 3561, http://tools.ietf.org/html/rfc3561 (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <surname>Spielmann</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Automatic Veri cation of Abstract State Machines</article-title>
          . In: 11th International Conference on Computer Aided Veri cation,
          <volume>431</volume>
          {
          <fpage>442</fpage>
          (
          <year>1999</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>