A Language-Based Approach to Programmable Networks.

Wakeman, Ian, Jeffrey, Alan and Owen, Tim (2001) A Language-Based Approach to Programmable Networks. In: IEEE Conference on Open Architectures and Network Programming, 26-27 March, 2000., Tel-Aviv Israel.

Full text not available from this repository.


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 should be designed for programmable networks, using type systems that ensure safe programs, and encourage correct programs. We have designed and provided the full semantics for such a language, SafetyNet. Building upon this, we have implemented a compiler, run time 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. We describe the implications of the language design for the implementation of the run time support environment. The ease with which these demonstrations have been built and debugged shows the potential for enforcing network programming models with well-typed languages. (C) 2001 Elsevier Science B,V, All rights reserved.

Item Type: Conference or Workshop Item (Paper)
Schools and Departments: School of Engineering and Informatics > Informatics
Depositing User: Ian Wakeman
Date Deposited: 06 Feb 2012 18:17
Last Modified: 12 Apr 2012 08:41
URI: http://sro.sussex.ac.uk/id/eprint/15647
📧 Request an update