The field of software architecture continues to grow in acceptance and importance. However, this burgeoning discipline has thus far lacked an authoritative treatment that helps its practitioners gain valuable perspective and a thorough understanding of th