skip to main content
10.1145/800226.806853acmconferencesArticle/Chapter ViewAbstractPublication PagesplanConference Proceedingsconference-collections
Article
Free Access

NIL: An integrated language and system for distributed programming

Published:01 June 1983Publication History

ABSTRACT

This paper presents features of the NIL programming language which support the construction of distributed software systems: (1) a process model in which no pointers or shared data are visible, (2) interprocess communication via synchronous and asynchronous message passing, (3) compile-time typestate checking, guaranteeing module isolation and correct finalization of data, (4) dynamic binding of statically typed ports under the control of capabilities.

We discuss how these features are defined in NIL, illustrate the consequences of these decisions for the design of distributed systems, and compare these decisions with those made in other programming languages with similar objectives.

References

  1. 1."Reference Manual for the Ada Programming Language", Draft Proposed ANSI Standard Document, ACM AdaTec, July 1982.Google ScholarGoogle Scholar
  2. 2.Fabry, F. S., "Capability Based Addressing", CACM 17, 7 July 1974. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3.Hailpern, B. and Owicki S., "Modular Verification of Concurrent Programs", IBM Research Report RC 9130, 1981.Google ScholarGoogle Scholar
  4. 4.Halim, N., and Pershing, J., "A New Language for Writing Portable and Secure Systems", IBM Research Report RC 9650Google ScholarGoogle Scholar
  5. 5.Herlihy, M. and Liskov B., "A Value Transmission Method for Abstract Data Types", ACM TOPLAS Vol. 4 No. 4, October 1982. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 6.Kernighan, B., and Ritchie, D., The C Programming Language, Prentice-Hall, Inc., 1978. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 7.Liskov, B. and Snyder A., "Structured Exception Handling" Computation Structures Group Memo 155, MIT, December 1977.Google ScholarGoogle Scholar
  8. 8.Liskov, B., Scheifler, R., "Guardians and Actions: Linguistic Support for Robust, Distributed Programs", Ninth Symposium on Principles of Programming Languages, Albuquerque, 1982. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 9.Liskov, B., "On Linguistic Support for Distributed Programs", IEEE Transactions on Software Engineering, 8, 3, May 1982.Google ScholarGoogle Scholar
  10. 10.NIL Reference Manual, IBM T. J. Watson Research Laboratory, RC 9732.Google ScholarGoogle Scholar
  11. 11.Parr, F. N., and Strom, R. E., "A High Level Language for Distributed Systems Programming, IBM Systems Journal, April, 1983.Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. 12.Pratt, V. R., "On the Composition of Processes", Ninth Symposium on Principles of Programming Languages, Albuquerque, January 1983. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. 13.Schwartz, R. L., and Melliar-Smith P. M., "The Finalization Operation for Abstract Data Types", Proc. IEEE 5th International Conference on Software Engineering, March, 1981. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. 14.Sherman, M., Hisgen, A. and Rosenberg J., "A Methodology for Programming Abstract Data Types in Ada", Proc. AdaTEC Conference on ADA, October 1982.Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. 15.Strom, R. E., "Mechanisms for Compile-Time Enforcement of Security", Tenth Symposium on Principles of Programming Languages, Austin, January 1983. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. 16.Wegner, P., "On the Unification of Data and Program Abstraction in ADA", Tenth Symposium on Principles of Programming Languages, Austin, January 1983. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. 17.Wulf, W. A., et al., "HYDRA the Kernel of a Multiprocessor Operating System" CACM 17, 6 June 1974. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. NIL: An integrated language and system for distributed programming

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Conferences
          SIGPLAN '83: Proceedings of the 1983 ACM SIGPLAN symposium on Programming language issues in software systems
          June 1983
          230 pages
          ISBN:0897911083
          DOI:10.1145/800226

          Copyright © 1983 Authors

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 1 June 1983

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • Article

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader