Upcall dispatcher aspects: combining modularity with efficiency in the CiAO IP stack

  • Authors:
  • Jochen Streicher;Christoph Borchert;Olaf Spinczyk

  • Affiliations:
  • Technische Universität Dortmund;Technische Universität Dortmund;Technische Universität Dortmund

  • Venue:
  • Proceedings of the 1st workshop on Modularity in systems software
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Network protocol stacks are an important ingredient of today's infrastructure software. For instance, all state-of-theart operating systems for PCs and the server market come with a TCP/IP stack. The design of protocol stacks and their layered structure has been studied for decades. However, in practice, implementations often do not follow the clean textbook design consequently. This especially holds for the domain of embedded TCP/IP stacks where minimal resource consumption is crucial. In this work we present an analysis that explains the reason for this dilemma. We have also developed a very simple solution that is based on common aspect-oriented programming language features: Upcall Dispatcher Aspects. In a case study this concept has been repeatedly applied as an AspectC++ idiom in the implementation of the CiAO TCP/IP stack, which we compared to several traditional implementations. Besides reecting a clean design at the implementation level, our protocol stack, which mainly targets the domain of resource-constrained embedded systems, even outperforms the other solutions with respect to resource consumption and various "-ilities"