A Scalable Approach to Software Libraries

Jeff Thomas, Don Batory, Vivek Singhal, and Marty Sirkin
Department of Computer Sciences
The University of Texas at Austin
Austin, Texas 78712
Tel: (512) 471-9711/9713
Email: {jthomas,batory,singhal,marty}@cs.utexas.edu

Abstract:

Software libraries offer a convenient and accessible means to achieve the benefits of reuse. The components of these libraries are written by hand, and each represents a unique combination of features that distinguishes it from other components. Unfortunately, as the number of features grows, the size of these libraries grows exponentially, making them unscalable.

Predator is a research project to develop abstractions and tools to provide the benefits of software libraries without incurring the scalability disadvantages just mentioned. Our approach relies on a careful analysis of an application domain to arrive at appropriate high-level abstractions, standardized (i.e., plug-compatible) interfaces, and layered decompositions. Predator provides language extensions for implementing components, and compilers to automatically convert component compositions into efficient programs.



Keywords: Predator, GenVoca, domain analysis, containers, software libraries, software reuse, compositional reuse, generative reuse, feature combinatorics.



Workshop Goals: feedback on our work; exposure to other important work in software reuse.



Working Groups: reuse process models; reuse terminology standards; domain analysis / engineering; design guidelines for reuse–general, Ada, and C++; reuse and OO methods; tools and environments.