Using tool abstraction to compose systems

The tool abstraction paradigm, which supports the evolution of large-scale software systems by easing design changes in the system functions, is discussed. Systems that support tool abstraction are structured as a pool of abstract data structures shared by a collection of cooperating 'toolies', where each toolie provides a piece of the overall system function. When one toolie updates the shared data, other toolies must be notified: otherwise, cooperating-but-independent toolies may not execute, and the overall system function may be compromised. The KWIC (key word in context) index production system is used to illustrate the idea of tool abstraction. The relationship of tool abstraction to other concepts is examined.<<ETX>>

[1]  David Notkin,et al.  Gandalf: Software development environments , 1986, IEEE Transactions on Software Engineering.

[2]  David B. Leblang,et al.  Computer-Aided Software Engineering in a distributed workstation environment , 1984 .

[3]  Richard T. Snodgrass,et al.  Supporting Flexible and Efficient Tool Integration , 1986, Advanced Programming Environments.

[4]  David S. Wile,et al.  Worlds: an organizing structure for object-bases , 1987, SDE 2.

[5]  E. B. Swanson,et al.  Software maintenance management , 1980 .

[6]  Gul A. Agha,et al.  Concurrent object-oriented programming , 1993, CACM.

[7]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

[8]  William Harrison RPDE3: A Framework for Integrating Tool Fragments , 1987, IEEE Software.

[9]  Abraham Silberschatz,et al.  Database System Concepts , 1980 .

[10]  David Garlan Extending IDL to support concurrent views , 1987, SIGP.

[11]  A. Nico Habermann,et al.  Modularization and hierarchy in a family of operating systems , 1976, CACM.

[12]  Michael Stonebraker,et al.  The POSTGRES Rule Manager , 1988, IEEE Trans. Software Eng..

[13]  Bennet P. Lientz,et al.  Software Maintenance Management: A Study of the Maintenance of Computer Application Software in 487 Data Processing Organizations , 1980 .

[14]  David Garlan,et al.  Melding Software Systems from Reusable Building Blocks , 1987, IEEE Software.

[15]  David Notkin,et al.  Reconciling environment integration and component independence , 1990 .

[16]  Victor R. Lesser,et al.  The Hearsay-II Speech-Understanding System: Integrating Knowledge to Resolve Uncertainty , 1980, CSUR.

[17]  Thomas W. Reps,et al.  Language Processing in Program Editors , 1987, Computer.

[18]  Adele Goldberg,et al.  Smalltalk-80 - the interactive programming environment , 1984 .

[19]  Daniel M. Yellin,et al.  INC: a language for incremental computations , 1988, PLDI '88.

[20]  Thomas W. Reps,et al.  Generating Language-Based Environments , 1982 .

[21]  Stephen Travis Pope,et al.  A cookbook for using the model-view controller user interface paradigm in Smalltalk-80 , 1988 .

[22]  Gail E. Kaiser,et al.  Intelligent assistance for software development and maintenance , 1988, IEEE Software.

[23]  Robert Balzer,et al.  A 15 Year Perspective on Automatic Programming , 1985, IEEE Transactions on Software Engineering.

[24]  Frederick P. Brooks,et al.  No Silver Bullet: Essence and Accidents of Software Engineering , 1987 .

[25]  Daniel G. Bobrow,et al.  Integrating Access-Oriented Programming into a Multiparadigm Environment , 1986, IEEE Software.