Abstract
For the last eight years the Distributed Systems Research Group at Imperial College has conducted research into the development of an environment to support the construction and operation of distributed software. The result has been the Conic Toolkit: a comprehensive set of language and run-time tools for program compilation, building, debugging and execution in a distributed environment. Programs may be run on a set of interconnected host computers running the Unix operating system and/or on target machines with no resident operating system.
Two languages are provided, one for programming individual task modules (processes) and one for the configuration of programs from simpler groups of task modules. In addition the enviroment supports the re-use of program components and allows the configuration of new components into running systems. This dynamic configuration capability is provided by a distributed configuration management tool which is the primary method of creating, controlling and modifying distributed application programs. The system also supports user transparent datatype transformation between heterogeneous processors.
This paper describes and reflects on the major design principles of the Conic toolkit and discusses the experiences both of the Conic research group and the various other universities and industries who are using the toolkit.
Chapter PDF
Similar content being viewed by others
Keywords
7. References
G. Andrews, R. Olsson, "The evolution of the SR programming language", Distributed Computing, 1, July 1986, pp. 133–149.
R. Anido, J. Kramer, "Synchronised forward & backward recovery", 7th. IFAC DCCS, Germany, Sep. 1986, to be published by Pergamon Press.
A. Black, N. Hutchison, E. Jul, H. Levy, L. Carter, "Distribution and abstract types in Emerald", IEEE Trans. on Software Eng. SE-13(1), Jan. 1987, pp. 65–76.
D. Cheriton, "The V-Kernel a software base for distributed systems", IEEE Software, 1 (2), April 1984, pp. 19–43.
N.Dulay, J.Kramer, J.Magee, M.Sloman, K.Twidle, "The Conic configuration language, version 1.3", Imperial College Research Report DoC 84/20, November 1984.
"Implementation of distributed self-tuning controllers", EUROCOM 1984, Brighton, Peter Peregrinus, pp384–352.
R. Hayes, R.D. Schlichting, "Facilitating mixed language programming in distributed systems", TR 85-11a Dept. of Computer Science, University of Arizona, Tucson 85721, March 1986.
C.A. R. Hoare, "Communicating sequential processes," CACM, 21(8), Aug. 1978, pp. 666–677.
M. Jones, R. Rashid, M. Thomson, "An interface specification language for distributed processing", Proc. 12th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages., ACM Jan. 1985.
J.Kramer,R.J. Cunningham, "Towards a notation for the functional design of distributed processing systems", in IEEE Proc. 1978 Int. Conf. Parallel Processing, Aug. 1978, pp 69–76.
J.Kramer, J.Magee, M.Sloman, K.Twidle, N.Dulay, "The Conic programming language, version 2.4", Imperial College Research Report DoC 84/19, October 1984.
J. Kramer, J. Magee, "Dynamic configuration for distributed systems", IEEE Transactions on Software Engineering, SE-11 (4), April 1985, pp. 424–436.
T.J. Leblanc, S. A. Friedberg, "HPC a model of structure and change in distributed systems", IEEE Trans. Comp., C-34 (12), Dec. 1985, pp. 1114–1129.
S. Leffler, S. Fabry, W. Joy, "A 4.2 bsd communications primer", Computer Systems Research Group, Univ. of California, Berkley, July 1983.
B. Liskov, R. Sheifler, "Guardians and actions: linguistic support for robust distributed programs", ACM TOPLAS, 5 (3), July 1983, pp. 381–404.
B. Liskov, M. Herlihy, L. Gilbert, "Limitations of remote procedure call and static process structure for distributed computing", MIT Lab. Computing Science, Cambridge MA 02139,, Programming Methodology Group Memo 41, Sept. 1984, revised Oct. 1985.
B. Liskov, L. Shrira, "Promises: Linguistic Support for Efficient Asynchronous Procedure Calls in Distributed Systems", MIT Lab. Computing Science, Cambridge MA 02139, Aug. 1987
O. Loques, J. Kramer, Flexible fault tolerance for distirbuted computer systems" IEE Proc. pt. E, 133(6), Nov. 1986, pp. 319–337.
S.J. Mullender, A.S. Tanenbaum, "The Design of a Capability Based Distributed Operating System", Computer Journal, Vol. 29 No.4, Aug 1986, pp. 289–299.
D.L. Oppen, Y.K. Dalal, "The Clearinghouse: a decentralised agent for locating named objects in a distributed environment," ACM Trans. on Office Systems, 1(3), July 1983. pp. 230–253.
D. Plummer, "An Address Resolution Protocol (RFC 826)", Nov. 1982.
J. Postel, "User Datagram Protocol (RFC 768)", Information Sciences Institute, University of Southern California, 4376 Admiralty Way, Marina del Ray Calif. 90291.
D. Redel et al. "Pilot: an operating system for a personal computer", CACM 32(2), Feb. 1980, pp. 81–92.
M.L. Scott, "Language support for loosely coupled distributed programs", IEEE Trans. on Software Eng. SE-13(1), Jan. 1987, pp. 77–86.
M. Sloman, J. Kramer, J. Magee, K. Twidle, "Flexible communications for distributed embedded systems", IEE Proc. Pt. E, 133(4), July 1986, pp. 201–211.
M. Sloman, "Distributed systems management", IFIP TC 6.4 LAN Management Workshop, Berlin, July 1987, North Holland.
R. Strom, S. Yemini, "The Nil distributed systems programming language: A status report", ACM SIGPLAN Notices, 20(5), May 1985, pp. 36–44.
"External Data Representation Reference Manual (Part 800-1177-01, Rev. A-β)", Sun Microsystems Inc., Mountain View, Ca, Jan 1985.
A. Tanenbaum, H. van Staveren, E. Keizer, J. Stevenson, "A practical toolkit for making portable compilers", CACM 26 (9), Sep. 1983, pp. 654–662.
USA Department of Defense, "Reference manual for the Adaâ„¢ programming language", Proposed Standard Document, July 1980.
P. Wegner "Capital intensive software technology", IEEE Software, 1(3), July 1984, pp. 7–46.
N. Wirth, "Modula: a language for modular multiprogramming", Software Practice and Experiences, 12, 1982, pp. 719–753.
"Courier: the remote procedure call", XSIS 038112, Xerox OPD, 333 Coyote Hill Rd., Palo Alto, Ca 94304, 1981.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1988 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Dulay, N., Kramer, J., Magee, J., Sloman, M., Twidle, K. (1988). Distributed system construction: Experience with the conic toolkit. In: Nehmer, J. (eds) Experiences with Distributed Systems. Lecture Notes in Computer Science, vol 309. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-19333-2_9
Download citation
DOI: https://doi.org/10.1007/3-540-19333-2_9
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-19333-3
Online ISBN: 978-3-540-39194-4
eBook Packages: Springer Book Archive