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.