L4Ka Project

IDL4 Compiler

IDL4 is a stub-code generator for the L4 platform. It generates communication stubs from interface definitions written in a specification language such as CORBA IDL or DCE IDL. It also uses knowledge about the hardware platform and the microkernel to optimize the performance of the generated code.

Features

  • Supports CORBA IDL (recommended) and DCE IDL
  • Backends available for Pistachio, Hazelnut and Fiasco
  • Small component-based OS included as example code
  • Client stubs use CORBA C language mapping
  • Type import from C/C++ code
  • Modular design; easily extensible

What's new (November 10, 2003)

The 1.0.0 release adds support for reply stubs, which can be used to postpone processing of a request in the server, and to send the reply at a later time. Also, IDL4 now understands implicit handles, i.e. data types that contain the ID of the server thread at an arbitrary location.

The new 1.0.2 beta fixes some issues with Pistachio 0.3.

Publications

Using Platform-Specific Optimizations in Stub-Code Generation
Andreas Haeberlen
Study Thesis, System Architecture Group, University of Karlsruhe, July, 2002
Abstract: The use of a stub code generator can greatly reduce the effort required to implement a multi-server system on top of a microkernel. However, stub code has traditionally been highly generic and therefore rather slow, which has prevented it from being used in performance-critical applications. In this work, we show that this restriction can be eliminated by specialization for the underlying platform.
  [pdf]
IDL4 User Manual
Andreas Haeberlen
System Architecture Group, University of Karlsruhe, April, 2003
  [pdf]
Stub-Code Performance is Becoming Important
Andreas Haeberlen, Jochen Liedtke, Yoonho Park, Lars Reuther, and Volkmar Uhlig
Proceedings of the 1st Workshop on Industrial Experiences with Systems Software (WIESS), San Diego, CA, October 2000
  [pdf]