The NIL distributed systems programming language: A status report

  • Robert E. Strom
  • Shaula Yemini
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 197)


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.


Output Port Input Port Type Family Finite State Automaton Interface Type 
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.


  1. [APT 80]
    Apt, Krzysztof, Nissim Francez and Willem P. de Roever “A Proof System for Communicating Sequential Processes ACM TOPLAS, July, 1980.Google Scholar
  2. [COD 70]
    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. [HAI 82]
    Hailpern, B., Verifying Concurrent Processes Using Temporal Logic, Lecture Notes in Computer Science, no. 129, 1982.Google Scholar
  4. [HOA 78]
    Hoare, C. A. R. ‘Communicating Sequential Processes’ CACM August, 1978Google Scholar
  5. [KAR 83]
    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 1983Google Scholar
  6. [KEL 83]
    Keller, Robert M., and Prakash Panangaden, ‘An Archival Approach to the Semantics of Indeterminate Operators’ Draft Report, University of Utah.Google Scholar
  7. [LAM 83]
    Lamport, L., 'specifying Concurrent Program Modules’ ACM TOPLAS 5:2, April 1983 July 1978.Google Scholar
  8. [MIL 80]
    Milner, Robin ‘A Calculus of Communicating Systems', Springer-Verlag Lecture Notes in Computer Science #92, 1980.Google Scholar
  9. [MIS 81]
    Misra, Jayadev, and K. Mani Chandy ‘Proofs of Networks of Processes’ IEEE Transactions on Software Engineering July, 1981.Google Scholar
  10. [MIS 82]
    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. [PRA 82]
    Pratt, V.R. ‘On the Composition of Processes’ Ninth Symposium on Principles of Programming Languages, Albuquerque NM, January 1982.Google Scholar
  12. [SMO 84]
    Smolka, S., "A CCS Semntics for NIL", IBM Research Report, in preparation.Google Scholar
  13. [STR 83a]
    Strom, R. E., "Mechanisms for Compile-Time Enforcement of Security", Tenth Symposium on Principles of Programming Languages, Austin, January 1983.Google Scholar
  14. [STR 83b]
    Strom, R. E., and Yemini, S. ‘NIL: An Integrated Language and System for Distributed Programming', IBM Research Report RC9949.Google Scholar
  15. [STR 84a]
    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. [STR 84b]
    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

Copyright information

© Springer-Verlag 1985

Authors and Affiliations

  • Robert E. Strom
    • 1
  • Shaula Yemini
    • 1
  1. 1.IBM ResearchYorktown Hts.

Personalised recommendations