marina@ai.toronto.edu (Marina Haloulos) (12/07/89)
Department of Computer Science, University of Toronto (GB = Gailbraith Building, 35 St. George Street) ------------------------------------------------------------- ARTIFICIAL INTELLIGENCE SEMINAR GB119, at 11:00 a.m., Thursday 14 December 1989 Dr. Robert Balzer USC/ISI "Program Evolution" While it is well known that between 70 to 90% of total system cost occurs after release, and that nearly half of this is for adding new functionality, relatively little attention or support has focused on this activity. We conjecture that much of this activity can be viewed as applying general evolution idioms and that it could, therefore, be significantly aided by transformation based tools which performed the structured set of edits necessary to effect the desired change. This talk reports on a case study of program evolution in which we identified three broad areas of evolution that occurred: growth of terminology, growth of semantic constraints, and (intra-system) reuse. For each area, we categorize several sub-classes, cite specific examples, and discuss our ability to isolate the necessary changes within the application's declarative domain model rather than within its operational portion. We also describe a few implemented transformation tools which automate particular sub-classes. Contrary to the popular experience of having the system's initial structure gradually dissipated by ad-hoc maintenance modifications, we noticed that much of the evolution involved structure building. In fact, the proportion of declarative information dramatically increased during the system's maintenance. Such increased declarative structure is especially important because it not only simplifies understanding and further evolution of the system, but also facilitates the automated support of that evolution.