Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.5555/1267074.1267082guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

Concert/C: a language for distributed programming

Published: 17 January 1994 Publication History

Abstract

Concert/C is a new language for distributed C programming that extends ANSI C to support distribution and process dynamics. Concert/C provides the ability to create and terminate processes, connect them together, and communicate among them. It supports transparent remote function calls (RPC) and asynchronous messages. Interprocess communications interfaces are typed in Concert/C, and type correctness is checked at compile time wherever possible, otherwise at runtime. All C data types, including complex data structures containing pointers and aliases, can be transmitted in RPCs.
Concert/C programs run on a heterogeneous set of machine architectures and operating systems and communicate over multiple RPC and messaging protocols. The current Concert/C implementation runs on AIX 3.2, SunOS 4.1, Solaris 2.2 and OS/2 2.1, and communicates over Sun RPC, OSF/DCE and UDP multicast. Several groups inside and outside IBM are actively using Concert/C, and it is available via anonymous ftp from software.watson.ibm.com:/pub/concert.

References

[1]
{1} Gregory R. Andrews. Synchronizing Resources. ACM Transactions on Programming Languages and Systems, 3(4):405-430, October 1981.
[2]
{2} J. S. Auerbach, D. F. Bacon, A. P. Goldberg, G. S. Goldszmidt, A. S. Gopal, M. T. Kennedy, A. R. Lowry, J. R. Russell, W. Silverman, R. E. Strom, D. M. Yellin, and S. A. Yemini. High-level language support for programming distributed systems. In 1992 International Conference on Computer Languages, pages 320-330. IEEE Computer Society, April 1992.
[3]
{3} Joshua Auerbach, Arthur P. Goldberg, German Goldszmidt, Ajei Gopal, Mark T. Kennedy, James R. Russell, and Shaula Yemini. Concert/C specification: Definition of a language for distributed C programming. Technical Report RC18994, IBM T. J. Watson Research Center, 1993.
[4]
{4} Joshua Auerbach, Arthur P. Goldberg, German Goldszmidt, Ajei Gopal, Mark T. Kennedy, and James R. Russell. Concert/C manual: A programmer's guide to a language for distributed C programming. Technical report, IBM T. J. Watson Research Center, 1993. To be published, available from the authors.
[5]
{5} Joshua S. Auerbach, Ajei S. Gopal, Mark T. Kennedy, and James R. Russell. Concert/C: Supporting distributed programming with language extensions and a portable multiprotocol runtime. Technical Report RC18995, IBM T. J. Watson Research Center, 1993.
[6]
{6} Joshua S. Auerbach and James R. Russell. The Concert Signature Representation: IDL as intermediate language. Technical Report RC19229, IBM T. J. Watson Research Center, 1993. To appear the 1994 ACM SIGPLAN Workshop on Interface Definition Languages.
[7]
{7} H. E. Bal, J. G. Steiner, and A. S. Tanenbaum. Programming languages for distributed computing systems. ACM Computing Surveys, 21(3), September 1991.
[8]
{8} B. N. Bershad, D. T. Ching, E. D. Lazowska, J. Sanislo, and M. Schwartz. Remote procedure call facility for interconnecting heterogeneous computer systems. IEEE Transactions on Software Engineering, 13(8):880-894, August 1987.
[9]
{9} Kenneth P. Birman, Robert Cooper, et al. The ISIS system manual, version 2.0. Technical report, CS Department, Cornell, March 1990.
[10]
{10} A. Black, N. Hutchinson, E. Jul, H. Levy, and L. Carter. Distribution and abstract types in Emerald. IEEE Transactions on Software Engineering, 13(1):65-76, January 1987.
[11]
{11} A. Califano and I. Rigoutsos. FLASH: A Fast Look-Up Algorithm for String Homology. In Proceedings First International Conference on Intelligent Systems for Molecular Biology, Washington, DC, July 1993.
[12]
{12} K. M. Chandy and S. Taylor. The composition of concurrent programs. In Proceedings Supercomputing '89. ACM, November 1989.
[13]
{13} C. C. Douglas, Timothy G. Mattson, and Martin H. Schultz. A comparison of distributed and shared virtual memory systems on networks. Technical report, Department of Computer Science, Yale University, New Haven, 1993. YALEU/DCS/TR-975.
[14]
{14} N. H. Gehani and W. D. Roome. The Concurrent C Programming Language. Silicon Press, 25 Beverly Road, Summit, NJ, 07901, 1989.
[15]
{15} D. Gelernter and N. Carriero. Applications experience with LINDA. SIGPLAN Notices, 23(9):173-187, September 1988.
[16]
{16} Phillip B. Gibbons. A stub generator for multilanguage RPC in heterogeneous environments. IEEE Transactions on Software Engineering, SE-13(1):77-87, January 1987.
[17]
{17} Arthur P. Goldberg. Concert/C tutorial: An introduction to a language for distributed C programming. Technical Report RA218, IBM T. J. Watson Research Center, 1993.
[18]
{18} Michael B. Jones and Richard F. Rashid. Mach and Matchmaker: Kernel and language support for object-oriented distributed systems. Technical Report CMU-CS-87-150, CS Department, CMU, September 1986.
[19]
{19} Mike Kong, Terence H. Dineen, Paul J. Leach, Elizabeth A. Martin, Nathaniel W. Mishkin, Joseph N. Pato, and Geoffrey L. Wyant. Network Computing System Reference Manual. Prentice-Hall, Englewood Cliffs, NJ, 1990.
[20]
{20} B. Liskov. Distributed programming in Argus. Comm. ACM, 31(3), March 1988.
[21]
{21} Andy Lowry, Rob Strom, and Danny Yellin. The Global Desktop, IBM T. J. Watson Research Center. To be published, available from the authors.
[22]
{22} Y.S. Maarek, D.M. Berry, and G.E. Kaiser. An information retrieval approach for automatically constructing software libraries. Transactions on Software Engineering, 17(8), August 1991.
[23]
{23} Netwise. C Language RPC TOOL, 1989. Boulder, Colorado.
[24]
{24} NobleNet. EZ-RPC Manual, 1992. Natick, Ma.
[25]
{25} Open Software Foundation, Cambridge, Mass. OSF DCE Release 1.0 Developer's Kit Documentation Set, February 1991.
[26]
{26} Ian Parsons. Evaluation of distributed communication systems. U. Alberta. Available from author.
[27]
{27} I. Rigoutsos and R. Hummel. Distributed Bayesian Object Recognition. In Proceedings IEEE Conference on Computer Vision and Pattern Recognition, New York City, NY, June 1991.
[28]
{28} Patricia Gomes Soares and Alan Randolph Karben. Implementing a Dlegation Model Design of an HPCC Application Using Concert/C. In Proceedings of the 1993 IBM Centre for Advanced Studies Conference, pages 729-738, Washington, DC, October 1993.
[29]
{29} Robert E. Strom, David F. Bacon, Arthur Goldberg, Andy Lowry, Daniel Yellin, and Shaula Alexander Yemini. Hermes: A Language for Distributed Computing. Prentice Hall, January 1991.
[30]
{30} Robert E. Strom and Shaula Alexander Yemini. NIL: An integrated language and system for distributed programming. In SIGPLAN '83 Symposium on Programming Language Issues in Software Systems, June 1983.
[31]
{31} Bjarne Stroustrup. A history of C++: 1979-1991. SIGPLAN Notices, 28(3):271-297, March 1993.
[32]
{32} Sun Microsystems. SUN Network Programming, 1988.
[33]
{33} V. S. Sunderam. Pvm: A framework for parallel distributed computing. Concurrency: Practice & Experience, 2(4):315-339, December 1990.
[34]
{34} The Xerox Corporation. Courier: The Remote Procedure Call Protocol, December 1981. Technical Report XSIS 038112.
[35]
{35} S. A. Yemini, G. Goldszmidt, A. Stoyenko, Y. Wei, and L. Beeck. Concert: A high-level-language approach to heterogeneous distributed systems. In The Ninth International Conference on Distributed Computing Systems, pages 162-171. IEEE Computer Society, June 1989.

