Den här sidan är utskriven från Högskolan i Halmstads webbplats (www.hh.se). Texten uppdaterades senast den 2018-05-24. Besök webbplatsen om du vill vara säker på att läsa den senaste versionen.
Our project aims at providing software tools that support the implementation of efficient protocol stacks. We find the need for such tools in the fact that many companies are re-implementing well-known infrastructure protocols as well as implementing new application protocols. There are many well known techniques to do a good job in these implementations in order to avoid a number of bottlenecks. However, these techniques, that come from a number of disciplines, are not always easy to understand or to implement. Tools that automate the use of these techniques are a way of providing infrastructure that makes these techniques more available for new applications.
Our method is to start by providing a programming language with specialized constructs for programming protocol stacks. In this way we hope that we can offer a means to organize protocol stacks by composing layers, in the style of their specifications or reference implementations. At the same time, we can apply compiler techniques and program transformations to achieve efficient implementations that otherwise require the implementation of a monolithic protocol stack. The language we envision will provide constructions for typical services, like demultiplexing and timers, that are involved in the implementation of stacks. The language will then be used as a kernel around which we build more tools for analysis, simulation, testing, profiling and verification.