Composite Programs: Hierarchical Construction, Circularity, and Deadlocks

  • Authors:
  • Waleed A. Muhanna

  • Affiliations:
  • -

  • Venue:
  • IEEE Transactions on Software Engineering
  • Year:
  • 1991

Quantified Score

Hi-index 0.00

Visualization

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.