A process calculus for Mobile Ad Hoc Networks

Anu Singh, C.R. Ramakrishnan, Scott A. Smolka
2010 Science of Computer Programming  
We present the ω-calculus, a process calculus for formally modeling and reasoning about Mobile Ad Hoc Wireless Networks (MANETs) and their protocols. The ω-calculus naturally captures essential characteristics of MANETs, including the ability of a MANET node to broadcast a message to any other node within its physical transmission range (and no others), and to move in and out of the transmission range of other nodes in the network. A key feature of the ω-calculus is the separation of a node's
more » ... mmunication and computational behavior, described by an ω-process, from the description of its physical transmission range, referred to as an ω-process interface. Our main technical results are as follows. We give a formal operational semantics of the ω-calculus in terms of labeled transition systems and show that the state reachability problem is decidable for finite-control ω-processes. We also prove that the ω-calculus is a conservative extension of the π-calculus, and that late bisimulation equivalence (appropriately lifted from the π-calculus to the ω-calculus) is a congruence. Congruence results are also established for a weak version of late bisimulation equivalence, which abstracts away from two types of internal actions: τ -actions, as in the π-calculus, and µactions, signaling node movement. We additionally define a symbolic semantics for the ω-calculus extended with the mismatch operator, along with a corresponding notion of symbolic bisimulation equivalence, and establish congruence results for this extension as well. Finally, we illustrate the practical utility of the calculus by developing and analyzing formal models of a leader election protocol for MANETs and the AODV routing protocol. 441 protocol given in a traditional process calculus must intermix the computation of neighborhood information with the protocol's control behavior. This tends to render such models unnatural and unnecessarily complex. In this paper, we present the ω-calculus, a conservative extension of the π -calculus that has been designed expressly to address the MANET modeling problems outlined above. A key feature of the ω-calculus is the separation of a node's communication and computational behavior, described by an ω-process, from the description of its physical transmission range, referred to as an ω-process interface. This separation allows one to model the control behavior of a MANET protocol using ω-processes independently from the protocol's underlying communication topology, which is modeled using process interfaces. (A similar separation of concerns has been achieved in several recently introduced process calculi for wireless and mobile networks [13, 10, 9, 6 ], but not, as we argue in Section 8, as simply and naturally as in the ω-calculus.) As discussed further in Section 2, ω-process interfaces are comprised of groups, which operationally function as localbroadcast ports. Mobility is captured in the ω-calculus via the dynamic creation of new groups and dynamically changing process interfaces. The group-based abstraction for local broadcast in a wireless network is a natural one; it appears also in [7] , where it is shown how to model MANETs in the UPPAAL model checker for timed automata. Main contributions. The rest of the paper is organized around our main technical results, which include the following: • Section 2 provides an informal introduction to the basic features of the ω-calculus. • Section 3 presents the formal operational semantics of the ω-calculus in terms of labeled transition systems and structural congruence rules. The calculus is presented in three stages: ω 0 , the core version of the calculus, focuses on local broadcast and mobility; ω 1 extends ω 0 with unicast communication and scope extrusion; ω 2 extends ω 1 by allowing multi-threaded behavior at the process level. We shall henceforth use the term "ω-calculus" to refer to ω 2 , the most general version of the calculus. We in fact show in Section 4 that ω 2 is a conservative extension of the π -calculus. • Section 4 defines bisimulation equivalence for the ω-calculus and proves that it is a congruence. We obtain similar results for a weak version of bisimulation, which treats as unobservable two types of internal actions: τ -actions, as in the πcalculus, and µ-actions, signaling node movement. • Section 5 extends the transitional semantics of the ω-calculus to a symbolic one in the presence of a mismatch operator. Symbolic bisimulation equivalence is also defined and is shown to be a congruence. • Section 6 presents our Prolog encoding of the transitional semantics of the ω-calculus. • Section 7 illustrates the practical utility of the calculus by developing and analyzing formal ω-calculus models for two algorithms for MANETs, namely a leader election algorithm [20] and the AODV routing protocol [16] . Section 8 considers related work and Section 9 offers our concluding remarks. The ω-calculus: An informal introduction As an illustrative example of the ω-calculus, consider the MANET of Fig. 1(a) comprising the four nodes N 1 , N 2 , N 3 , N 4 . The dotted circle centered around a node indicates the node's transmission range. Thus, N 1 is within the transmission range of N 2 , N 3 , and N 4 and vice versa, and N 2 and N 4 are in each other's transmission range. We assume that the transmission ranges of all nodes are identical, and hence connectivity is symmetric. The assumption of symmetry makes the notation cleaner, although the assumption can be readily removed, as discussed later in this section. Fig. 1(b) highlights the maximal sets of neighboring nodes in the network, one covering N 1 , N 2 , and N 4 , and the other covering N 1 and N 3 . A maximal set of neighboring nodes corresponds to a maximal clique in the network's node connectivity graph ( Fig. 1(c) ), and, equivalently, to an ω-calculus group (local broadcast port), as illustrated in Fig. 1(d) . The set of groups to which a node is connected is specified by the interface of the underlying process; i.e. the process executing at the node. Thus, the ω-calculus expression for the network is the parallel composition N 1 |N 2 |N 3 |N 4 , where N 1 = P 1 : {g 1 , g 2 }, N 2 = P 2 : {g 1 }, N 3 = P 3 : {g 2 }, N 4 = P 4 : {g 1 }, for process expressions P 1 , P 2 , P 3 and P 4 . Note that process interfaces may contain groups that do not correspond to maximal cliques. Groups that do not represent any additional connectivity information are redundant. Group g 2 of Fig. 2 is an example of a redundant group. A canonical form for ω-calculus expressions can be defined in which redundant groups are elided. Fig. 1 provides multiple views of the topology of the MANET at a particular moment in time. As discussed below, the network topology may change over time due to node movement, a feature of MANETs captured operationally in the ωcalculus via dynamic updates of process interfaces. Local broadcast in the ω-calculus. The ω-calculus action to locally broadcast a value x is bx, while r(y) is the action for receiving a value y. Thus, when a process transmits a message, only the message x to be sent is included in the specification. The set of possible recipients depends on the process's current interface: only those processes that share a common group with the sender can receive the message and this information is not part of the syntax of local broadcast actions. In the example of Fig. 1 , if P 2 can broadcast a message and P 1 , P 3 , P 4 are willing to receive it, then the expression N = r(x).P 1 : {g 1 , g 2 } | bu.P 2 : {g 1 } | r(y).P 3 : {g 2 } | r(z).P 4 : {g 1 } may evolve to N = P 1 {u/x} : {g 1 , g 2 } | P 2 : {g 1 } | r(y).P 3 : {g 2 } | P 4 {u/z} : {g 1 }.
doi:10.1016/j.scico.2009.07.008 fatcat:layqpe7v4japvj3kpzu3nrep6u