Universal Sun Industries INC

Using Karnaugh Maps in Software Requirements Analysis

  1. Managing Director
  2. Managing Director

Preface

Faulty requirements leading to design deficiencies have been shown to be an avoidable root cause of many product failures. Reflecting the theme of the 2017 International System Safety Society Conference, this book is an effort to push the boundaries of system safety by proposing a novel approach for discovering faulty or missing software requirements by adopting a proven methodology heretofore used in circuit analysis. Karnaugh Maps (K-Maps) are employed in Application Specific Integrated Circuit (ASIC) design to minimize power consumption, facilitate temperature control, increase functionality, and minimize the number of physical logic gates. K-Maps are ideally suited to impose order on Boolean expressions that describe the operation of electronic circuits. With the assumption that software requirements are expressible as logical statements, this book assesses the ability of K-Maps to analyze software requirements, and seeks to demonstrate that K-Maps can be used not only to minimize the number of requirements but also to detect missing requirements. The analysis conducted in the course of developing this book indicates that K-Maps can effectively identify faulty requirements, demonstrating this ability with several examples of varying complexity.

Table of Contents

Preface......................................................................................................5
Acknowledgments ...................................................................................6
1. Introduction...........................................................................................9
1.1 Purpose................................................................................................9
1.2 Objective .............................................................................................9
1.3 Scope ...................................................................................................9
2. Karnaugh Map Background.................................................................11
3. Key Concepts.........................................................................................13
3.1 Boolean Algebra..................................................................................13
3.2 Sums of Products and Minterms.......................................................14
3.3 Truth Tables and K-Maps....................................................................15
3.4 Mapping from Truth Tables to K-Maps .............................................20
3.5 Hamming Distance ..............................................................................21
4. Requirements .........................................................................................23
4.1 Safety and Other Implications of Requirements Omissions ..........23
4.2 Standard Forms.....................................................................................27
4.3 Related Requirements..........................................................................29
4.4 How to Interpret the Entries in a K-Map as a Requirement ............29
4.5 Example of Three and Four-Variable K-Maps with Requirements...37
5. Applications of K-Maps in Requirements Analysis ..............................43
5.1 Mapping from Requirements to K-Map .............................................43
5.2 Using a K-Map to detect Missing Requirements................................44
5.3 Using a K-Map for Requirements Minimization.................................46
6. Other Uses of K-Maps.............................................................................55
7. K-Maps and Complex System Requirements.......................................57
8. K-Map Solvers ..........................................................................................61
8.1 A Conventional Solver ..........................................................................61
9. Why K-Maps for Requirements Analysis?.............................................67
10. Summary ...............................................................................................69
11. References.............................................................................................71
12. Biography .............................................................................................73