Formalized Structured Analysis Specifications David L
Total Page:16
File Type:pdf, Size:1020Kb
Iowa State University Capstones, Theses and Retrospective Theses and Dissertations Dissertations 1991 Formalized structured analysis specifications David L. Coleman Iowa State University Follow this and additional works at: https://lib.dr.iastate.edu/rtd Part of the Computer Sciences Commons, and the Mathematics Commons Recommended Citation Coleman, David L., "Formalized structured analysis specifications " (1991). Retrospective Theses and Dissertations. 9634. https://lib.dr.iastate.edu/rtd/9634 This Dissertation is brought to you for free and open access by the Iowa State University Capstones, Theses and Dissertations at Iowa State University Digital Repository. It has been accepted for inclusion in Retrospective Theses and Dissertations by an authorized administrator of Iowa State University Digital Repository. For more information, please contact [email protected]. INFORMATION TO USERS This manuscript has been reproduced from the microfihn master. UMI fUms the text directly &om the original or copy submitted. Thus, some thesis and dissertation copies are in typewriter face, while others may be from any type of computer printer. The quality of this reproduction is dependent upon the quality of the copy submitted. Broken or indistinct print, colored or poor quality illustrations and photographs, print bleedthrough, substandard margins, and improper alignment can adversely afifect reproduction. In the unlikely event that the author did not send UMI a complete manuscript and there are missing pages, these will be noted. Also, if unauthorized copyright material had to be removed, a note will indicate the deletion. Oversize materials (e.g., maps, drawings, charts) are reproduced by sectioning the original, beginning at the upper left-hand corner and continuing from left to right in equal sections with small overlaps. Each original is also photographed in one exposure and is included in reduced form at the back of the book. Photographs included in the original manuscript have been reproduced xerographically in this copy. Higher quality 6" x 9" black and white photographic prints are available for any photographs or illustrations appearing in this copy for an additional charge. Contact UMI directly to order. University Microfilms International A Bell & Howell Information Company 300 Nortti Zeeb Road. Ann Arbor, Ml 48106-1346 USA 313/761-4700 800/521-0600 Order Number 9212136 Formalized structured analysis specifications Coleman, David L., Ph.D. Iowa State University, 1991 UMI 300N.ZeebRd. Ann Arbor, MI 48106 ! Formalized structured analysis specifications by David L. Coleman A Dissertation Submitted to the Graduate Faculty in Partial Fulfillment of the Requirements for the Degree of DOCTOR OF PHILOSOPHY Major: Computer Science Approved; Members of the l^ommittee;Committee Signature was redacted for privacy. In Charge of MajofAVork Signature was redacted for privacy. For the Major Department Signature was redacted for privacy. Signature was redacted for privacy. For the Graduate College Iowa State University Ames, Iowa 1991 Copyright © David L. Coleman, 1991. All rights reserved. ii TABLE OF CONTENTS ACKNOWLEDGEMENTS xi CHAPTER 1. INTRODUCTION 1 1.1 Specifications 1 1.2 Two Views of Specifications 2 1.3 Formal Specifications 3 1.4 Structured Analysis Specifications 5 1.4.1 History of Structured Analysis 6 1.4.2 Structured Analysis Today 7 1.5 Overview of Dissertation 10 CHAPTER 2. TRADITIONAL STRUCTURED ANALYSIS .... 13 2.1 Overview 13 2.2 Structured Analysis Modeling Tools 13 2.2.1 Data Flow Diagrams 14 2.2.2 Data Dictionary 18 2.2.3 Process Specifications 20 2.2.4 Leveled Data Flow Diagrams 24 2.2.5 Extensions to SA Specifications 26 2.3 Ambiguities and Informalities in SA Modeling Tools 28 Ill 2.3.1 Ambiguities in Data Flow Diagrams 28 2.3.2 Ambiguities in the Data Dictionary 33 2.3.3 Ambiguities in Process Specifications 34 2.3.4 Ambiguities in Extensions to SA Specifications 34 CHAPTER 3. ABSTRACT MODEL SPECIFICATIONS IN SPECS 35 3.1 Overview 35 3.2 The ADT Domain 36 3.2.1 The Domain Source Set 38 3.2.2 The Domain Invariant 51 3.3 ADT Definitions 52 3.3.1 Constant Definitions 53 3.3.2 Type Definitions 53 3.3.3 Expression Definitions 54 3.4 ADT Operations 55 CHAPTER 4. AN ABSTRACT MODEL FORMALIZATION OF STRUCTURED ANALYSIS SPECIFICATIONS 58 4.1 Overview 58 4.2 The SA Model 60 4.2.1 The DFD Hierarchy 63 4.2.2 The DD 80 4.2.3 DFDs and DDEs Combined 85 CHAPTER 5. UNDERSTANDING FLOW BALANCING 88 5.1 Flow Balancing 88 5.2 Flow Labeling 91 iv 5.2.1 Value Named Flows 93 5.2.2 Type Named Flows 96 5.2.3 Modified Type Named Flows 98 5.3 Flow Value Behavior 101 5.3.1 Continuous versus Discrete Existence 102 5.3.2 Continuous versus Discrete Change 104 5.3.3 Continuous versus Discrete Domain 106 5.3.4 Interpreting Flow Value Behaviors 107 5.4 Flow Abstraction 110 5.4.1 Vergence Flow Abstraction 113 5.4.2 Decomposition Flow Abstraction 157 5.4.3 Other Composition Expression Operators 160 5.5 Flow Balancing Summarized 162 CHAPTER 6. SYNTHESIS OF STRUCTURED ANALYSIS AND OBJECT-ORIENTED SPECIFICATIONS 169 6.1 Overview 169 6.2 Traditional SA Data Structuring 171 6.3 Comparing Composition Expressions and SPECS 173 6.3.1 Structured Types 173 6.3.2 Primitive Types 177 6.4 Using SPECS ADTs 180 6.5 Merging Objected-Oriented Specifications and SA 182 CHAPTER 7. SPECIFYING PROCESS BUBBLES 185 7.1 Overview 185 7.2 What is a Process Bubble? 186 7.3 Kung's Process Specifications 192 7.3.1 Information Flow Expressions 192 7.3.2 The Synchronization Problem 197 7.3.3 Consistency Checking Deficiency 200 7.3.4 Augmented Information Flow Expressions 206 7.4 Modified Stated Transition Diagram Process Specifications 214 CHAPTER 8. FORMALIZING STORES AND TERMINATORS . 219 8.1 Overview of Other DFD Components 219 8.2 Stores 219 8.2.1 Do We Need Stores? 220 8.2.2 Balancing Flows 221 8.2.3 Concurrent Stores 222 8.2.4 The Future of Stores 224 8.3 Terminators 225 CHAPTER 9. SEMANTICS OF SA SPECIFICATIONS 228 9.1 Overview 228 9.2 An Operational Interpretation 229 CHAPTER 10. CONCLUSIONS 232 10.1 Summary 232 10.2 Future Work 234 10.3 Benefits 237 REFERENCES 240 vi LIST OF TABLES Table 3.1; BNF Meta-symbols 49 Table 3.2: ADT Operation Types 56 Table 4.1: DDE Composition Expression Syntax 84 Table 5.1: Flow Value Change versus Flow Value Existence 107 Table 5.2: Layered Bundling Timing Example 152 Table 6.1: Syntactic Definition of integer 179 Table 6.2: Integer Subrange Definition 179 Table 7.1: Kung's Consistency Proof 205 Table 7.2: Consistency Proof Fails 206 Table 7.3: Producer Consistency Proof 212 Table 8.1: Interface Behavior Syntax 227 VII LIST OF FIGURES Figure 1.1: DFD of an Order Processing System 8 Figure 2.1: Procedural Annotation 15 Figure 2.2: Diverging, Converging, and Dialogue Flows 17 Figure 2.3: Basic Decision Table Format 22 Figure 2.4: Example Decision Table 22 Figure 2.5: Example Decision Tree 23 Figure 2.6: A Hierarchy of DFDs 25 Figure 2.7: Example Entity Relationship Diagram 27 Figure 2.8: Control Modeling in SA Specifications 28 Figure 2.9: Example State Transition Diagram 29 Figure 3.1: General Form of a SPECS ADT 37 Figure 3.2: A Recursive Expression Definition 47 Figure 4.1: Example SA Specification 61 Figure 4.2: DFD Diagraming Techniques 64 Figure 4.3: Converging and Diverging Flows 67 Figure 4.4: Excessive Flow Restriction 75 Figure 4.5: Example P-Spec 77 vni "Football Field Sized" DFD 91 Context Diagram Using Value Naming 93 Decomposition Using Value Naming 94 P-Spec Using Value Naming 95 Decomposition Using Type Naming 97 Decomposition Using Modified Type Naming 99 P-Spec Using Modified Type Naming 100 The Value of a Continuous Flow 105 The Value of a Discrete Flow 106 Traditional Labelings of Vergence Flow Abstraction .... 114 Other Labelings of Vergence Flow Abstraction 114 Strict Convergence and Divergence 116 Non-strict Convergence and Divergence 116 Vergence Tree Construction Algorithm 123 Example Vergence Tree 124 No Implicit Access to the Convergent X Flow 135 No Implicit Access to Any X Flows 136 The Merging Convergence 138 The Copying Divergence 139 The Combining Convergence 140 The Alternating Convergence 140 The Splitting Divergence 141 The Selecting Divergence 141 Timing of a Composite Select/Merge/Alternate Vergence . 142 ix Figure 5.25: Timing of a Composite Copy/Split/Combine/Merge Vergence 142 Figure 5.26: Timing of a Composite Select/Copy/Alternate Vergence . 143 Figure 5.27: Timing of a Composite Copy/Split Vergence 143 Figure 5.28: An Ambiguous Combine Converge 145 Figure 5.29: A Non-simple Convergence 147 Figure 5.30: Equivalent Simple Convergences 147 Figure 5.31: Equivalent Simple Vergences 148 Figure 5.32: Timing of Figure 5.30 149 Figure 5.33: Timing of Figure 5.31 149 Figure 5.34: Layered Bundling Example 151 Figure 5.35: Layered Bundling Equivalent Simple Vergences 152 Figure 5.36: Strict Consumable Vergence Balancing Algorithm 154 Figure 5.37: Equivalent Simple Strict Vergences 156 Figure 5.38: Other Equivalent Simple Strict Vergences 156 Figure 5.39: Timing for Growing Queue Example 157 Figure 5.40: Timing of Optional Convergence 161 Figure 5.41: Timing of Optional Divergence 162 Figure 5.42: Disjunctive Normal Form Algorithm 167 Figure 6.1: Dual Composition Expression Operator Usage 171 Figure 6.2: The DFD/ADT Boundary 183 Figure 7.1: The producer-consumer Example 198 Figure 7.2: Corrected producer-consumer Example 199 Figure 7.3: A Decomposition of the Producer Process 202 X Figure 7.4: A Corrected Decomposition of the Producer Process 208 Figure 8.1: A Storeless Producer-Consumer DFD 221 Figure 8.2: A DFD Decomposition of a Store 224 I xi ACKNOWLEDGEMENTS I am deeply indebted to my thesis advisor and friend, Dr.