Title :
Composite programs: hierarchical construction, circularity, and deadlocks
Author :
Muhanna, Waleed A.
Author_Institution :
Fac. of Manage. Inf. Syst., Ohio State Univ., Columbus, OH, USA
fDate :
4/1/1991 12:00:00 AM
Abstract :
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
Keywords :
concurrency control; graph theory; programming environments; programming theory; atomic programs; circularity; communication behavior; communication deadlocks; composite programs; coupling graph; cycle enumeration; cyclic; deadly cycles; decomposition; graph theory; hierarchical construction; input ports; interfaces; necessary and sufficient conditions; nonprocedural development environment; output ports; Concurrent computing; Design methodology; Distributed computing; Physics computing; Predictive models; Programming profession; Safety; Sufficient conditions; System recovery; System testing;
Journal_Title :
Software Engineering, IEEE Transactions on