This project investigates problems of maintaining large- scale information systems. It has been observed that maintenance efforts are hindered because much of the richness of the design process, namely the process knowledge, is lost in the course of designing large systems, and a major component of process knowledge ignored by current methods is knowledge about the teleology of design decisions. The purpose of this research is to articulate more precisely an underlying theory of design and maintenance that takes cognizance of the teleological structure of information systems.