Views for tools in integrated environments

  • David Garlan
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 244)


This paper addresses the problem of building tools for integrated programming environments. Integrated environments have the desirable property that the tools in it can share a database of common structures. But they have the undesirable property that these tools are hard to build because typically a single representation of the database must serve all tools. The solution proposed in this work allows tools to maintain appropriate representations or "views" of the objects they manipulate while retaining the benefits of shared access to common structures. We illustrate the approach with two examples of tools for an environment for programming-in-the-large, and outline current work in progress on efficient implementations of these ideas.


Static View Memory Manager Attribute Equation Tool Integration Semantic View 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [Ambriola 84]
    Vincenzo Ambriola, Gail E. Kaiser, and Robert J. Ellison. An Action Routine Model for ALOE. Technical Report CMU-CS-84-156, Carnegie-Mellon University, Computer Science Department, August, 1984.Google Scholar
  2. [Balzer 85]
    Robert Balzer. A 15 Year Perspective on Automatic Programming. IEEE Transactions on Software Engineering SE-11(11), November, 1985.Google Scholar
  3. [Bobrow 85]
    D.G. Bobrow, K. Kahn, G. Kiczales, L. Masinter, M. Stefik, & F. Zdybel. CommonLoops: Merging Common Lisp and Object-oriented programming. Technical Report ISL-85-8, Xerox PARC: Intelligent Systems Laboratory, August, 1985.Google Scholar
  4. [Burstall 77]
    R.M. Burstall and J.A. Goguen. Putting Theories Together To Make Specifications. In Fifth International Joint Conference on Artificial Intelligence, pages 1045–1058. Cambridge, MA, 1977.Google Scholar
  5. [Chamberlin 75]
    D. D. Chamberlin, J. N. Gray, I. L. Traiger. Views, authorization, and locking in a relational data base system. In AFIPS Conference Proceedings, pages 425–430. AFIPS, 1975. NCC 1975, Anaheim, CA.Google Scholar
  6. [DeRemer 76]
    Frank DeRemer and Hans H. Kron. Programming-in-the-Large Versus Programming-in-the-Small. IEEE Transactions on Software Engineering 2(2):80–86, June, 1976.Google Scholar
  7. [Dolotta 77]
    T.A. Dolotta and R.C. Haight. PWB/UNIX — Overview and Synopsis of Facilities. Technical Report, Bell Laboratories, June 1977.Google Scholar
  8. [Donahue 85]
    James Donahue and Alan Demers. Data Types Are Values. ACM Transactions on Programming Languages and Systems 7(3):426–445, July, 1985.CrossRefGoogle Scholar
  9. [Donzeau-Gouge 84a]
    Veronique Donzeau-Gouge, Gerard Huet, Gilles Kahn, and Bernard Lang. Programming Environments Based on Structured Editors: The Mentor Experience. Interactive Programming Environments. McGraw-Hill Book Co., New York, NY, 1984.Google Scholar
  10. [Donzeau-Gouge 84b]
    Veronique Donzeau-Gouge, Gilles Kahn, Bernard Lang and B. Melese. Documents Structure and Modularity in Mentor. In Proceedings of the SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments. April, 1984.Google Scholar
  11. [Gandalf 84]
    The Gandalf Project. ALOE Users' and Implementors' Guide (Fourth Edition). Technical Report, CMU Department of Computer Science, October 1984.Google Scholar
  12. [Garlan 85]
    David Garlan. Flexible Unparsing in a Structure Editing Environment. Technical Report CMU-CS-85-129, Carnegie-Mellon University, Department of Computer Science, April, 1985.Google Scholar
  13. [Garlan 86a]
    David Garlan. Views for Tools in Software Development Environments. PhD thesis, Carnegie-Mellon University, 1986. In progress.Google Scholar
  14. [Garlan 86b]
    David Garlan and Gail E. Kaiser. Features: An Approach to Reusable Software. 1986. Submitted for publication.Google Scholar
  15. [Garlan 86c]
    David Garlan and Gail E. Kaiser. MELD: An Object-Oriented Language for Describing Features. 1986. Submitted for publication.Google Scholar
  16. [Gnome 85]
    Chandhok, Garlan, Goldenson, Tucker, and Miller. Structure Editing-Based Programming Environments: The GNOME Approach. In Proceedings of NCC85. AFIPS, July, 1985.Google Scholar
  17. [Goldberg 83]
    A. J. Goldberg and D. Robson. Smalltalk-80: The Language and Its Implementation. Addison-Wesley Publishing Co., 1983.Google Scholar
  18. [Guttag 85]
    John V. Guttag, James J. Horning and Jeannette M. Wing. The Larch Family of Specification Languages. IEEE Software 2(5):24–36, September, 1985.Google Scholar
  19. [Habermann 80]
    A. N. Habermann and D. Perry. Well-Formed System Compositions. Technical Report CMU-CS-80-117, Carnegie-Mellon University, Computer Science Department, March, 1980.Google Scholar
  20. [Horwitz 85]
    Susan Horwitz and Tim Teitelbaum. Relations and Attributes: A Symbiotic Basis for Editing Environments. In ACM SIGPLAN 85 Symposium on Language Issues in Programming Environments, pages 93–106. ACM, June, 1985.Google Scholar
  21. [Kaiser 85]
    Gail E. Kaiser. Semantics for Structure Editing Environments. PhD thesis, Carnegie-Mellon University, June, 1985.Google Scholar
  22. [Kaiser 86]
    Gail E. Kaiser. Generation of Run-Time Environments. In SIGPLAN '86 Symposium on Compiler Construction. June, 1986. To appear.Google Scholar
  23. [Keene 85]
    Sonya E. Keene and David A. Moon. Flavors: Object-oriented Programming on Symbolics Computers. In Common Lisp Conference. December, 1985.Google Scholar
  24. [Keller 86]
    Arthur M. Keller. The Role of Semantics in Translating View Updates. IEEE Computer 19(1):63–73, January, 1986.Google Scholar
  25. [Medina-Mora 82]
    Raul Medina-Mora. Syntax-Directed Editing: Towards Integrated Programming Environments. PhD thesis, Carnegie-Mellon University, March 1982.Google Scholar
  26. [Nestor 86]
    Nestor, J.R., Wulf, W.A., Lamb, D.A. IDL — Interface Description Language: Formal Description. Technical Report, Software Engineering Institute, Pittsburgh, PA, February, 1986. Reprint of Technical Report CMU-CS-81-139.Google Scholar
  27. [Notkin 84]
    David S. Notkin. Interactive Structure-Oriented Computing. PhD thesis, Carnegie-Mellon University, February, 1984.Google Scholar
  28. [Notkin 86]
    D. S. Notkin and A. N. Habermann. Gandalf Software Development Environments. IEEE Transactions on Software Engineering, 1986. To appear.Google Scholar
  29. [Reiss 84]
    Steven P. Reiss. Graphical Program Development with PECAN Program Development Systems. In Proceedings of the Software Engineering Symposium on Practical Software Development Environments. ACM-SIGSOFT/SIGPLAN, April, 1984.Google Scholar
  30. [Reps 83]
    Thomas Reps, Tim Teitelbaum and Alan Demers. Incremental Context-Dependent Analysis for Language-Based Editors. ACM Transactions on Programming Languages and Systems (TOPLAS) 5(3), July, 1983.Google Scholar
  31. [Reps 84]
    Tom Reps and Tim Teitlebaum. The Synthesizer Generator. In Proceedings of the Software Engineering Symposium on Practical Software Development Environments. ACM-SIGSOFT/SIGPLAN, April, 1984.Google Scholar
  32. [Shaw 84]
    Mary Shaw. Abstraction Techniques in Modern Programming Languages. IEEE Software 1(4):10–26, October, 1984.Google Scholar
  33. [Stefik 86]
    Mark Stefik and Daniel G. Bobrow. Object-Oriented Programming: Themes and Variations. Al Magazine 6(4):40–62, Winter, 1986.Google Scholar
  34. [Thompson 78]
    K. Thompson. UNIX Implementation. The Bell System Technical Journal 57(6):1931–1946, July–August, 1978.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1987

Authors and Affiliations

  • David Garlan
    • 1
  1. 1.Department of Computer ScienceCarnegie-Mellon UniversityPittsburghUSA

Personalised recommendations