Building Reliable Component-Based Software Systems - Crnkovic (IEEE, 2002)