marina@ai.toronto.edu (Marina Haloulos) (11/20/89)
Department of Computer Science, University of Toronto
(SF = Sandford Fleming Building, 10 King's College Road)
-------------------------------------------------------------
ARTIFICIAL INTELLIGENCE SEMINAR
SF3201, at 11:00 a.m., Monday 27 November 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.