Enhanced Unified Modeling Language Model-Checking For Business Software Applications A dissertation submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy at George Mason University By - John C. Zubeck Bachelor Of Arts University Of Virginia, 1979 Master Of Science Howard University, 1984 Director: David C. Rine, Professor The Volgenau School of Information Technology and Engineering Fall Semester 2006 George Mason University Fairfax, Virginia UMI Number: 3239476 Copyright 2007 by Zubeck, John C. All rights reserved.
INFORMATION TO USERS 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 bleed-through, substandard margins, and improper alignment can adversely affect reproduction. In the unlikely event that the author did not send 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.
® UMI UMI Microform 3239476 Copyright 2007 by ProQuest Information and Learning Company. All rights reserved. This microform edition is protected against unauthorized copying under Title 17, United States Code. ProQuest Information and Learning Company 300 North Zeeb Road P.
Box 1346 Ann Arbor, MI 48106-1346 ENHANCED UNIFIED MODELING LANGUAGE MODEL-CHECKING FOR BUSINESS SOFTWARE APPLICATIONS by John C. Zubeck A Dissertation Submitted to the Graduate Faculty of George Mason University in Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy Information Technology Committee: ® Ú “Ys David C. Rine, Dissertation Director “Crete TV ¬ VÀ~ NT: Donald Gantz Lhe ⁄ S — David Schum O Daniel Menascé LEE Daniel Menascé, Associate Dean for an Research and Graduate Studies A A Lloyd J. Griffiths, Dean, The —/ // Volgenau School of Information Technology and Engineering Date: Oc 4 ớ L, er 2 5, 2006 Summer Semester 2006 í George Mason University Fairfax, Virginia ii Dedication To Simone, my darling wife, and to my mother, Carolyn, neither of whom have escaped from the longing to find truth and to do some good in the world.
All life is darkness except where there is urge. All urge is blind except when there is knowledge. All knowledge is in vain except when there is work. All work is empty except when there is love.
--- Kahlil Gibran iii Acknowledgements I would like to express my gratitude to David Rine, my dissertation advisor, for showing me to have faith and to work with patience. I have to thank my first, late wife, Maggie, and my dear daughter, Katie, for the love and encouragement that sustained me earlier in this program. Also my cousin, Veronica Whitehill, has expressed her unflagging support over many years. It is ajoy to express my appreciation for my friend, Steve Ungaro, for inspiring me with how he developed software, fought off cancer, and lived and loved with sheer enthusiasm.
Steve "met with triumph and disaster and treated those two impostors just the same". I certainly would not have finished this program without the advice of my colleague and. friend, Doug Whall, who is raising the quality of technology consulting at Booze Allen and Hamilton. It is a pleasure to acknowledge my friend, Jim Guill, now the chess master, who taught me to first look for the essential subset of knowledge needed for any task.
Also, among my talented friends, I cannot forget my friend and colleague, David Webber, whose thirst for ingenious software triggered my interest in the Prolog software language. I would also like to thank some departed friends but ones who are always with me reminding me always of the value of good writing. Aldeth Spence Christy, thank you for having the integrity to write a journal that spanned a hundred books. Peter Taylor, thank you for teaching me to look for and express powerful truths rather than cleverness in writing.
Also, I would like to thank David and Susana Slayton, the owners and founders of Dynamic Animation Systems, and the many folks at their company who encouraged me and made possible the last year of my program. I greatly appreciate technical dialogs with my friends and colleagues at SAIC, Boeing, Lockheed-Martin, Verizon, Telelogics, Rational Corp., LNK, MCI, the US Army, the engineers at the Naval Surface Warfare Center at Dahlgren, and, of course, fellow students and faculty at George Mason University. iv Table Of Contents Page CHAPTER 1 INTRODUCTION .2 Software Development Flounders Without UML Modeling & Design Diagramming. 3 13 UML Diagrams Become a Blueprint for Discussion 5 1.4 UML Modeling-For-Design in the Business Domain 6 1.5 UML Checking For The Business Domain At The Right Level Of Abstraction 8 1.6 Refactoring: Rearranging the Composition of UML for the Model-To-Design 9 1.7 Strategic Naming Of The Elements That Go Inside UML Diagrams 13 1.8 UML-Model-Checker And Its Methodology Promote Software Reuse 17 1.9 Contributions Of This Research 18 CHAPTER 2 PROBLEM STATEMENT AND HYPOTHESIS.21 First Sub-HypothesiS.
LH HH ng Ho TH Ho TH HC HH HH TH Tư nt 23 2.22 Second Sub-Hypothesis. Án nành HH HH TH TH HC HT TH tr 23 CHAPTER 3 BACKGROUND.1 What Is UML Diagramming And How Is UML Used .2 Impact of UML Modeling On the Software Development Lifecycle 28 3.3 Critical Elements of A Software Accounting System (Domain Example Is Accounting).4 Obstacles to Assisted UML Modeling of Business Software Systems 3.1 Knowledge Representation (KR) Of Business Software Application Model.2 Modeling-To-Design Across Distinctly Different Industries.3 Incompatibilities Among Software Design Paf(erTS.- Án ng HH HH, 3.4 Mapping UML To Data Base Structures & Application Processes.5 Platform-bound Design Elements (Mainframe, Unix, WintelPC, WWW Details) .6 UML-Model Distortion Due To Required Compatibility with Legacy Software System.7 UML-Model Distortion Required To Integrate Commercial-Off-The-Shelf Components .8 UML-Model Necessities Allowing For Future Software Design Flexibility. súng HH HH HH HT TT TH TH 90 3.2 Client Server and/or COIRBA. và HH HH HH Hà HH HT HH Hiệp 3.3 Web Services and XML Registries.- Tà HH H HH4 HH HH tiêu 3.5 Progress in Assisted Software Design of Business Software Systems 3.1 Leveraging Reuse in Modeling-To-Desigit.1 New Software Classes from Parent Classes: Reuse By Object-Oriented Inheritance.2 Product-Line Reuse.- Án HH HH Tu gọn Hàn HH 3.
HH HH HH ng ng gi Ho TH 3.4 Software Design Pattern Capture and Reuse.- HH H2 Ha ro 3.2 Object-Oriented (OO) Impact on Modeling-To-Design.3 Jiri Soukup's Software Design Pattern Classes Organize Software Development.4 Common Object Request Broker Architecture (CORBA).5 Componentware and SAP Industry-Specifie Solution Maps.6 Telon: The Tree-Pruning Approach to Organizing Business Software Development.7 Microsoft Wizard/Agents: A Menu Approach to Business Software Development.8 Magic MSE: Rapid Application Design (RAD) Approach to Software Development .9 University Advances in Expert Systems and Assisted Software Development.1 MIT Model For Intelligent Tutoring Šysfems.2 Zellermayer: Unsolicited Advice from Software ABEeTIS.3 Goldstein & Millers Programming Design Helper.4 PROUST: Using Software Design Goals to Lock Out Errors .5 An Intelligent Agent to Help With Programming (Ted Selker at IBMI). CHAPTER 4 CONSTRUCTING AN IMPROVED UML-MODEL-CHECKER.1 Addressing The Inadequacies Of Rational Rose Checker 82 4.2 Operating Example of the EUMC And SPUDS With IBM/Rational Rose 85 4.3 Large Number Of UML Element Names: Scoping the System Of Object Identifiers.4 Setting The Granularity For Object Identifiers In A Universe Of Discourse 93 4.5 Scope and Limitations Of EUMC 94 4.6 Handling Fidelity Checking Between UML Elements and Outside World 96 4.7 Applying Rules To Groups Of Object Identifiers 97 4.8 XML / XMI Translation Of Object Identifiers From UML Diagrams 99 VI 4.9 Implementation And Construction Of The EUMC Rules 4.1 Introduction To Rule CollectÏ0TWS. HH HỘ Hà HH HH HH HH kiện 4.2 Organizing The Rules In A Way That Fits The Data.3 Implementing Causal Versus Shallow Rules With Procedural Programming.4 Correctness of UML-Checking-Rules.-- Ánh HH Hà HH HH HH ghi, 4.5 Format Of UML Checking-Rules. H20 01101 01 ng ph th 4.6 Defeasibility Of UML-Checking-Rules.- Án ng HH hà, 4.7 Non-Monotonic Characteristics Of Sets Of UML-Checking Rules.8 Avoiding Negative Statement Of UML-Checking Rules 0000.9 When To Build UML-Checking-Rules During The Project Lifecycle .1 Required Element UML-Checking-Rules.
- -- Ăn HH HH HH gi, 4.2 Element-Support UML-Checkỉng-Rules. óc HH Hàng HH HH Hệ, 4. Element-Conflict UML-Checking-Rules. - - Là HH HH nen 4.4 Complimentary-Element UML-Checking-Rules.5 CATEGORY-Element UML-Checking-Rules.10 Building the EUMC With Visual Basic 4.11 The SPUDS Methodology Supporting The EUMC CHAPTER 5 VALIDATION.1 How Can A Thesis Concerning A Software Technology Be Validated? 5.2 Verifying That the EUMC and SPUDS Run on an Average Computer (Standard in 2006).3 Equivalence Partition Testing Compares The EUMC With The RRUC 5.4 Examining The EUMC With A Case Study Performed By A UML Expert CHAPTER6 RESULTS uiccsccssssessssssssesecsessessesscsoess ¬ ¬ ¬ 6.2 Verifying That the EUMC and SPUDS Run on an Average Computer (Standard of 2006).3 Equivalence Partition Testing Results 6.4 Case Study Results 6.1 Summary Of Case Study Questionnaire Responses.2 Complete SME Responses To Case Study Quesfionnaire.
Hee, CHAPTER 7 INTERPRETATION OF RESULTS.1 Assessment of the Main Hypothesis 156 7.2 Assessment Of The Hardware And Support Software Benchmarking 157 7.3 Assessment of the Experimental Testing Of Categories Of UML-Check Rules .4 Assessment Of The Case Study And Resulting Questionnaire vii CHAPTER 8 CONCLUSIONS AND FUTURE WORK.1 Summary Of This Research 160 8.2 Future Work With Model Driven Architecture 162 8.3 Future Work Implementing EUMC Rules In Prolog 163 GLOSSARY. ni ng gọn 165 BIBLIOGRAPPHY. HH nọ nh 170 APPENDIX A. - cọ ni E0 50 176 SAP’s Standard Software Developer’s Guide For Enterprise Structure : 176 APPENDIX.
-Q ch ĐEEEEE 177 Specific-Pre-loaded -UML-Domain-System (SPUDS) 177 APPENDIX C.L LG 000000094 193 Mechanics Of Prototype Of Automatic UML-Model-Checker 193 APPENDIX D.:cssssetceeessessssseeeeeeesssssneneeesessensssseneneeseessenssanenesasuseesesecanansaeeness 195 Vendor Development Tools Fully Or Partially Based On UML Technology 195 APPENDIX eee 203 Rational Rose UML Diagramming Tool Summary 203 APPENDIX F .ccccssssssecceceeeesessseeeeeeeeeeeeeeeeeeeueseesssesusasaesususssseesarsssnensssecsensanenee 205 Significant Changes From UML Version 1 To UML Version 2 205 APPENDIX Ố. ng HH HH TT gọt 209 Wernier Orr Diagram Reference Sample 209 APPENDIX H.- HH HH HH ng Tà me 210 Data Flow Diagram (DFD) Reference Sample. TH ng gọn 211 Unified Modeling Language (UML) Reference Sample 211 APPENDIX K.---- HH nọ TC T010 0 214 SAP Componentware Solution Maps 214 APPENDIX See 219 Microsoft Wizards For Creating Standard Software Business Objects 219 APPENDIX M. nọ lọ lọ BS 0885550080 227 Prolog Source Code For Model Of A Business Enterprise 227 APPENDIX ÑN.QG Gọi EEEEEETEE 235 Summary Of Error Checking Observed In Rational Rose Ver 8.ÔỎ 236 Professional Correspondence With Software Scientists And Engineers 236 CURRICULUM VITAE.
nà nh 245 John C. Zubeck 245 1X List Of Figures Page Figure 1.1 -- A Simple UML Use Case Diagram.2 — All Enterprise Groups Participate In UML Use Case Modeling 5 Figure 1.3 — Essential Subset Of UML Design Is A Combination Use Cases, Packages And Classes.4 -- Standard Building Blocks Used By Business Software Developers [Zubeck97].5 — The Prototype UML-Model-Checker Catches Insufficiencies.6: UML Model Needs Automatic UML-Model-Check To See If Elements In Harmony.7-- Complex Names And Relationships Of An Enterprise And Its Accounting.8 --- How Classification Has Been Applied To Solve Problems.9 -- Categorizing Organizations According To Their Ability To Reuse Software.10 -- Frakes Identifies Reasons Why Software Might Not Be Reused 18 Figure 3.1-- Comparing UML And Some Other Types Of Representation Of Software Projects.2 -- Software Development Life Cycle (SDLC) from Cybermedica Foundation.3 -- IBM/Rational's Sand Chart Describing Effort Level For Each Lifecycle Phase.4 -- Dept Of Defense Engineering Usually Involves Parallel-Subprojects Lifecycle.5 --- A Simple Overview Of Standard Software Accounting Subsystems.6 - Some Of Many Business Forces Causing Shifts In Accounting Practice.7 - Named Enterprise, Accounting, And Software Building Blocks Must Be Merged.8 --- Prolog Language Description Of Expected Patterns In A Business Software System.9 -- Diverse Types Of Companies Whose Different Domains Greatly 40 Figure 3.10 - SAP Solution Map Of Components Needed For Mining Or Healthcare Enterprises.11 -- Classic Software Design Patterns And Their Suggested Relationships.12 -- Collected Information & Collaborations & Conflicts Among Software Design.13 -- Database Representation Of Part Of A Simple Accounting System.