Skip to main content

The NIL distributed systems programming language: A status report

  • Conference paper
  • First Online:

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

Abstract

This paper is a summary of ongoing research activities related to the programming language NIL, a high level language for concurrent and distributed systems developed at IBM Yorktown.

We first present a short summary of the major features of NIL. These include the NIL system model, which is a dynamically evolving network of loosely coupled processes, communicating by message passing; the abstract NIL computation model; and typestate, which is a refinement of type systems allowing a compiler to assume an important subset of program validation.

We then discuss issues related to providing a semantic theory for NIL, and list some general requirements a semantic model should satisfy to be applicable to practical concurrent and distributed systems. We discuss the fit between CCS, which we are studying as a possible candidate for such a semantic theory, and these requirements.

Finally we describe some recent work on transformations which map NIL programs to efficient distributed and parallel implementations.

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. Apt, Krzysztof, Nissim Francez and Willem P. de Roever “A Proof System for Communicating Sequential Processes ACM TOPLAS, July, 1980.

    Google Scholar 

  2. Codd, E. F. ‘A Relational Model of Data for Large Shared Data Banks', Communications of the ACM, vol 13, No 6., June 1970.

    Google Scholar 

  3. Hailpern, B., Verifying Concurrent Processes Using Temporal Logic, Lecture Notes in Computer Science, no. 129, 1982.

    Google Scholar 

  4. Hoare, C. A. R. ‘Communicating Sequential Processes’ CACM August, 1978

    Google Scholar 

  5. Karjoth, Gunter ‘A Behavioral Description Language for the Formal Treatment of Protocols in Distributed Systems’ Proc. Protocol Specification, Testing and Verification, iii North Holland, June 1983

    Google Scholar 

  6. Keller, Robert M., and Prakash Panangaden, ‘An Archival Approach to the Semantics of Indeterminate Operators’ Draft Report, University of Utah.

    Google Scholar 

  7. Lamport, L., 'specifying Concurrent Program Modules’ ACM TOPLAS 5:2, April 1983 July 1978.

    Google Scholar 

  8. Milner, Robin ‘A Calculus of Communicating Systems', Springer-Verlag Lecture Notes in Computer Science #92, 1980.

    Google Scholar 

  9. Misra, Jayadev, and K. Mani Chandy ‘Proofs of Networks of Processes’ IEEE Transactions on Software Engineering July, 1981.

    Google Scholar 

  10. Misra, Jayadev, K. Mani Chandy and Tod Smith ‘Proving Safety and Liveness of Communicating Processes with Examples’ Proc. Principles of Distributed Computing August, 1982.

    Google Scholar 

  11. Pratt, V.R. ‘On the Composition of Processes’ Ninth Symposium on Principles of Programming Languages, Albuquerque NM, January 1982.

    Google Scholar 

  12. Smolka, S., "A CCS Semntics for NIL", IBM Research Report, in preparation.

    Google Scholar 

  13. Strom, R. E., "Mechanisms for Compile-Time Enforcement of Security", Tenth Symposium on Principles of Programming Languages, Austin, January 1983.

    Google Scholar 

  14. Strom, R. E., and Yemini, S. ‘NIL: An Integrated Language and System for Distributed Programming', IBM Research Report RC9949.

    Google Scholar 

  15. Strom, R. E., and Yemini, S. ‘Optimistic Recovery: An Asynchronous Approach to Fault Tolerance in Distributed Systems’ in proc. FTCS-14, June 1984, also available as IBM Research Report RC 10353.

    Google Scholar 

  16. Strom, R. E. and Yemini, S., 'synthesizing Distributed Protocols through Optimistic Transformations’ Proc. Fourth International Workshop on Protocol Specification, Testing and Validation, Skytop Penn. June 1984, to be published by North Holland, 1984.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Stephen D. Brookes Andrew William Roscoe Glynn Winskel

Rights and permissions

Reprints and permissions

Copyright information

© 1985 Springer-Verlag

About this paper

Cite this paper

Strom, R.E., Yemini, S. (1985). The NIL distributed systems programming language: A status report. In: Brookes, S.D., Roscoe, A.W., Winskel, G. (eds) Seminar on Concurrency. CONCURRENCY 1984. Lecture Notes in Computer Science, vol 197. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-15670-4_25

Download citation

  • DOI: https://doi.org/10.1007/3-540-15670-4_25

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-15670-3

  • Online ISBN: 978-3-540-39593-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics