Reo is a compositional coordination language for component connectors with a formal semantics based on automata. In this paper, we propose a formal model of software defined networks (SDNs) based on Reo where declarative constructs comprising of basic Reo primitives compose to specify descriptive models of both data and control planes of SDNs. We first describe the model of an SDN switch which can be compactly represented as a single state constraint automaton with a memory storing its flow table. A full network can then be compositionally constructed by composing the switches with basic communication channels. The reactive and proactive behaviour of the controllers in the control plane of an SDN can also be modelled by Reo connectors, which can compose the connectors representing data plane. The resulting model is suitable for testing, simulation, visualization, verification, and ultimately compilation into SDN switch code using the standard tools already available for Reo.

Additional Metadata
Keywords Component composition, Constraint automata, Coordination, Formal model, Reo, Software defined networks
Persistent URL dx.doi.org/10.1007/978-3-030-32409-4_5
Series Lecture Notes in Computer Science/Lecture Notes in Artificial Intelligence
Conference International Conference on Formal Engineering Methods
Citation
Feng, H, Arbab, F, & Bonsangue, M.M. (2019). A Reo model of Software Defined Networks. In Formal Methods and Software Engineering (pp. 69–85). doi:10.1007/978-3-030-32409-4_5