Source: https://researchrepository.murdoch.edu.au/id/eprint/9798/
Timestamp: 2019-04-22 14:00:21+00:00

Document:
In the past few years significant progress has been made in the design and implementation of reflective middleware platforms—i.e., platforms that, through reflection, can be flexibly configured, and run-time adapted/ reconfigured, especially in terms of non-functional properties like timeliness, resourcing, transactional behaviour, and security. Recently, we have initiated a project that investigates applying our previous reflective middleware work to the demanding and novel—for reflective middleware—area of programmable networking environments. In general, these environments offer the capability to inject code into network nodes so that their forwarding behaviour can be tailored on behalf of individual organisations, applications, or users. The fact that programmable networking software operates in a complex, Multilanguage and OS, environment and has strong requirements for dynamic deployment, 24x7 operation, managed software evolution, high performance, QoS/ resource management, adaptivity and security, makes it an ideal testing ground for the reflective middleware approach [Schmid,02].
In this position paper we outline salient characteristics of programmable networking environments and discuss how our particular reflective middleware approach, which employs a component-based architecture as one of its central tenets, offers the potential for more deployable, more flexible, and more evolvable programmable networking infrastructures. The remainder of the paper is structured as follows. First, §2 briefly surveys our previous work on reflective middleware, and §3 briefly characterises programmable networking environments. Next, §4 outlines our approach, and §5 discusses our progress to date. Finally, §6 analyses related work (in programmable networking, in component-based systems, and in reflective middleware), and §7 presents our conclusions and indicates areas of planned future work.

References: §2
 §3
 §4
 §5
 §6
 §7