Problem seeking an architectural programming primer - Pena, William (Wiley, 2001)