Abstract
In the Concert multilanguage distributed programming system, interface specification is the responsibility of programming languages, not a separate IDL. However, an IDL is still necessary in order to define equivalence between declarations in different languages. A single representation is also desirable internally to economize on aspects of the implementation. Consequently, Concert has an IDL as an intermediate language, produced by compiler front-ends and not normally manipulated by programmers. It is formally separated into a contract, which defines interoperability and an endpoint modifier, which captures the local choice of representation. Only contracts are used to define interface equivalence. Our choice of what kinds of information to put in the contract was motivated by a desire to be minimal, thereby enabling maximum feasible interoperability between different expressions of the same abstraction in the same or different languages.
- {1} 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.Google ScholarCross Ref
- {2} 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.Google Scholar
- {3} 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 RC19332, IBM T. J. Watson Research Center, 1993.Google Scholar
- {4} Joshua S. Auerbach, Arthur P. Goldberg, German S. Goldszmidt, Ajei S. Gopal, Mark T. Kennedy, Josyula R. Rao, and James R. Russell. Concert/C: A language for distributed programming. Technical Report RC19044, IBM T. J. Watson Research Center, 1993. To appear in Usenix '94 Winter Conference.Google Scholar
- {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.Google Scholar
- {6} 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. Google ScholarDigital Library
- {7} Phillip B. Gibbons. A stub generator for multilanguage RPC in heterogeneous environments. IEEE Transactions on Software Engineering, SE-13(1):77-87, January 1987. Google ScholarDigital Library
- {8} 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.Google Scholar
- {9} J.V. Guttag, J.J. Hornung, and J.M. Wing. The larch family of specification languages. IEEE Software, 2(5):24-36, Sept. 1985.Google ScholarDigital Library
- {10} C.B. Jones. Systematic Software Development Using VDM. Prentiss-Hall Int'l, 1986. Google ScholarDigital Library
- {11} 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.Google ScholarDigital Library
- {12} 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. Google ScholarDigital Library
- {13} Open Software Foundation, Cambridge, Mass. OSF DCE Release 1.0 Developer's Kit Documentation Set, February 1991.Google Scholar
- {14} James R. Russell. The Concert Signature Representation implementation guide. Available from author.Google Scholar
- {15} J.M. Spivey. Introducing Z: A Specification Language and its Formal Semantics. Cambridge University Press, 1988. Google ScholarDigital Library
- {16} Sun Microsystems. SUN Network Programming, 1988.Google Scholar
- {17} The Xerox Corporation. Courier: The Remote Procedure Call Protocol, December 1981. Technical Report XSIS 038112.Google Scholar
Index Terms
The Concert signature representation: IDL as intermediate language
Recommendations
The Concert signature representation: IDL as intermediate language
IDL '94: Proceedings of the Workshop on Interface Definition LanguagesIn the Concert multilanguage distributed programming system, interface specification is the responsibility of programming languages, not a separate IDL. However, an IDL is still necessary in order to define equivalence between declarations in different ...
An abstract intermediate representation in compilation systems
The design of an intermediate representation is critical to the portability of a compiler and the efficiency of code generation. In order to increase the reusability of compiler components, and to simplify the development process of compilers, the paper ...
Comments