Exploiting Existing Software in Libraries: Successes, Failures, and Reasons Why
SVM HeaderParse 0.1
user correction - Legacy Corrections
The PETSc (Portable Extensible Tools for Scientific computing) library arose from research into domain decomposition methods which require combining many different solutions in a single application. The initial efforts tried to use existing numerical software but had limited success. The problems include everything from faulty assumptions about the computing environment (e.g., how many processes there are) to implicit (yet deadly) global state. More recently, PETSc and PVODE have found a way to cooperate, and new techniques that exploit dynamically linked libraries offer a more general approach to interoperable components. The paper highlights some of the issues in building sharable component software and discussing mistakes still often made in designing, maintaining, documenting, and testing components.