This paper proposes a timed process algebra for wireless networks, an extension of the Algebra for Wireless Networks. It combines treatments of local broadcast, conditional unicast and data structures, which are essential features for the modelling of network protocols. In this framework we model and analyse the Ad hoc On-Demand Distance Vector routing protocol, and show that, contrary to claims in the literature, it fails to be loop free. We also present boundary conditions for a fix ensuring that the resulting protocol is indeed loop free.7 An expression p is guarded if each call of a process name X(exp 1 , . . . , exp n ) occurs with a subexpression [ϕ]q, [[var := exp]]q, α.q or unicast(dest, ms).q ◮ r of p.A Timed Process Algebra for Wireless Networks 7 A Language for Networks. We model network nodes in the context of a wireless mesh network by node expressions of the form ip : PP : R. Here ip ∈ IP is the address of the node, PP is a parallel process expression, and R ⊆ IP is the range of the node-the set of nodes that are currently within transmission range of ip.A partial network is then modelled by a parallel composition of node expressions, one for every node in the network, and a complete network is a partial network within an encapsulation operator [ ] that limits the communication of network nodes and the outside world to the receipt and the delivery of data packets to and from the application layer attached to the modelled protocol in the network nodes. This yields the following grammar for network expressions:M ::= ip : PP : R | M M .
The Semantics of T-AWNAs mentioned in the introduction, the transmission of a message takes time.Since our main application assumes wireless links and node mobility, the packet delivery time varies. Hence we assume a minimum time that is required to send a message, as well as an optional extra transmission time. In T-AWN the values of these parameters are given for each type of sending separately: LB, LG, and LU, satisfying LB, LG, LU > 0, specify the minimum bound, in units of time, on the duration of a broadcast, groupcast and unicast transmission; the optional additional transmission times are denoted by ∆B, ∆G and ∆U, satisfying ∆B, ∆G, ∆U ≥ 0. Adding up these parameters (e.g. LB and ∆B) yields maximum transmission times. We allow any execution consistent with these parameters. For all other actions our processes can take we postulate execution times of 0.