This Article 
 Bibliographic References 
 Add to: 
Composite Programs: Hierarchical Construction, Circularity, and Deadlocks
April 1991 (vol. 17 no. 4)
pp. 320-333

A graph-oriented, nonprocedural development environment in which composite programs are constructed by coupling a collection of existing component programs, the interfaces of which are defined by a fixed number of input ports and output ports, is discussed. It is shown that when the coupling graph is cyclic there is the possibility of a deadlock. A system that permits hierarchical construction of programs while testing, using a simple algebraic procedure, the resulting composite programs for communication deadlocks is presented. A decomposition-based approach to cycle enumeration is described. A formal graph-theoretic model of communication behavior for a class of atomic programs is presented. The model is then used to derive necessary and sufficient conditions for a deadlock to arise in a cycle. Techniques for dealing with deadly cycles (once identified) and improving the efficiency of their execution, once the cycles have been resolved, are described.

[1] A. V. Aho, J. E. Hopcroft, and J. D. Ullman,The Design and Analysis of Computer Algorithms. Menlo Park, CA: Addison-Wesley, 1974.
[2] G. R. Andrews and F. B. Schneider, "Concepts and notations for concurrent programming,"ACM Comput. Surveys, vol. 15, no. 1, pp. 3-43, Mar. 1983.
[3] R. W. Blanning, "Issues in the design of relational model management systems," inProc. Nat. Computer Conf., 1983, pp. 359-401.
[4] R. W. Blanning, "A relational framework for join implementation in model management systems,"Decision Support Syst., vol. 1, no. 1, pp. 69-81, Jan. 1985.
[5] K. M. Chandy, J. Misra, and L. M. Haas, "Distributed deadlock detection,"ACM Trans. Comput. Syst., vol. 1, no. 2, pp. 144-156, May 1983.
[6] E.G. Coffman, Jr., M. J. Elphick, and A. Shoshani, "System deadlocks,"ACM Comput. Surveys, vol. 3, no. 2, pp. 67-78, June 1971.
[7] T. DeMarco,Structured Analysis and System Specification. Englewood Cliffs, NJ: Prentice-Hall, 1979.
[8] E. W. Dijkstra, "Cooperating sequential processes," inProgramming Languages, F. Genuys, Ed. New York: Academic, 1968, pp. 43-112.
[9] D. R. Dolk and B. R. Konsynski, "Knowledge representation for model management systems,"IEEE Trans. Software Eng., vol. SE-10, no. 6, pp. 619-628, Nov. 1984
[10] A. Dutta and A. Basu, "An artificial intelligence approach to model management in decision support systems,"Computer, vol. 17, no. 9, pp. 89-97, Sept. 1984.
[11] J. J. Elam, J. C. Henderson, and L. W. Miller, "Model management systems: An approach to decision support in complex organizations," inProc. 1st Int. Conf. Information Systems, Dec. 1980, pp. 98-110.
[12] G. Estrin, R. S. Fenchel, R. R. Razouk, and M. K. Vernon, "SARA (System ARchitects Apprentice): Modeling, analysis, and simulation support for design of concurrent systems,"IEEE Trans. Software Eng., vol. SE-12, no. 2, pp. 293-311, Feb. 1986.
[13] M. R. Garey and D. S. Johnson,Computers and Intractability: A Guide to Theory of NP-Completeness. San Francisco, CA: Freeman, 1979.
[14] I. S. Gopal, "Prevention of store-and-forward deadlock in computer networks,"IEEE Trans. Commun., vol. COM-33, no. 12, pp. 1258-1264, Dec. 1985.
[15] K. D. Gunther, "Prevention of deadlocks in packet-switched data transport systems,"IEEE Trans. Commun., vol. COM-29, no. 4, pp. 512-524, Apr. 1981.
[16] A. N. Habermann, "Prevention of system deadlocks,"Commun. ACM, vol. 12, no. 7, pp. 373-377, July 1969.
[17] F. Harary,Graph Theory. Reading, MA: Addison-Wesley, 1969.
[18] J. W. Havender, "Avoiding deadlock in multitasking systems,"IBM Syst. J., vol. 7, no. 2, pp. 74-84, 1968.
[19] R. C. Holt, "Some deadlock properties of computer systems,"ACM Comput. Surveys, vol. 4, no. 3, pp. 179-196, Sept. 1972.
[20] G. Kahn, "The semantics of a simple language for parallel programming," inProc. IFIP 74. Amsterdam, The Netherlands: North-Holland, Aug. 1974, pp. 471-475.
[21] T.-P. Liang, "Integrating model management with data management in decision support systems,"Decision Support Syst., vol. 1, no. 3, pp. 221-232, 1985.
[22] M. Maekawa, A. E. Oldehoeft, and R. R. Oldehoeft,Operating Systems: Advanced Concepts. Menlo Park, CA: Benjamin/Cummings, 1987.
[23] F. Mattern, "Algorithms for distributed termination detection,"Distributed Comput., vol. 2, pp. 161-175, 1987.
[24] W. A. Muhanna, "A systems framework for model management in organizations," Ph.D. dissertation, Univ. Wisconsin--Madison, Dec. 1987.
[25] W. A. Muhanna and R. A. Pick, "Composite models in SYMMS," inProc. 21st Annu. Hawaii Int. Conf. System Sciences, Jan. 1988, pp. 418-427.
[26] J. L. Peterson,Petri Net Theory and the Modeling of Systems. Englewood Cliffs, NJ: Prentice-Hall, 1981.
[27] V. Ramachandran, "Finding a minimum feedback arc set in reducible flow graphs,"J. Algorithms, vol. 9, pp. 299-313, 1988.
[28] H. E. Scarf,The Computation of Economic Equilibria. New Haven, CT: Yale University Press, 1973.
[29] R. E. Tarjan, "Depth-first search and linear graph algorithms,"SIAM J. Comput., vol. 1, no. 2, pp. 146-160, 1972.
[30] S. S. Yau and M. U. Caglayan, "Distributed software system design representation using modified Petri nets,"IEEE Trans. Software Eng., vol. SE-9, no. 6, pp. 733-745, Nov. 1983.
[31] B. P. Zeigler,Multifaceted Modelling and Discrete Event Simulation. London: Academic, 1984.

Index Terms:
decomposition; graph theory; hierarchical construction; circularity; nonprocedural development environment; composite programs; interfaces; input ports; output ports; coupling graph; cyclic; communication deadlocks; cycle enumeration; communication behavior; atomic programs; necessary and sufficient conditions; deadly cycles; concurrency control; graph theory; programming environments; programming theory
W.A. Muhanna, "Composite Programs: Hierarchical Construction, Circularity, and Deadlocks," IEEE Transactions on Software Engineering, vol. 17, no. 4, pp. 320-333, April 1991, doi:10.1109/32.90432
Usage of this product signifies your acceptance of the Terms of Use.