This Article 
 Bibliographic References 
 Add to: 
A Template-Based Approach to the Generation of Distributed Applications Using a Network of Workstations
January 1991 (vol. 2 no. 1)
pp. 52-67

A computational model and system for the generation of distributed applications in a workstation environment are presented. The well-known RPC model is modified by a novel concept known as template attachment. A computation consists of a network of sequential procedures which have been encapsulated in templates. A small selection of templates is available from which a distributed application with the desired communication behavior can be rapidly built. The system generates all the required low-level code for correct synchronization, communication, and scheduling. This results in a system that is easy to use and flexible and can provide a programmer with the desired amount of control in using idle processing power over a network of workstations. The practical feasibility of the model has been demonstrated by implementing it for Unix-based workstation environments.

[1] W. C. Athas and C. L. Seitz, "Multicomputers: Message-passing concurrent computers,"IEEE Comput. Mag., vol. 21, no. 8, pp. 9-24, Aug. 1988.
[2] R. G. Babb II, "Parallel processing with large grain data flow techniques,"IEEE Comput. Mag., vol. 17, no. 7, pp. 55-61, 1984.
[3] D.H. Ballard and C.M. Brown, "Scene labeling and constraint relaxation," inComputer Vision. Englewood Cliffs, NJ: Prentice-Hall, 1982, pp. 408-430, sect. 12.4.
[4] J. G. P. Barnes, "An overview of Ada,"Software-Practice and Experience, vol. 10, pp. 851-887, 1980.
[5] A. D. Birrell and B. J. Nelson, "Implementing remote procedure calls,"ACM Trans. Comp. Syst., vol. 2, no. 1, pp. 39-59, Feb. 1984.
[6] P. B. Hansen, "Distributed processes: A concurrent programming concept,"Commun. ACM, vol. 21, no. 11, pp. 934-941, Nov. 1987.
[7] G. Butler and M. J. Kendall, "The suitability of master/slave concurrency of Concurrent Euclid, Ada, Modula,"Software-Practice and Experience, vol. 17, no. 2, pp. 117-134, Feb. 1987.
[8] D. R. Cheriton and W. Zwaenepol, "The distributed v kernel and its performance for diskless workstations," inProc. 9th Symp. Operating System Principles, ACM SIGOPS, Bretton Woods, NH, Oct. 1983, pp. 128-139.
[9] S. Cohen and D. Lehmann, "Dynamic systems and their distributed termination," inProc. ACM SIGACT-SIGOPS Symp. Principles Distributed Comput., Ottawa, Canada, Aug. 18-20, 1982, pp. 29-33.
[10] M. E. Conway, "A multiprocessor system design," inProc. AFIPS Fall Joint Comput. Conf., Nov. 1963, pp. 139-146.
[11] J. B. Dennis and E. C. Van Horn, "Programming semantics for multiprogrammed computations,"Commun. ACM, pp. 143-155, Mar. 1966.
[12] S. I. Feldman, "Make-A program for maintaining computer programs,"Software-Practice and Experience, Apr. 1979.
[13] N. Francez, "Distributed termination,"ACM Trans. Programming Languages Syst., vol. 2, no. 1, pp. 42-55, Jan. 1980.
[14] J. Gaschnig, "A constraint satisfaction method for inference making," inProc. 12th Allerton Conf. Circuit Syst. Theory, Urbana, IL, Oct. 1974.
[15] E.F. Gehringer, D.P. Siewiorek, and Z. Segall,Parallel Processing: The Cm*Experience, Digital Press, Billerica, Mass., 1987.
[16] M. Green and J. Schaeffer, "Frameworks: A distributed computer animation system." inProc. Canadian Inform. Processing Soc. Edmonton '87, 1987, pp. 305-310.
[17] R. Hagmann, "Process Server: Sharing processing power in a workstation environment," inProc. 6th Int. Conf. Distributed Comput. Syst., May 1986, pp. 260-267.
[18] C. A. R. Hoare, "Communicating sequential processes,"Commun. ACM, vol. 21, pp. 666-677, 1978.
[19] K. Hwang, W. J. Croft, and G. H. Gobleet al., "A UNIX-based local computer network with load balancing,"IEEE Comput. Mag., pp. 55-65, Apr. 1982.
[20] H.F. Jordan, "Structuring Parallel Algorithms in a MIMD, Shared-Memory Environment,"Parallel Computing, May 1986, pp. 93-110.
[21] S. J. Leffler, W.N. Joy, and R. S. Fabry, "4.2BSD networking implementation notes," Univ. of California at Berkley, July 1983.
[22] T. A. Marsland, T. Breitkreutz, and S. Sutphen, "NMP-A network multi-processor," Tech. Rep. 88-12, Dep. Comput. Sci., Univ. of Alberta, Dec. 1988.
[23] J. T. McCall, J. G. Tront, F. G. Gray, R. M. Haralick, and W. M. McCormack, "Parallel computer architectures and problem solving strategies for the consistent labeling problem,"IEEE Trans. Comput., vol. C-34, no. 11, pp. 973-980, Nov. 1985.
[24] P. Mehrotra and T. W. Pratt, "Language concepts for distributed processing of large arrays." inProc. Symp. Principles Distributed comput., Aug. 1982, pp. 19-28.
[25] A. N. Mucciardi and E. E. Gose, "A comparison of seven techniques for choosing subsets of pattern recognition properties,"IEEE Trans. Comput., vol. C-20. pp. 1023-1023 Sept. 1971.
[26] D. A. Nichols, "Using idle workstations in a shared computing environment," inProc. 11th Symp. on Operating Syst. Principles, Nov. 1987, pp. 5-12.
[27] M. L. Powell and B. P. Miller, "Process migration in DEMOS/MP," inProc. Ninth Symp. Oper. Syst. Principles, Bretton Woods, NH, Oct. 1983, pp. 110-119.
[28] R. F. Rashid, "Threads of a new system."Unix Rev., Aug. 1986, pp. 37-49.
[29] J. Schaeffer, "Distributed game-tree searching,"J. Parallel Distributed Comput., vol. 6, pp. 90-114, 1989.
[30] J. F. Shoch and J. A. Hupp, "The 'Worm' programs--early experience with a distributed computation,"Commun. ACM, vol. 25, no. 3, pp. 172-180, Mar. 1982.
[31] G. Singh and M. Green, "Visual programming of graphical user interfaces," inProc. Workshop on Visual Languages, Linkoping, Sweden, Aug. 1987, pp. 161-173.
[32] G. Singh and M. Green, "A high-level user interface management system," inProc. ACM SIGCHI'89, New York, Apr. 1989.
[33] A. Singh, J. Schaeffer, and M. Green, "Structuring distributed algorithms in a workstation environment: The Frameworks approach," inProc. Int. Conf., Parallel Processing, vol. 2, Aug. 1989, pp. 89-97.
[34] A. Singh, "FrameWorks: A distributed computing environment," Ph.D. dissertation, Dep. Comput. Sci., Univ. of Alberta, 1990, in preparation.
[35] A. Singh, J. Schaeffer, and M. Green, "Frameworks user manual," Dep. Comput. Science, Univ. of Alberta, 1990, in preparation.
[36] M. Theimer, K. Lantz, and D. Cheriton, "Preemptable Remote Execution Facilities for the V-System,"Proc. 10th Symp. Operating Syst. Principles, Dec. 1985, pp. 2-12.
[37] B. Walker et al., "The Locus Distributed Operating System,"Proc. Ninth ACM Symp. Operating Systems Principles, Oct. 1983, pp. 49-70.

Index Terms:
Index Termsdistributed applications generation; template-based approach; network of workstations; computational model; RPC model; template attachment; sequential procedures; communication behavior; low-level code; correct synchronization; scheduling; Unix-based workstation environments; distributed processing; parallel programming; programming environments; software engineering
A. Singh, J. Schaeffer, M. Green, "A Template-Based Approach to the Generation of Distributed Applications Using a Network of Workstations," IEEE Transactions on Parallel and Distributed Systems, vol. 2, no. 1, pp. 52-67, Jan. 1991, doi:10.1109/71.80189
Usage of this product signifies your acceptance of the Terms of Use.