A language-based approach to programmable networks

I. Wakeman, A. Jeffrey, T. Owen
2000 IEEE Third Conference on Open Architectures and Network Programming. Proceedings (Cat. No.00EX401)  
It appears that some degree of programmability is inevitable within the network, whether it be through active networks, active services, or programmable middleware. We argue that programming network elements with languages designed for use within a single machine is inappropriate, since the only defense for the shared resource of the network is through the use of sandboxes, which are prone to performance problems and are difficult to implement correctly. Instead, we believe that new languages
more » ... hat new languages should be designed for programmable networks, using type systems that ensure safe programs, and encourages correct programs. We have designed and provided the full semantics for such a language. Building upon this, we have implemented a compiler, runtime environment and a simulation environment for our language. In this paper we describe the major features of the language that protect the network: abstracted locations; located objects; volatile routing; thread and class loading; and enforced resource counting. We show how these features are used in a number of small case studies, and in implementing optimised communication libraries. The ease with which these demonstrations have been built and debugged shows the potential for enforcing network programming models with well-typed languages.
doi:10.1109/opnarc.2000.828140 fatcat:3lgqldm5cjhofdehuatt3tqrla