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

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

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

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 June 1983

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

VEE05
Sponsor:
VEE05: First International Conference on Virtual Execution Environments
June 27 - 29, 1983
California, San Francisco, USA

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)99
  • Downloads (Last 6 weeks)26
Reflects downloads up to 06 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2005)Integrating RPC and message passing for distributed programmingDCE — The OSF Distributed Computing Environment Client/Server Model and Beyond10.1007/3-540-57306-2_35(192-206)Online publication date: 3-Jun-2005
  • (1997)Programming and CodingSoftware Engineering and Environment10.1007/978-1-4615-5907-8_5(93-128)Online publication date: 1997
  • (1995)Hermes language experiencesSoftware—Practice & Experience10.1002/spe.438025040425:4(389-402)Online publication date: 1-Apr-1995
  • (1994)The HetNOS network operating systemACM SIGOPS Operating Systems Review10.1145/191525.19153428:4(34-47)Online publication date: 1-Oct-1994
  • (1994)Concert/C: supporting distributed programming with language extensions and a portable multiprotocol runtime14th International Conference on Distributed Computing Systems10.1109/ICDCS.1994.302405(152-159)Online publication date: 1994
  • (1993)Extending Typestate Checking Using Conditional Liveness AnalysisIEEE Transactions on Software Engineering10.1109/32.23201319:5(478-485)Online publication date: 1-May-1993
  • (1992)On remote procedure callProceedings of the 1992 conference of the Centre for Advanced Studies on Collaborative research - Volume 210.5555/962260.962276(215-267)Online publication date: 9-Nov-1992
  • (1991)High-level language support for programming distributed systemsProceedings of the 1991 conference of the Centre for Advanced Studies on Collaborative research10.5555/962111.962128(173-196)Online publication date: 28-Oct-1991
  • (1991)PSS: A System for Process EnactmentProceedings. First International Conference on the Software Process,10.1109/ICSP.1991.664345(128-141)Online publication date: 1991
  • (1990)Reliable distributed computing with Avalon/Common LispProceedings. 1990 International Conference on Computer Languages10.1109/ICCL.1990.63772(169-179)Online publication date: 1990
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media