Modified structured decision table and its complexity
Arun Kumar Misra, B.D. Chaudhary · ACM SIGPLAN Notices · 1989
A modified structured decision table (MSDT) is introduced [7] which is a modification of Structured decision Table (SDT) [6] to document stages of the topdown program development. The level definition of MSDT is kept such as to maintain conformation with the top-down methodology of program construction. Further, the MSDT besides functionally converting any flowchart, exposes the construction of a program by considering one basic program construct at a time. In a Conventional Decision Tables (CDT) the conditions are assumed to be independent of execution of action and the fact that execution of an action may affect the outcome of a condition test is not considered. It is also not taken into account that there may be an action defining a variable without which condition test is not possisble. But in case of MSDT such an assumption is not made and the construction of a MSDT proceeds in such a way that these facts are always taken into account. Further in a CDT conditions can be tested in any sequence independent of their occurences, where as in a MSDT conditions are tested in a sequence totally dependent of their occurences, and there exists a definite ordering in testing of conditions in MSDT. It has been shown that MSDT is also capable of representing both structured as well as unstructured flowcharts or programs without any change in the basic notions used for the construction of MSDT. It is possible to convert unstructured flowcharts where unstructuredness is due to intersecting Ifs, Loop with multiple exit and multiple entry and Loop with mid exit, to MSDT without any change in execution sequence with c+1 levels where c is the number of basic program constructs in a program or flowchart. It is also possible to obtain CDT or decision table suggested in [4] from SDT. The two complexity measures defined in [4] for decision tables are level complexity (∧) which is the number of values its sequencing variable assumes when ∞ is not counted and cyclomatic complexity (VT) is equal to ρ−∧ where ρ is the number of rules in a decision table. Applying these measures, complexities of different example decision tables has also been evaluated and it has been shown that complexity of a MSDT of program or flowchart is equal to the sum of complexities of the basic program constructs available in the program or flowchart. Further the level and cyclomatic complexities of these MSDT's compares very favourably with other decision tables.