This Article 
 Bibliographic References 
 Add to: 
A Packaging System for Heterogeneous Execution Environments
June 1991 (vol. 17 no. 6)
pp. 626-635

A packaging system that allows diverse software components to be easily interconnected within heterogeneous programming environments is described. Interface software and stubs are generated for programmers automatically once the programmers express their application's geometry in a few simple rules and module interconnection language attributes. By generating custom interface code for each application, based on analysis and extraction of interfacing requirements, the system is able to produce executables whose run-time performance is comparable to manually integrated applications. The system is implemented within the Unix environment.

[1] B. Allen and S. Lee, "A knowledge-based environment for the development of software parts composition systems," inProc. IEEE 11th Int. Conf. Software Eng., May 1989, pp. 104-112.
[2] M. Barbacci, D. Doubleday, C. Weinstock, and J. Wing, "Developing applications for heterogeneous Mechina networks: The Durra environment,"USENIX Comput. Syst., vol. 2, pp. 7-35, 1989.
[3] B.N. Bershad, "High-Performance Cross-Address Space Communication," Ph.D. thesis, Tech. Report 90-06-02, University of Washington, Seattle, 1990.
[4] B. Bershad, D. Ching, E. Lazowska, J. Sanislo, and M. Schwartz, "A remote procedure call facility for interconnecting heterogeneous computer systems,"IEEE Trans. Software Eng., vol. SE-13, pp. 880-894, Aug. 1987.
[5] F. DeRemer and H. Kron, "Programming-in-the-large versus programming-in-the-small,"IEEE Trans. Software Eng., vol. SE-2, pp. 80-86, June 1976.
[6] J. Falcone, "A programmable interface language for heterogeneous distributed systems,"ACM Trans. Comput. Syst., vol. 5, pp. 330-351, Nov. 1987.
[7] S. Feldman, "Make: A program for maintaining computer programs,"UNIX Programmer's Manual, USENIX, 1984.
[8] P. Gibbons, "A stub generator for multilanguage RPC in heterogeneous environments,"IEEE Trans. Software Eng., vol. SE-13, pp. 77-87, Jan. 1987.
[9] J. Jones, R. Rashid, and M. Thompson, "Matchmaker: An interface specification language for distributed processing," inProc. 12th ACM Symp. Principles of Programming Languages, Jan. 1985, pp. 225-235.
[10] J. Magee, J. Kramer, and M. Sloman, "Constructing distributed systems in Conic,"IEEE Trans. Software Eng., vol. 15, pp. 663-675, June 1989.
[11] D. Perry, "The Inscape Environment," inProc. 11th Int. Conf. Software Engineering, IEEE, 1989, pp. 2-12.
[12] J. Purtilo and J. Callahan, "Parse tree annotations,"Commun. ACM, vol. 32, pp. 1467-1477, Dec. 1989.
[13] J. Purtilo, "The Polylith software bus," Dep. Comput. Sci., Univ. Maryland, Tech. Rep. 2469, 1990 (to be published inACM Toplas).
[14] M. Schroeder and M. Burrows," Performance of the firefly RPC,"ACM Trans. Comput. Syst., vol. 16, pp. 1-17, Feb. 1990.
[15] R. Snodgrass,The Interface Description Language. Rockville, MD: Computer Science Press, 1989.
[16] E. Soloway, J. Bachant, and K. Jensen, "Assessing the maintainability of XCON-in-RIME: Coping with the problems of a very large rule base," inProc. Nat. Conf. Artificial Intelligence, July 1987.
[17] J. Stamos and D. Gifford, "Implementing remote evaluation,"IEEE Trans. Software Eng., vol. 16, pp. 710-722, July 1990.
[18] External Data Representation Reference Manual, Sun Microsystems, Jan. 1985.
[19] Remote Procedure Call Protocol Specification, Sun Microsystems, Jan. 1985.
[20] M. Tiemann, "Solving the RPC problem in GNU C++," inProc. 1988 USENIX C++ Conf., 1988, pp. 343-361.
[21] Courier: The Remote Procedure Call Protocol, Special Information Systems, Xerox Corp., 1981.

Index Terms:
packaging system; heterogeneous execution environments; diverse software components; heterogeneous programming environments; geometry; module interconnection language attributes; custom interface code; interfacing requirements; Unix environment; automatic programming; configuration management; programming environments; user interfaces
J.R. Callahan, J.M. Purtilo, "A Packaging System for Heterogeneous Execution Environments," IEEE Transactions on Software Engineering, vol. 17, no. 6, pp. 626-635, June 1991, doi:10.1109/32.87286
Usage of this product signifies your acceptance of the Terms of Use.