Software Components for Application Development. - Arnaud Desitter; Antoine Le Hyaric; Geoff Morgan; Gareth Shaw; Anne E. Trefethen (The Architecture of Scientific Software, 2000)