This Article 
 Bibliographic References 
 Add to: 
An Algebra for Data Flow Diagram Process Decomposition
February 1988 (vol. 14 no. 2)
pp. 169-183

Data flow diagram process decomposition, as applied in the analysis phase of software engineering, is a top-down method that takes a process, and its input and output data flows, and logically implements the process as a network of smaller processes. The decomposition is generally performed in an ad hoc manner by an analyst applying heuristics, expertise, and knowledge to the problem. An algebra that formalizes process decomposition is presented using the De Marco representation scheme. In this algebra, the analyst relates the disjoint input and output sets of a single process by specifying the elements of an input/output connectivity matrix. A directed acyclic graph is constructed from the matrix and is the decomposition of the process. The graph basis, grammar matrix, and graph interpretations, and the operators of the algebra are discussed. A decomposition procedure for applying the algebra, prototype, and production tools and outlook are also discussed.

[1] T. De Marco,Structured Analysis and System Specification. New York: Yourdon, 1978.
[2] C. Gane and T. Sarson,Structured Systems Analysis: Tools and Techniques. Englewood Cliffs, NJ: Prentice-Hall, 1979.
[3] D. T. Ross and J. W. Brackett, "An approach to structured analysis,"Comput. Decisions, vol. 8, no. 9, pp. 40-44, Sept. 1976.
[4] N. Prywes, Y. Shi, B. Szymanski, and J. Tseng, "Supersystem programming with Model,"Computer, vol. 19, no. 2, pp. 50-60, Feb. 1986.
[5] P. Ward and S. Mellor,Structured Development for Real-Time Systems, Vols. 1-3, Yourdon Press, New York, 1985.
[6] M. Jackson,Principles of Program Design. London: Academic, 1975.
[7] M. N. S. Swamy and K. Thulasiraman,Graphs, Networks and Algorithms. New York: Wiley, 1981.
[8] Z. Manna and R. Waldinger,The Logical Basis for Computer Programming, vol. 1,Deductive Reasoning. Reading, MA: Addison-Wesley, 1985.
[9] T. Gonzalez and J. Ja' Ja', "Evaluation of arithmetic expressions with algebraic identities,"SIAM J. Comput., vol. 11, no. 4, pp. 633-662, Nov. 1982.
[10] A. V. Aho, R. Sethi, and J. D. Ullman,Compilers: Principles, Techniques, and Tools. Reading, MA: Addison-Wesley, 1986.
[11] H. Gomaa, "A software design method for real-time systems,"Commun. ACM, vol. 27, no. 9, pp. 938-949, Sept. 1984.

Index Terms:
data flow diagram process decomposition; software engineering; top-down method; De Marco representation scheme; input/output connectivity matrix; directed acyclic graph; grammar; directed graphs; program verification; programming theory; software engineering
M. Adler, "An Algebra for Data Flow Diagram Process Decomposition," IEEE Transactions on Software Engineering, vol. 14, no. 2, pp. 169-183, Feb. 1988, doi:10.1109/32.4636
Usage of this product signifies your acceptance of the Terms of Use.