Advertisement

Formal Aspects of Computing

, Volume 29, Issue 6, pp 1051–1086 | Cite as

Modeling and efficient verification of wireless ad hoc networks

  • Behnaz Yousefi
  • Fatemeh Ghassemi
  • Ramtin Khosravi
Original Article

Abstract

Wireless ad hoc networks, in particular mobile ad hoc networks (MANETs), are growing very fast as they make communication easier and more available. However, their protocols tend to be difficult to design due to topology dependent behavior of wireless communication, and their distributed and adaptive operations to topology dynamism. Therefore, it is desirable to have them modeled and verified using formal methods. In this paper, we present an actor-based modeling language with the aim to model MANETs. We address main challenges of modeling wireless ad hoc networks such as local broadcast, underlying topology, and its changes, and discuss how they can be efficiently modeled at the semantic level to make their verification amenable. The new framework abstracts the data link layer services by providing asynchronous (local) broadcast and unicast communication, while message delivery is in order and is guaranteed for connected receivers. We illustrate the applicability of our framework through two routing protocols, namely flooding and AODVv2-11, and show how efficiently their state spaces can be reduced by the proposed techniques. Furthermore, we demonstrate a loop formation scenario in AODV, found by our analysis tool.

Keywords

State-space reduction Mobile ad hoc network Ad hoc routing protocol Rebeca Actor-based language Model checking 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Supplementary material

165_2017_429_MOESM1_ESM.wrebeca (14 kb)
ESM 1 (WREBECA 14 kb)

