[ont.events] Dr. Robert Balzer, Thursday 14 December 1989: ARTIFICIAL INTELLIGENCE

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.