Knowledge-based graph theoretic analysis of data flow diagrams: integrating CASE tools with expert systems

A data flow diagram (DFD) is a computer aided software engineering (CASE) tool that is often used in the requirements analysis and specification stages of information systems development. The DFD is primarily utilized for documenting the existing system in order to ensure that analyst understands and accurately defines the requirements. Most commercial CASE products provide some means for checking DFDs for syntactic errors, however, the sheer complexity of the DFD precludes any systematic semantic analysis of the diagram. The objective of this paper is to use graph algorithms and a knowledge base in order to do a semantic, or meaning-based, analysis of a DFD. Our algorithm is a step towards automating the removal of redundancies, directed cycles, and other irrelevant substructures that may be interpreted as being wasteful in the information system being analyzed. It is hoped that our method will be useful in evaluating both existing implementations and proposed systems.