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.