An algorithm component is an implementation of an algorithm which is not intended to be a stand--alone module, but to perform a specific task within a large software package or even within several distinct software packages. Hence, the design of algorithm components must also incorporate software--engineering aspects. A key design goal is adaptability. This goal is important for maintenance throughout a project, prototypical development, and reuse in new, unforeseen contexts.
This paper is about various methods for creating generic alorithmic components. This is a survey paper, which may be useful as a starting point for thinking about the issues involved.
Many examples are are based on graph algorithms as implemented in the LEDA C++ library (starting February 1st, 2001, Algorithmic Solutions Software GmbH became the sole distributor of LEDA.)
The discussion of various iteration schemes on grpahs may be useful in itself.
Posted to Software-Eng by Ehud Lamm on 7/28/01; 7:06:09 AM
|
|