Skip to main content

Adding implicit invocation to languages: Three approaches

  • Invited Paper
  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 742))

Abstract

Implicit invocation based on event announcement is an increasingly important technique for integrating systems. However, the use of this technique has largely been confined to tool integration systems—in which tools exist as independent processes—and special-purpose languages—in which specialized forms of event broadcast are designed into the language from the start. This paper broadens the class of systems that can benefit from this approach by showing how to augment general-purpose programming languages with facilities for implicit invocation. We illustrate the approach in the context of three different languages, Ada, C++, and Common Lisp. The intent is to highlight the key design considerations that arise in extending such languages with implicit invocation.

This research was supported in part by the National Science Foundation under Grant Numbers CCR-9112880, CCR-9113367, CCR-8858804, and CCR-9211002, by DARPA Grant MDA 972-92-J-1002, by Siemens Corporate Research, and by SRA (Tokyo Japan). The views and conclusions contained in this document are those of the authors and should not be interpreted as representing the official policies, either expressed or implied, of the U.S. Government, of the Siemens Corporation, or of SRA.

This is a preview of subscription content, log in via an institution.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [Ada 83] Reference Manual for the Ada Programming Language. United States Department of Defense (January 1983).

    Google Scholar 

  2. [Cohen 89] D. Cohen. Compiling Complex Transition Database Triggers. Proceedings of the 1989 ACM SIGMOD (1989).

    Google Scholar 

  3. [Dayal, Hsu & Ladin 90] U. Dayal, M. Hsu, and R. Ladin. Organizing Long-Running Activities with Triggers and Transactions. In Proceedings of the 1990 ACM SIGMOD (June 1990).

    Google Scholar 

  4. [Garlan & Ilias 91] D. Garlan and E. Ilias. Low-cost, Adaptable Tool Integration Policies for Integrated Environments. Proceedings of SIGSOFT '90: Fourth Symposium on Software Development Environments. Irvine, CA (December 1990).

    Google Scholar 

  5. [Garlan, Kaiser & Notkin 92] D. Garlan, G.E. Kaiser, and D. Notkin. Using Tool Abstraction to Compose Systems. IEEE Computer (June 1992).

    Google Scholar 

  6. [Garlan & Notkin 91] D. Garlan and D. Notkin. Formalizing Design Spaces: Implicit Invocation Mechanisms. Proceedings of VDM'91: Formal Software Development Methods. Springer-Verlag, LNCS 551 (October, 1991).

    Google Scholar 

  7. [Garlan & Scott 93] D. Garlan and C. Scott. Adding Implicit Invocation to Traditional Programming Languages Proceedings of the 15th International Conference on Software Engineering. IEEE Computer Society Press, pp. 447–455 (May 1993).

    Google Scholar 

  8. [Garlan et al. 92] D. Garlan, M. Shaw, C. Okasaki, C. Scott, and R. Swonger. Experience with a Course on Architectures for Software Systems. Proceedings of the SEI Conference on Software Engineering Education (October 1992).

    Google Scholar 

  9. [Gerety 89] C. Gerety. HP SoftBench: A New Generation of Software Development Tools. Technical Report SESD-89-25, Hewlett-Packard Software Engineering Systems Division, Fort Collins, Colorado (November 1989).

    Google Scholar 

  10. A. Goldberg and D. Robson. Smalltalk-80: The Language and its Implementation. Addison-Wesley (1983).

    Google Scholar 

  11. [Goldberg & Robson 83] W.G. Griswold. Program Restructuring as an Aid to Software Maintenance. Department of Computer Science & Engineering, University of Washington (1991).

    Google Scholar 

  12. [Griswold & Notkin 93] W.G. Griswold and D. Notkin. Automated Assistance for Program Restructuring. To appear, ACM Transactions on Software Engineering and Methodology (July 1993).

    Google Scholar 

  13. [Habermann, Garlan & Notkin 91] A.N. Habermann, D. Garlan and D. Notkin. Generation of Integrated Task-Specific Software Environments. In CMU Computer Science: A 25th Commemorative. ACM Press (1990).

    Google Scholar 

  14. [Hewitt 69] C. Hewitt. PLANNER: A Language for Proving Theorems in Robots. Proceedings of the First International Joint Conference in Artificial Intelligence., Washington DC (1969).

    Google Scholar 

  15. [Krasner & Pope 88] G.E. Krasner and S.T. Pope. A Cookbook for Using the ModelView-Controller User Interface Paradigm in Smalltalk-80. Journal of Object Oriented Programming 1,3 (August/September 1988), pp. 26–49.

    Google Scholar 

  16. [Larus 89] J.R. Larus. Restructuring Symbolic Programs for Concurrent Execution on Multiprocessors. UC Berkeley Computer Science (May 1989).

    Google Scholar 

  17. [Luckham and won Henke 85] D. Luckham and F.W. von Henke. An Overview of Anna, a Specification Language for Ada. IEEE Software (March 1985).

    Google Scholar 

  18. [Myers et al. 90] B.A. Myers, D.A. Giuse, R.B. Dannenberg, B. Vander Zanden, D.S. Kosbie. E. Pervin, A. Mickish, and P. Marchai. Garnet: Comprehensive Support for Graphical, Highly-Interactive User Interfaces. IEEE Computer 23,11, pp. 71–85 (November 1990).

    Google Scholar 

  19. [Reiss 90] S.P. Reiss. Connecting Tools using Message Passing in the Field Environment. IEEE Software 7, 4 (July 1990).

    Article  Google Scholar 

  20. [Rowe et al. 91] L.A. Rowe, J.A. Konstan, B.C. Smith, S. Seitz, and C. Li. The PICASSO Application Framework. Proceedings of the 14th ACM Symposium on User Interface Software and Technology (1991).

    Google Scholar 

  21. [Scheifler and Gettys 86] R.W. Scheifler and J. Gettys. The X Window System. ACM Transactions on Graphics 5,2, pp. 79–109 (April 1986).

    Article  Google Scholar 

  22. [Steele 91] G.L. Steele. COMMON LISP, the Language, 2nd edition. Digital Press, Burlington MA (1991).

    Google Scholar 

  23. [Stroustrup 87] B. Stroustrup. The C++ Programming Language. Addison-Wesley, Reading, MA (1987).

    Google Scholar 

  24. [Sullivan & Notkin 92] K.J. Sullivan and D. Notkin. Reconciling Environment Integration and Software Evolution. ACM Transactions on Software Engineering and Methodology 1,3 (July 1992).

    Article  Google Scholar 

  25. [Sutton, Heimbigner & Osterweil 90] S.M. Sutton, Jr., D. Heimbigner, & L.J. Osterweil. Language Constructs for Managing Change in Process-Centered Environments. Proceedings of ACM SIGSOFT90: Fourth Symposium on Software Development Environments, pp. 206–217 (December 1990).

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Shojiro Nishio Akinori Yonezawa

Rights and permissions

Reprints and permissions

Copyright information

© 1993 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Notkin, D., Garland, D., Griswold, W.G., Sullivan, K. (1993). Adding implicit invocation to languages: Three approaches. In: Nishio, S., Yonezawa, A. (eds) Object Technologies for Advanced Software. ISOTAS 1993. Lecture Notes in Computer Science, vol 742. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-57342-9_91

Download citation

  • DOI: https://doi.org/10.1007/3-540-57342-9_91

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-57342-5

  • Online ISBN: 978-3-540-48075-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics