This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Mapping the Interface Description Language Type Model into C
November 1989 (vol. 15 no. 11)
pp. 1333-1346

The Interface Description Language (IDL) is a notation for describing the characteristics of data structures passed among collections of cooperating processes in a programming environment. The authors discuss a mapping from IDL to C data structures and macro definitions that supports the full language and is type safe and run-time efficient, but is not particularly compile-time efficient nor easy to use. They then propose that the mapping be performed in a preprocessor, thereby achieving efficiency and ease of use as well.

[1] A. Ambler, and R. Trawick, "Chaitin's graph coloring algorithm as a method for assigning positions to Diana attributes,"ACM SIGPlan Notices, vol. 18, no. 2, pp. 37-38, Feb. 1983.
[2] G. M. Birtwistle, O. J. Dahl, B. Myhrhaus, and K. Nygaard,Simula Begin. Philadelphia, PA: Averbach, 1973.
[3] P. Breguet, F. Grize, and A. Strohmeir, "SARTEX: A programming language for graph processing,"ACM SIGPlan Notices, vol. 20, no. 1, pp. 11-19, Jan. 1985.
[4] J. S. Briggs, "The design of air and its application to Ada separate compilation," inLecture Notes in Computer Science: Ada Software Tools Interfaces, G. Goos and J. Hartmanis, Eds. New York: Springer-Verlag, 1983, pp. 60-75.
[5] L. A. Clark, J. C. Wileden, and A. L. Wolf. "Graphite: A meta-tool for Ada Environment Development, inProc. Int. Conf. Ada Applications and Environments, Miami Beach, FL, Apr. 1986, pp. 81-90.
[6] R. Conradi, and D. H. Wanvik, "Mechanisms and tools for separate compilation," Univ. Trondheim, Norwegian Inst. Technol., Tech. Rep. 25/85, Oct. 1985.
[7] A. Goldberg and D. Robson,Smalltalk80: The Language and Its Implementation. Reading, MA: Addison-Wesley, May 1983.
[8] G. Goos, W. A. Wulf, A. Evans, Jr., and K. J. Butler,28: An Intermediate Language for Ada(Lecture Notes in Computer Sci., vol. 161). Berlin: Springer-Verlag, 1983.
[9] M. P. Harrison, "Dianette--A pragmatic variant of DIANA," inLectures Notes in Computer Science: Ada Software Tools Interfaces, G. Goos and J. Hartmanis, Eds. New York: Springer-Verlag, 1983, pp. 48-59.
[10] I. J. Kalet and J. P. Jacky, "An object-oriented programming discipline for standard Pascal,"Comm. ACM, vol. 30, no. 9, pp. 772-776, Sept. 1987.
[11] S. C. Johnson, "Lint, A C program checker," Bell Labs., Tech. Rep., 1982.
[12] B. W. Kernighan and D. M. Ritchie,The C Programming Language. Englewood Cliffs, NJ: Prentice-Hall, 1978.
[13] S. Krogdahl, "An efficient implementation of Simula classes with multiple prefixing," Inst. Inform., Univ. Oslo, Res. Rep. 83, Mar. 1985.
[14] D. Lamb, and R. Dawes, "Testing for class membership in multiparent hierarchies," Dep. Comput. Inform. Sci., Queen's Univ. Tech. Rep. 87-201, Nov. 1987.
[15] D. A. Lamb, "Sharing intermediate representations: The interface description language," Ph.D. dissertation. Dep. Comput. Sci., Carnegie-Mellon Univ., Pittsburgh, PA, May 1983.
[16] D.A. Lamb, "IDL: Sharing intermediate representations,"ACM Trans. Program. Lang. Syst., vol. 9, no. 3, pp. 297-318, July 1987.
[17] B. W. Lampson, "A description of the Cedar language: A Cedar language reference manual," Xerox Corp., Tech. Rep. CSL-83-15, Dec. 1983.
[18] D. Maieret al., "Development of an object-oriented DBMS," inProc. ACM OOPSLA'86, pp. 472-482, 1986.
[19] J. R. Nestor, W. A. Wulf, and D. A. Lamb, "IDL--Interface description language--Formal description--Draft revision 2.0," Dep. Comput. Sci., Carnegie-Mellon Univ., Internal Document, June 1982.
[20] G. Novak, "Data abstraction in GLISP," inProc. SIGPLAN '83 Symposium on Programming Language Issues in Software Systems; ACM SIGPLAN Notices, vol. 18, June 1983.
[21] T. Payton, S. Keller, J. Perkins, and S. Mardinly, "The DIANA Interfacer," inLecture Notes in Computer Science: Ada Software Tools Interfaces, G. Goos and J. Hartmanis, Eds. New York: Springer-Verlag, 1983, pp. 88-103.
[22] G. Persch, "The use of Diana in compilers, language transformers, formatters, and debuggers," inLecture Notes in Computer Science: Ada Software Tools Interfaces, G. Goos and J. Hartmanis, Eds. New York: Springer-Verlag, 1983, pp. 76-87.
[23] G. Persch and M. Dausmann, "The intermediate language Diana: Design and implementation," inLecture Notes in Computer Science: Ada Software Tools Interfaces, G. Goos and J. Hartmanis, Eds. New York: Springer-Verlag, 1983, pp. 23-34.
[24] M. E. Quinn, "The Ada breadboard compiler: The DIANA package," Bell Labs., Tech. Rep., 1982.
[25] S. Reiss, "An approach to incremental compilation,"SIGPLAN Notices (Proc. ACM SIGPLAN'84 Symp. Compiler Construction), vol. 19, no. 6, pp. 144-156, June 1984.
[26] S. P. Reiss, "PLUM--A data management package," Dep. Comput. Sci., Brown Univ., Tech. Rep., Apr. 1985.
[27] P. Rovner, "On extending Modula-2 build large, integrated systems,"IEEE Software, vol. 3, no. 6, pp. 46-57, Nov. 1986.
[28] R. Snodgrass and K. Shannon, "Supporting Flexible and Efficient Tool Integration," inAdvanced Programming Environments, Vol. 244 of Lecture Notes inComputer Science, R. Conradi, T.M. Didriksen, and D.H. Wanvik, eds., Springer-Verlag, Trondheim, Norway, 1986, pp. 290-313.
[29] R. Snodgrass,The Interface Description Language. Rockville, MD: Computer Science Press, 1989.
[30] R. Snodgrass, "IDL Toolkit Release Notes: Relcase 4.0," Dep. Comput. Sci., Univ. North Carolina, Chapel Hill, SoftLab Document, Mar. 1989.
[31] R. Snodgrass and K. P. Shannon, "Type extension in the Interface Description Language," inProc. Federal CASE Conf. Int. Data Management for Software Eng., Gaithersburg, MD, Nov. 1989.
[32] R. Strom and S. Yemini, "Typestate: A programming language concept for enhancing software reliability,"IEEE Trans. Software Eng., vol. SE-12, pp. 157-171, Jan. 1986.
[33] B. Stroustrup,The C++ Programming Language. Reading, MA: Addison-Wesley, 1986.
[34] B. Stroustrup, "Multiple inheritance for C++," inProc. Spring 1987 European Unix Users Group Conf., Helsinki, May 1987.
[35] S. T. Taft, "DIANA as an internal Representation in an Ada-In-Ada Compiler," inProc. Ada TEC Conf. Ada.ACM, Arlington, VA, Oct. 1982, pp. 261-265.
[36] J. Uhl, "A formal definition of DIANA," inLecture Notes in Computer Science: Ada Software Tools Interfaces, G. Goos and J. Hartmanis, Springer-Verlag, 1983, pp. 35-47.
[37] C. S. Wetherell, "The Ada breadboard compiler: An overview," Bell Labs., Tech. Rep., 1982.
[38] N. Wirth, "From Modula to Oberon and the programming language Oberon," ETH, Tech. Rep. 82, Sept. 1987.
[39] N. Wirth, "Type extensions,"ACM Trans. Program. Lang. Syst., vol. 10, no. 2, pp. 204-214, Apr. 1988.
[40] B. Zorn, "Experiences with Ada code generation," Univ. California, Berkeley, Tech. Rep. UCB/CSD 85/249, June 1985.
[41] Reference Manual for the Ada Programming Language, U.S. Dep. Defense, Washington, DC, ANSI/MIL-STD-1815A, 1983.

Index Terms:
Interface Description Language type model; cooperating processes; programming environment; mapping; IDL; C data structures; macro definitions; type safe; run-time efficient; preprocessor; efficiency; ease of use; C language; data structures; high level languages; programming environments
Citation:
K. Shannon, R. Snodgrass, "Mapping the Interface Description Language Type Model into C," IEEE Transactions on Software Engineering, vol. 15, no. 11, pp. 1333-1346, Nov. 1989, doi:10.1109/32.41327
Usage of this product signifies your acceptance of the Terms of Use.