Generating smart wrapper libraries for arbitrary APIs

  • Authors:
  • Uwe Jugel

  • Affiliations:
  • SAP Research Center Dresden, Dresden, Germany

  • Venue:
  • SLE'09 Proceedings of the Second international conference on Software Language Engineering
  • Year:
  • 2009

Quantified Score

Hi-index 0.01

Visualization

Abstract

“Library design is language design” [1]. The development of a smart program library is very similar to the creation of a domain specific language (DSL). Both are currently created in an ad-hoc manner, taking account of best practices and software patterns. Creating new languages and the tools needed to integrate them can be very cumbersome. We propose a reproducible, model-driven methodology to add automation to the DSL-creation process. Our novel approach presents an easy way to design and generate smart, API-wrapping libraries, similar to internal DSLs. These libraries increase the usability of an existing API and can be easily integrated into existing software development tool chains. To generate these DSLs, we propose an enhanced code generation that applies usability-enhancing software patterns. Our current generator leverages the Expression Builder pattern, which is described in detail. We validate our methodology and our enhanced code generation by applying it to Java APIs resulting in smart Java libraries that we call “dotLings”.