The unified programming environment: Unobtrusive support

  • Terrence Miller
  • Jim Ambras
  • Martin Cagan
  • Nancy Kendzierski
Knowledge-Based And Future Programming Environments
Part of the Lecture Notes in Computer Science book series (LNCS, volume 244)


A key to significantly improving the productivity of programmers is the construction of a unified environment that collects and manages all information needed by the programmer and automates many of the programming tasks, both creative and mundane. Much early progress can now be made working only on the mundane tasks while pursuing AI research to develop the technology needed to automate more creative tasks.

Creation of the UPE as we have described it requires a set of supporting technologies which are now becoming available. A strength of our effort is that we are collaborating with strong teams working in all of the supporting areas.


Knowledge Base Intelligent Agent Programming Task Storage Allocation Common Lisp 
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.

8. References

  1. [Ambras86]
    Ambras, J. UPE: MicroScopic Analysis of Lisp Code, Report STL-86-09, Software Technology Laboratory, Hewlett-Packard Laboratories, Palo Alto, California, June 1986Google Scholar
  2. [Bates82]
    Bates, P. and Wileden J. “EDL: A Basis for Distributed System Debugging Tools”, Proceedings of the 15th Hawaii International Conference on System Sciences, 1982.Google Scholar
  3. [Bobrow75]
    Bobrow, R. and Brown, J. “Systematic Understanding: Synthesis, Analysis, and Contingent Knowledge in Specialized Understanding Systems,“ Representation and Understanding, edited by Daniel Bobrow/Allan Collins, Academic Press, Inc., 1975.Google Scholar
  4. [Cagan86]
    Cagan, M. “An Introduction to Hewlett-Packard's AI Workstation Technology”, Hewlett-Packard Journal, 37(3), March 1986.Google Scholar
  5. [Card86]
    Card, S. and Moran, T. “User Technology: From Pointing to Pondering,” Proceedings of the ACM Conference on the History of Personal Workstations, Palo Alto, California, January 1986.Google Scholar
  6. [Davis83]
    Davis, R. and Smith, R. “Negotiation as a Metaphor for Distributed Problem Solving,” Artificial Intelligence 20(1), January 1983.Google Scholar
  7. [Derrett86]
    Derrett, N. P. et al. “An Object-Oriented Approach to Data Management,” Proceedings of Compcon Thirty-First IEEE Computer Society International Conference, San Francisco, CA, March 1986.Google Scholar
  8. [Desisle84]
    Delisle, N. et al. “Viewing a Programming Environment as a Single Tool”, Proceedings of the ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments, SIGPLAN Notices 19(5), May 1984.Google Scholar
  9. [Goldstein80]
    Goldstein, I. and Bobrow, D. A Layered Approach to Software Design, Report CSL-80-5, Xerox Palo Alto Research Center, 3333 Coyote Hill Road, Palo Alto, California, December 1980.Google Scholar
  10. [Krohnfeldt85]
    Krohnfeldt, J. and Kessler, R., “MicroScope — Rule-Based Analysis of Programming Environments”, Proceedings of the Second Conference on Artificial Intelligence Applications, IEEE Computer Society, December 1985.Google Scholar
  11. [Leblang85]
    Leblang, D. and Mclean, G. “Configuration Management for Large-Scale Software Development Efforts,” Proceedings of the Workshop on Software Engineering Environments for Programming-in-the-Large, Harwichport, Massachusetts, June 1985.Google Scholar
  12. [Rich81]
    Rich, C. Inspection Methods in Programming, MIT Technical Report AI-TR 604, June 1981.Google Scholar
  13. [Rosenberg83]
    Rosenberg, S. ‘HPRL: A Language for Building Expert Systems”, Proceeding of the Eighth International Joint Conference on Artificial Intelligence, Karslruhe, West Germany, August 1983.Google Scholar
  14. [Rosenschein84]
    Rosenschein, J, and Genesereth, M. Communication and Cooperation Technical Report 84-5, Heuristic Programming Project, Dept. of Computer Science, Stanford University, 1984.Google Scholar
  15. [Rosenschein85]
    Rosenschein, J, and Genesereth, M. Deals Among Rational Agents Technical Report 84-44, Heuristic Programming Project, Dept. of Computer Science, Stanford University, March, 1985.Google Scholar
  16. [Snyder85]
    Snyder, A. Object-Oriented Programming for Common Lisp, Report ATC-85-1, Software Technology Laboratory, Hewlett-Packard Laboratories, Palo Alto, California, 1985.Google Scholar
  17. [Steir85]
    Steier, D. and Kant, E. “The Role of Symbolic Execution in a Model of Algorithm Design”, IEEE Transactions on Software Engineering, SE-11(11), November 1985.Google Scholar
  18. [Teitelman78]
    Teitelman, W. INTERLISP Reference Manual, Xerox Palo Alto Research Center, 3333 Coyote Hill Road, Palo Alto, California, October 1978.Google Scholar
  19. [Waters85]
    Waters, R. KBEmacs: A Step Toward the Programmer's Apprentice, MIT Technical Report AI-TR 753, May 1985.Google Scholar
  20. [Weiser82]
    Weiser, M. “Programmers Use Slices When Debugging”, Communications of the ACM, 23(7), July 1982.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1987

Authors and Affiliations

  • Terrence Miller
    • 1
  • Jim Ambras
    • 1
  • Martin Cagan
    • 1
  • Nancy Kendzierski
    • 1
  1. 1.Distributed Computing Center Hewlett-Packard LaboratoriesPalo AltoUSA

Personalised recommendations