Modelling Link State Routing in Event-B

In this paper we present a stepwise formal development of the Optimised Link State Routing (OLSR) protocol in Event-B. OLSR is a proactive routing protocol which finds routes for different destinations in advance by exchanging control messages through the network. As a consequence, whenever a data packet is injected into the network can be delivered to a certain destination immediately. To achieve this, routing tables in OLSR are continuously updated, by following a rather complicated algorithm. By modelling OLSR in Event-B, we address the scalability problem of our previous work [1], and structure the OLSR complexity in five distinct abstraction layers. These layers are manageable to understand and to verify and are linked to each other by refinement. As Event-B is supported by a theorem proving platform (Rodin), we model and prove functional properties of OLSR in an automated and interactive manner, at a highly general level. Our approach can serve as a proof-of-concept to be adapted to modelling and verifying of the other routing protocols for large-scale networks.

[1]  Philippe Jacquet,et al.  Optimized Link State Routing Protocol (OLSR) , 2003, RFC.

[2]  Maryam Kamali,et al.  Formal Analysis of Proactive, Distributed Routing , 2015, SEFM.

[3]  Michael J. Butler,et al.  Practical Theory Extension in Event-B , 2013, Theories of Programming and Formal Methods.

[4]  Huibiao Zhu,et al.  Formalizing Hybrid Systems with Event-B , 2012, ABZ.

[5]  Shengchao Qin,et al.  Core Hybrid Event-B I: Single Hybrid Event-B machines , 2015, Sci. Comput. Program..

[6]  Luigia Petre,et al.  Improved Recovery for Proactive, Distributed Routing , 2015, 2015 20th International Conference on Engineering of Complex Computer Systems (ICECCS).

[7]  Jean-Raymond Abrial,et al.  Modeling in event-b - system and software engineering by Jean-Raymond Abrial , 2010, SOEN.