File(s) not publicly available
SafetyNet: a language-based approach to programmable networks
journal contribution
posted on 2023-06-08, 07:11 authored by Ian WakemanIan Wakeman, Alan Jeffrey, Tim Owen, Damyan PepperIt 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.
History
Publication status
- Published
Journal
Computer Networks and ISDN SystemsISSN
1389-1286External DOI
Issue
1Volume
36Page range
101-114Pages
14.0Department affiliated with
- Informatics Publications
Notes
Originality: Along with similar work from University of Pennsylvania, showed how modern type systems could help create safer programming languages for networked applications, allowing third parties to analyse behaviour before running the application. Rigour: This is a report on the motivation and engineering of the language and system, and details the design, implementation and testing of the language and associated run-time systems. The type system provide the basis for a new theory of concurrent object systems. Significance: Demonstrated the practicality of using modern type theory to design domain specific languages for networking. Impact: Google scholar=36 (including preprint citations, since the title changed)Full text available
- No
Peer reviewed?
- Yes
Legacy Posted Date
2012-02-06Usage metrics
Categories
No categories selectedKeywords
Licence
Exports
RefWorks
BibTeX
Ref. manager
Endnote
DataCite
NLM
DC