@MISC{Oliphant_departmentof, author = {Iain Oliphant and Lilybank Gardens}, title = {Department of Computing Science, University of Glasgow,}, year = {} }
Share
OpenURL
Abstract
Network protocols are often implemented in languages such as C which provide high efficiency but are difficult to maintain or extend. This project aims to show that by using a high-level language to develop a network protocol an implementation is more readable and modular and therefore is more maintainable and easier to extend. To demonstrate this an implementation of the Transmission Control Protocol (TCP) has been created in the high-level language Scala. TCP is a highly complex transport level protocol that is generally implemented in C inside operating system kernels. Scala is a relatively new programming language which allows programmers to code in either the functional or object-oriented style, or a combination of the two. The implementation relies heavily on the Actors model of concurrency, that Scala provides, to create a highly concurrent TCP. Scala offers a rich type system which has been utilised to represent the structures of TCP in a more accessible way and in a manner that provides encapsulation at each layer, improving the overall understandability of the system. This implementation is compared with the existing Linux and FreeBSD implementations