next up previous


Adaptive Software: 93/94 Research Report
Karl Lieberherr

Introduction

The research group of Prof. Lieberherr, known as the Demeter team, is working on a new technique to develop a new kind of software, called adaptive software.

Definition of \fbox {\bf Adaptive software}
: A program is called adaptive if it changes its behavior according to its context.

This is a high level definition which has to be taken with a grain of salt. Different kinds of adaptiveness can be achieved depending on what we view as context. We have focussed on data structures or class structures or data models to be context. Instead of viewing a data structure as an integral part of an algorithm (as is done traditionally), we view it as context which can be changed significantly without modifying the program. A number of other artifacts can be viewed as context to a program. For example, we could view the inputs to a program as being context. Then every program becomes adaptive. Other, more interesting contexts would be:

How can we achieve adaptiveness? A generic mechanism to achieve adaptiveness is to use collaborating views which are loosely coupled.

Adaptive software, as currently implemented, is specified by complementary, collaborating views, each one addressing a different concern of the application (structure and behavior). The main goal of adaptive programming is to minimize dependencies between the complementary views, so that a large class of modifications in one view has a minimum impact on the other views. The complementary views approach has the advantage that programs become more flexible, understandable and shorter, without loss of run-time efficiency.

One aspect which has been well studied recently is to treat class structures as context. In this context, an adaptive program, instead of being written for a specific data model, is written for a generic data model restricted by a set of structural constraints.

The work of the Demeter Team opens a new research field on adaptive software. The Team has bearly scratched the surface of this field with the publications below. This research is particularly exciting since it might change the direction of the software industry.

Publications of the Demeter Team

1.
Paul Bergstein, ``Managing the Evolution of Object-Oriented Systems'', Ph.D. thesis 1994.
2.
Ignacio Silva-Lepe, ``Techniques for Reverse-Engineering and Re-engineering into the Object-Oriented Paradigm'', Ph.D. thesis 1994.

3.
Cun Xiao, ``Adaptive Software: Automatic Navigation Through Partially Specified Data Structures'', Ph.D. thesis 1994.

4.
Karl J. Lieberherr and Cun Xiao, ``Customizing Adaptive Software to Object-Oriented Software Using Grammars'', International Journal of Foundations of Computer Science, accepted for publication Sep. 1994, World Scientific Publishing Company.

5.
Ling Liu and Roberto Zicari and Walter Hürsch and Karl Lieberherr, ``Polymorphic Reuse Mechanisms for Object-Oriented Database Specifications'', International Conference on Data Engineering, Houston, Texas, IEEE, 1993.

6.
Linda Keszenheimer, ``Utilizing Behavioral Abstractions to Facilitate Maintenance during Class Evolution'', Proceedings of the 6th Conference on Advanced Information Systems Engineering, Utrecht, Netherlands, June 1994, Springer Verlag Lecture Notes in Computer Science.
7.
Cristina Videira Lopes and Karl Lieberherr, ``Abstracting Process-to-Function Relations in Concurrent Object-Oriented Applications'', European Conference on Object-Oriented Programming, Bologna, Italy, July 1994, Springer Verlag Lecture Notes in Computer Science, editors Remo Pareschi and Mario Tokoro.

8.
Walter L. Hürsch, ``Should Superclasses be Abstract?'', European Conference on Object-Oriented Programming", Bologna, Italy, July 1994, Springer Verlag Lecture Notes in Computer Science, editors Remo Pareschi and Mario Tokoro.

9.
Ignacio Silva-Lepe, ``Abstracting Graph-Based Specifications of Object-Oriented Programs'', ACM Computer Science Conference, Symposium on Applied Computing, Feb. 1994, Phoenix, Arizona, ACM Press.

10.
Linda Keszenheimer, ``Specifying and Adapting Object Behavior During System Evolution'', Conference on Software Maintenance, pages 254-261 Montreal, Canada, September 1993, IEEE Press.

11.
Ignacio Silva-Lepe, ``An Empirical Method for Identifying Objects and their Responsibilities in a Procedural Program'', TOOLS Europe, Technology of Object-Oriented Languages and Systems, Versailles, France, 1993, pages 136-149, Prentice Hall.

12.
Ignacio Silva-Lepe, ``A Model for Migrating Procedural Programs into Object-Oriented Programs'', TOOLS Pacific, Technology of Object-Oriented Languages and Systems, Melbourne, Australia, 1993, Prentice Hall.

13.
Paul Bergstein and Walter Hürsch, ``Maintaining Behavioral Consistency during Schema Evolution'', International Symposium on Object Technologies for Advanced Software, pages 176-193, Kanazawa, Japan, Springer Verlag, 1993.

14.
Karl J. Lieberherr and Cun Xiao, ``Formal foundations for object-oriented data modeling'', IEEE Transactions on Knowledge and Data Engineering, 1993, Vol. 5, No. 3, pages 462-478, June 1993.

15.
Walter Hürsch, Karl J. Lieberherr and Cun Xiao, ``Object-Extending Class Transformations'', Formal Aspects of Computing, July 1994, Springer Verlag.

