By James Ivers , Paul C. Clements , David Garlan , Robert Nord , Bradley Schmerl , Oviedo Silva (Carnegie Mellon School of Computer Science)