References

  1. ADR+11.
    Abdulla PA, Delzanno G, Rezine O, Sangnier A, Traverso R (2011) On the verification of timed ad hoc networks. In: 9th international conference on formal modeling and analysis of timed systems, volume 6919 of LNCS, Springer, pp 256–270Google Scholar
  2. afra.
  3. Agh90.
    Agha GA (1990) ACTORS—a model of concurrent computation in distributed systems. MIT Press series in artificial intelligence. MIT Press, Cambridge, MAGoogle Scholar
  4. BG92.
    Bertsekas DP, Gallager RG (1992) Data networks. Prentice Hall, Upper Saddle River, NJGoogle Scholar
  5. BHJ+15.
    Borgström J, Huang S, Johansson M, Raabjerg P, Victor B, Pohjola JÅ, Parrow J (2015) Broadcast psi-calculi with an application to wireless protocols. Softw Syst Model 14(1): 201–216CrossRefMATHGoogle Scholar
  6. BMWK09.
    Basler Gérard, Mazzucchi Michele, Wahl Thomas, Kroening Daniel (2009) Symbolic counter abstraction for concurrent software. In Computer Aided Verification, Springer pp 64–78Google Scholar
  7. BOG02.
    Bhargavan K, Obradovic D, Gunter CA (2002) Formal verification of standards for distance vector routing protocols. J ACM 49(4): 538–576CrossRefMATHMathSciNetGoogle Scholar
  8. CCH07.
    Cui T, Chen L, Ho T (2007) Distributed optimization in wireless networks using broadcast advantage. In: Decision and control. IEEE, pp 5839–5844Google Scholar
  9. CEJS98.
    Clarke EM, Emerson EA, Jha S, Sistla AP (1998) Symmetry reductions in model checking. In: Hu AJ, Vardi MY (eds) Computer aided verification. Springer, Berlin, pp 147–158Google Scholar
  10. DK86.
    Dechter R, Kleinrock L (1986) Broadcast communications and distributed algorithms. IEEE Trans Comput 35(3): 210–219CrossRefGoogle Scholar
  11. DRA04.
    De Renesse R, Aghvami AH (2004) Formal verification of ad-hoc routing protocols using spin model checker. In 12th IEEE mediterranean, electrotechnical conference, volume 3. IEEE, pp 1177–1182Google Scholar
  12. DSTZ12.
    Delzanno G, Sangnier A, Traverso R, Zavattaro G (2012) On the complexity of parameterized reachability in reconfigurable broadcast networks. In: Annual conference on foundations of software technology and theoretical computer science, volume 18 of LIPIcs. Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, pp 289–300Google Scholar
  13. DSZ11.
    Delzanno G, Sangnier A, Zavattaro G (2011) Parameterized verification of safety properties in ad hoc network protocols. In: First international workshop on process algebra and coordination, volume 60 of EPTCS, pp 56–65Google Scholar
  14. DV90.
    De Nicola R, Vaandrager FW (1990) Action versus state based logics for transition systems. In: Semantics of systems of concurrent processes, volume 469 of Lecture notes in computer science. Springer, pp 407–419Google Scholar
  15. EM99.
    Ene C, Muntean T (1999) Expressiveness of point-to-point versus broadcast communications. In: Ciobanu G, Păun G (eds) Fundamentals of computation theory. FCT 1999, volume 1684 of LNCS. Springer, BerlinGoogle Scholar
  16. ET99.
    Emerson EA, Trefler RJ (1999) From asymmetry to full symmetry: new techniques for symmetry reduction in model checking. In: Pierre L, Kropf T (eds) Correct hardware design and verification methods. Springer, Berlin, pp 142–156Google Scholar
  17. FvGH+12.
    Fehnker A, van Glabbeek R, Höfner P, McIver A, Portmann M, Tan WL (2012) Automated analysis of AODV using Uppaal. In: Tools and algorithms for the construction and analysis of systems, volume 7214 of LNCS. Springer, Berlin, pp 173–187Google Scholar
  18. FVGH+13.
    Fehnker A, Van Glabbeek R, Höfner P, McIver A, Portmann M, Tan WL (2013) A process algebra for wireless mesh networks used for modelling, verifying and analysing AODV. arXiv preprint arXiv:1312.7645
  19. GAFM13.
    Ghassemi F, Ahmadi S, Fokkink W, Movaghar A (2013) Model checking MANETs with arbitrary mobility. In: Arbab F, Sirjani M (eds) Fundamentals of software engineering. Springer, Berlin, pp 217–232Google Scholar
  20. GFM08.
    Ghassemi F, Fokkink W, Movaghar A (2008) Restricted broadcast process theory. In: Sixth IEEE international conference on software engineering and formal methods (SEFM). IEEE Computer Society, pp 345–354Google Scholar
  21. GFM11.
    Ghassemi F, Fokkink W, Movaghar A (2011) Verification of mobile ad hoc networks: an algebraic approach. Theor Comput Sci 412(28): 3262–3282CrossRefMATHGoogle Scholar
  22. God07.
    Godskesen JC (2007) A calculus for mobile ad hoc networks. In: Murphy AL, Vitek J (eds) Coordination models and languages, volume 4467 of LNCS. Springer, Berlin, pp 132–150Google Scholar
  23. God09.
    Godskesen JC (2009) A calculus for mobile ad-hoc networks with static location binding. Electr Notes Theor Comput Sci 242(1): 161–183CrossRefMATHMathSciNetGoogle Scholar
  24. God10.
    Godskesen JC (2010) Observables for mobile and wireless broadcasting systems. In: Coordination models and languages, volume 6116 of LNCS. Springer, Berlin, pp 1–15Google Scholar
  25. Hew77.
    Hewitt C (1977) Viewing control structures as patterns of passing messages. Artif Intell 8(3): 323–364CrossRefGoogle Scholar
  26. JSM+10.
    Jaghoori MM, Sirjani M, Mousavi MR, Khamespanah E, Movaghar A (2010) Symmetry and partial order reduction techniques in model checking Rebeca. Acta Inform 47(1): 33–66CrossRefMATHMathSciNetGoogle Scholar
  27. Kat11.
    Katoen J-P (2011) Model checking: one can do much more than you think! In: Arbab F, Sirjani M (eds) Fundamentals of software engineering. Springer, Berlin, pp 1–14Google Scholar
  28. KLN11.
    Kuhn F, Lynch NA, Newport CC (2011) The abstract MAC layer. Distrib Comput 24(3–4): 187–206CrossRefMATHGoogle Scholar
  29. KSS+15.
    Khamespanah E, Sirjani M, Sabahi-Kaviani Z, Khosravi R, Izadi M (2015) Timed rebeca schedulability and deadlock freedom analysis using bounded floating time transition system. Sci Comput Program 98: 184–204CrossRefGoogle Scholar
  30. Mer09.
    Merro M (2009) An observational theory for mobile ad hoc networks (full version). Inf Comput 207(2):194–208, Special issue on Structural Operational Semantics (SOS)Google Scholar
  31. MF06.
    Mclver AK, Fehnker A (2006) Formal techniques for the analysis of wireless networks. In: Second international symposium on leveraging applications of formal methods, verification and validation. IEEE, pp 263–270Google Scholar
  32. MKKAR06.
    Mahmud SA, Khan S, Khan S, Al-Raweshidy H (2006) A comparison of manets and wmns: commercial feasibility of community wireless networks and manets. In: 1st international conference on access networks. ACMGoogle Scholar
  33. MS03.
    Mateescu R, Sighireanu M (2003) Efficient on-the-fly model-checking for regular alternation-free mu-calculus. Sci Comput Program 46(3): 255–281CrossRefMATHMathSciNetGoogle Scholar
  34. MS06.
    Mezzetti N, Sangiorgi D (2006) Towards a calculus for wireless systems. Electr Notes Theor Comput Sci 158(0): 331–353CrossRefMATHGoogle Scholar
  35. NH06.
    Nanz S, Hankin C (2006) A framework for security analysis of mobile wireless networks. Theor Comput Sci 367(1–2): 203–227CrossRefMATHMathSciNetGoogle Scholar
  36. NT15a.
    Namjoshi KS, Trefler RJ (2015a) Analysis of dynamic process networks. In: Baier C, Tinelli C (eds) Tools and algorithms for the construction and analysis of systems, volume 9035 of LNCS. Springer, Berlin, pp 164–178Google Scholar
  37. NT15b.
    Namjoshi KS, Trefler RJ (2015b) Loop freedom in aodvv2. In: Graf S, Viswanathan M (eds) Formal techniques for distributed objects, components, and systems, volume 9039 of LNCS. Springer, Cham, pp 98–112Google Scholar
  38. PB99.
    Perkins CE, Belding-Royer EM (1999) Ad-hoc on-demand distance vector routing. In: 2nd workshop on mobile computing systems and applications. IEEE Computer Society, Washington, DC, pp 90–100Google Scholar
  39. PBPR13.
    Pohjola JÅ, Borgström J, Parrow J, Raabjerg P (2013) Negative premises in applied process calculi. Technical report, Department of Information Technology, Uppsala UniversityGoogle Scholar
  40. Pen08.
    Peng J (2008) A new arq scheme for reliable broadcasting in wireless lans. IEEE Commun Lett 12(2): 146–148CrossRefGoogle Scholar
  41. Plo81.
    Plotkin GD (1981) A structural approach to operational semantics. Technical Report DAIMI FN-19, University of AarhusGoogle Scholar
  42. PXZ02.
    Pnueli A, Xu J, Zuck LD (2002) Liveness with (0, 1, infty)-counter abstraction. In: 14th international conference on computer aided verification, CAV ’02, Springer, pp 107–122Google Scholar
  43. RSA+14.
    Reynisson AH, Sirjani M, Aceto L, Cimini M, Jafari A, Ingólfsdóttir A, Sigurdarson SH (2014) Modelling and simulation of asynchronous real-time systems using Timed Rebeca. Sci Comput Program 89:41–68Google Scholar
  44. SJ11.
    Sirjani M, Jaghoori MM (2011) Ten years of analyzing actors: Rebeca experience. In: Agha G, Meseguer J, Danvy O (eds) Formal modeling: actors, open systems, biological systems. Springer, Berlin, pp 20–56Google Scholar
  45. SK13.
    Sabouri H, Khosravi R (2013) Delta modeling and model checking of product families. In: Arbab F, Sirjani M (eds) Fundamentals of software engineering. Springer, Berlin, pp 51–65Google Scholar
  46. SL04.
    Si W, Li C (2004) RMAC: A reliable multicast MAC protocol for wireless ad hoc networks. In: 33rd international conference on parallel processing (ICPP 2004). IEEE Computer Society, pp 494–501Google Scholar
  47. SMSdB04.
    Sirjani M, Movaghar A, Shali A, de Boer FS (2004) Modeling and verification of reactive systems using Rebeca. Fundam Inform 63(4): 385–410MATHMathSciNetGoogle Scholar
  48. SRS10.
    Singh A, Ramakrishnan CR, Smolka SA (2010) A process calculus for mobile ad hoc networks. Sci Comput Program 75(6): 440–469CrossRefMATHMathSciNetGoogle Scholar
  49. SS10.
    Sabouri H, Sirjani M (2010) Slicing-based reductions for rebeca. Electr Notes Theor Comput Sci 260: 209–224CrossRefMATHGoogle Scholar
  50. SWJ08.
    Saksena M, Wibling O, Jonsson B (2008) Graph grammar modeling and verification of ad hoc routing protocols. In: 14th international conference on tools and algorithms for the construction and analysis of systems, volume 4963 of LNCS. Springer, pp 18–32Google Scholar
  51. vGHPT16.
    van Glabbeek RJ, Höfner P, Portmann M, Tan WL (2016) Modelling and verifying the AODV routing protocol. Distrib Comput 29(4): 279–315CrossRefMATHMathSciNetGoogle Scholar
  52. vGW96.
    van Glabbeek R, Weijland WP (1996) Branching time and abstraction in bisimulation semantics. J ACM 43(3): 555–600CrossRefMATHMathSciNetGoogle Scholar
  53. VK12.
    Varshosaz M, Khosravi R (2012) Modeling and verification of probabilistic actor systems using pRebeca. In: Aoki T, Taguchi K (eds) Formal methods and software engineering. Springer, Berlin, pp 135–150Google Scholar
  54. WPP04.
    Wibling O, Parrow J, Pears A (2004) Automatized verification of ad hoc routing protocols. In: de Frutos-Escrig D, Núñez M (eds) Formal techniques for networked and distributed systems, volume 3235 of LNCS. Springer, Berlin, pp 343–358Google Scholar
  55. WPP05.
    Wibling O, Parrow J, Pears A (2005) Ad hoc routing protocol verification through broadcast abstraction. In: Wang F (ed) Formal techniques for networked and distributed systems-FORTE 2005. Springer, Berlin, pp 128–142Google Scholar
  56. YGK15.
    Yousefi B, Ghassemi F, Khosravi R (2015) Modeling and efficient verification of broadcasting actors. In: In pre-proceeding of 6th IPM international conference on fundamentals of software engineering, pp 114–128Google Scholar

Copyright information

© British Computer Society 2017

Authors and Affiliations

  • Behnaz Yousefi
    • 1
  • Fatemeh Ghassemi
    • 1
  • Ramtin Khosravi
    • 1
  1. 1.School of Electrical and Computer EngineeringUniversity of TehranTehranIran

Personalised recommendations