16.
Karl J. Lieberherr and Cun Xiao, ``Evolution of object-oriented software'', IEEE Transactions on Software Engineering, Vol. 19, No. 4, pages 313-343, April 1993.

17.
Walter Hürsch, Karl J. Lieberherr and Sougata Mukherjea ``Object-Oriented Schema Extension and Abstraction'', ACM Computer Science Conference, Symposium on Applied Computing, Feb. 1993, Indianapolis, Indiana, ACM Press.

18.
Karl J. Lieberherr and Cun Xiao, ``Minimizing Dependency on Class Structures with Adaptive Programs'', International Symposium on Object Technologies for Advanced Software, Kanazawa, Japan, Springer Verlag, 1993.

19.
Karl J. Lieberherr, Ignacio Silva-Lepe and Cun Xiao, ``Adaptive Object-Oriented Programming using Graph-Based Customization'', Communications of the ACM, Vol. 37, No. 5, pages 94-101, May 1994.

20.
Karl J. Lieberherr, ``The Art of Growing Adaptive Object-Oriented Software'', Book to be published by PWS Publishing Company, 1995, 550 pages.

21.
Ignacio Silva-Lepe, Walter Hürsch and Greg Sullivan, ``A Demeter/C++ Report'', C++ Report, SIGS Publications, February 1994.

Demeter Team Presentations

1.
Karl J. Lieberherr and Cun Xiao, ``Minimizing Dependency on Class Structures with Adaptive Programs'', International Symposium on Object Technologies for Advanced Software, Kanazawa, Japan, Springer Verlag, 1993 [Given by Walter Hürsch].
2.
Walter Hürsch, Karl J. Lieberherr and Cun Xiao ``Object-Oriented Schema Extension and Abstraction'', ACM Computer Science Conference, Symposium on Applied Computing, Feb. 1993, Indianapolis, Indiana, ACM Press, [Given by Walter Hürsch].

3.
Linda Keszenheimer, ``Specifying and Adapting Object Behavior During System Evolution'', Conference on Software Maintenance, Montreal, Canada, September 1993, IEEE Press.

4.
Ignacio Silva-Lepe, ``An Empirical Method for Identifying Objects and their Responsibilities in a Procedural Program'', TOOLS Europe, Technology of Object-Oriented Languages and Systems, Versailles, France, 1993, Prentice Hall.

5.
Ignacio Silva-Lepe, ``A Model for Migrating Procedural Programs into Object-Oriented Programs'', TOOLS Pacific, Technology of Object-Oriented Languages and Systems, Melbourne, Australia, 1993, Prentice Hall.

6.
Paul Bergstein and Walter Hürsch, ``Maintaining Behavioral Consistency during Schema Evolution'', International Symposium on Object Technologies for Advanced Software, Kanazawa, Japan, Springer Verlag, 1993, [Given by Walter Hürsch].

7.
Karl J. Lieberherr, Cristina Lopes, Walter Huersch, Tutorial presentation on Adaptive Software at ECOOP '94 (half-day).

8.
Karl J. Lieberherr, invited one hour presentation at Object World Germany, Sept. 1994.

9.
Karl J. Lieberherr, invited one hour presentation at CRIM, Montreal, Sept. 1994.

10.
Professor Lieberherr gave presentations on adaptive software at the following companies:

CIBA Geigy, Basel, Switzerland
Kent State University, Cleveland, OH
Raytheon, Bedford, MA.

11.
Karl J. Lieberherr, Invited presentation at LogOn Technology Transfer Symposium on Object-Oriented Software, Frankfurt, April 1993.

12.
Karl J. Lieberherr, invited participation at the ARPA principal investigator workshop on software composition, Charleston, SC, May 1994.

13.
Karl J. Lieberherr, invited presentation at the RICOT Symposium in the Netherlands, June 1994.

Technical Reports

New grants

Access

email: lieberherr@CCS.neu.EDU

Karl Lieberherr
College of Computer Science                   ftp: ftp.ccs.neu.edu
Cullinane Hall                                  pub/people/lieber
Boston, MA 02115-9959                           pub/research/demeter
--------------------------------------------------------
World-Wide Web: Type the command:
xmosaic http://www.ccs.neu.edu/home/lieber   
--------------------------------------------------------
To learn more on adaptive software, send the message 
subscribe adaptive
to majordomo@ccs.neu.edu
---
Regarding the John Wiley journal "Theory and Practice of Object Systems"
of which I am the editor in chief with Roberto Zicari, send the message
subscribe tapos
to majordomo@ccs.neu.edu

About this document ...

This document was generated using the LaTeX2HTML translator Version 97.1 (release) (July 13th, 1997)

Copyright © 1993, 1994, 1995, 1996, 1997, Nikos Drakos, Computer Based Learning Unit, University of Leeds.

The command line arguments were:
latex2html -split 2 93-94-report.tex.

The translation was initiated by Karl Lieberherr on 10/29/1998


Subsections
next up previous
Karl Lieberherr
10/29/1998