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.
References
Apt, Krzysztof, Nissim Francez and Willem P. de Roever “A Proof System for Communicating Sequential Processes ACM TOPLAS, July, 1980.
Codd, E. F. ‘A Relational Model of Data for Large Shared Data Banks', Communications of the ACM, vol 13, No 6., June 1970.
Hailpern, B., Verifying Concurrent Processes Using Temporal Logic, Lecture Notes in Computer Science, no. 129, 1982.
Hoare, C. A. R. ‘Communicating Sequential Processes’ CACM August, 1978
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
Keller, Robert M., and Prakash Panangaden, ‘An Archival Approach to the Semantics of Indeterminate Operators’ Draft Report, University of Utah.
Lamport, L., 'specifying Concurrent Program Modules’ ACM TOPLAS 5:2, April 1983 July 1978.
Milner, Robin ‘A Calculus of Communicating Systems', Springer-Verlag Lecture Notes in Computer Science #92, 1980.
Misra, Jayadev, and K. Mani Chandy ‘Proofs of Networks of Processes’ IEEE Transactions on Software Engineering July, 1981.
Misra, Jayadev, K. Mani Chandy and Tod Smith ‘Proving Safety and Liveness of Communicating Processes with Examples’ Proc. Principles of Distributed Computing August, 1982.
Pratt, V.R. ‘On the Composition of Processes’ Ninth Symposium on Principles of Programming Languages, Albuquerque NM, January 1982.
Smolka, S., "A CCS Semntics for NIL", IBM Research Report, in preparation.
Strom, R. E., "Mechanisms for Compile-Time Enforcement of Security", Tenth Symposium on Principles of Programming Languages, Austin, January 1983.
Strom, R. E., and Yemini, S. ‘NIL: An Integrated Language and System for Distributed Programming', IBM Research Report RC9949.
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.
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.
Author information
Authors and Affiliations
Editor information
Rights 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