Software architecture: a travelogue
architectural mismatch : why reuse is so hard .