Cited By

View all
  • (2017)From Clarity to Efficiency for Distributed AlgorithmsACM Transactions on Programming Languages and Systems10.1145/299459539:3(1-41)Online publication date: 26-May-2017
  • (2009)On the exploitation of loop-level parallelism in embedded applicationsACM Transactions on Embedded Computing Systems10.1145/1457255.14572578:2(1-34)Online publication date: 9-Feb-2009
  • (1997)Cooperating AgentsProceedings of the 1997 Workshop on High-Level Programming Models and Supportive Environments (HIPS '97)10.5555/822070.822242Online publication date: 1-Apr-1997
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Guide Proceedings
WTEC'94: Proceedings of the USENIX Winter 1994 Technical Conference on USENIX Winter 1994 Technical Conference
January 1994
216 pages

Publisher

USENIX Association

United States

Publication History

Published: 17 January 1994

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 03 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2017)From Clarity to Efficiency for Distributed AlgorithmsACM Transactions on Programming Languages and Systems10.1145/299459539:3(1-41)Online publication date: 26-May-2017
  • (2009)On the exploitation of loop-level parallelism in embedded applicationsACM Transactions on Embedded Computing Systems10.1145/1457255.14572578:2(1-34)Online publication date: 9-Feb-2009
  • (1997)Cooperating AgentsProceedings of the 1997 Workshop on High-Level Programming Models and Supportive Environments (HIPS '97)10.5555/822070.822242Online publication date: 1-Apr-1997
  • (1994)Interfaces, protocols, and the semi-automatic construction of software adaptorsACM SIGPLAN Notices10.1145/191081.19111129:10(176-190)Online publication date: 1-Oct-1994
  • (1994)Interfaces, protocols, and the semi-automatic construction of software adaptorsProceedings of the ninth annual conference on Object-oriented programming systems, language, and applications10.1145/191080.191111(176-190)Online publication date: 1-Oct-1994

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media