Copyright is owned by the Author of the thesis. Permission is given for
a copy to be downloaded by an individual for the purpose of research and
private study only. The thesis may not be reproduced elsewhere without
the permission of the Author.
The Role of Functional Prototyping within the KADS methodology.
A thesis presented in partial fulfilment of the requirements for the degree of Master of Science in Computer Science at Massey University.
Damian Pacitto
January, 1995.
11
Abstract
Knowledge-based systems have until recent times lacked a clear and complete methodology for their construction. KADS was the result of the early 1980's project (ESPRIT-I P1098) which had the aim of developing a comprehensive, commercially viable methodology for knowledge-based system construction. KADS has subsequently proved to be one of the more popular approaches, focusing on the modelling approach to knowledge based system development.
One area of the KADS methodology that has not been examined to any great depth is that of model validation. Model validation is the process of ensuring that a derived model is an accurate representation of the domain from which it has been derived from. The two approaches which have been suggested for this purpose within the KADS framework are that of protocol analysis and functional prototyping.
This project seeks to apply the second of these choices, that of functional prototyping, to the model of expertise created by da Silva ( 1994) for model validation purposes. The problem domain is that of farm management, under an joint program of research between the Computer Science, Information Systems and Agricultural Management departments of Massey University. The project took the model of expertise and created a knowledge representation model in compliance with the selected object-oriented paradigm. After this the creation of a functional prototype in a Microsoft Windows based PC environment took place, using Kappa-PC as the application development tool.
The validation took place through a demonstration session to a number of domain experts. Conclusions drawn from the experience gained through the creation and use of the prototype are presented, outlining the reasons why functional prototyping was deemed to be an appropriate method for model validation.
ill
Acknowledgements
Thanks to my supervisors Liz Kemp and Lis Todd for their patience, ideas, faith and enthusiasm. Their support made the year a lot easier to bear.
Thanks to Dave, Shamus, Paul, Mike, Sarah and Fiona for keeping my sanity for me over the last few years in the research Jab. Thanks to all the others who have drifted in and out to add some colour to the time.
Table of Contents
Abstract. ... ii
Acknowledgements ... iii
Table of Contents ... iv
List of Figures ... v
List of Tables ... vi
Chapter 1: Chapter 2: 2.1 2.2 Introduction ... 1
Literature Review ... 6
Introduction ... 6
Knowledge Based Systems ... S 2.2.1 Knowledge Representation ... 7
2. 3 KADS Methodology ... 9
2.3.1 Introduction to KADS ... 9
2.3.2 KADS Models ... 10
2.3.2.1 Model of Expertise ... 11
2.3.2.2 Task Model. ... 12
2.3.3 Model Validation and the KADS Methodology ... 12
2. 4 Prototyping ... 16
2.5 Chapter 3: 3.1 3.2 2. 4 .1 Role of Prototyping within KADS ... 16
2.4.2 General View of Prototyping ... 17
2.4.3 The Prototyping Life Cycle ... 19
Conclusion ... 21
Construction of the Knowledge Representation model ... 23
Domain Problem ... 23
Applying the Object-Oriented Approach to Knowledge Representation ... 25
3. 2. 1 Object-Oriented Principles ... 26
3. 2. 2 Object-Oriented Constructs ... 27
3.3 Creation of an Object-Oriented Task Model ... 32
3 .4 Moving from the Model of Expertise to the Knowledge 3.5 Chapter4: 4.1 4.2 4.3 Representation Model ... 36
3 .4.1 Moving from the Model of Expertise to an Object- Oriented Model.. ... 41
Conclusion ... 52
Construction of Functional Prototype ... 54
Functional Prototyping vs Protocol Analysis ... 54
Applying the Prototyping Lifecyle ... 55
Application Functionality Overview ... 58
4.3.1 Software Package Overview ... 58
4.3.2 The Knowledge Representation Model and Implementation Issues ... 60
4.3.2. l Object-Oriented Feed Budgeting ... 61
4.3.2.2 Object-Oriented Production Level Analysis ... 68
4.3.3 Interface Description and Program Walkthrough ... 72
4.4 Conclusion ... 77
Chapter 5: Evaluation ... 78
5. 1 Prototype Acceptance Overview ... 78
5. 2 Developer's Model Verification ... 80
5. 3 Domain Expert's Model Validation ... 82
5 .4 Conclusion ... 84
Chapter 6: Summary and Conclusions ... 86
6.1 Findings ... 87
6.2 Future Work ... 89
Bibliography ... 90
Appendix 1: Model of Expertise ... 95
Appendix 2: Knowledge Representation Model ... 118
Appendix 3: Sample Session ... : ... 128
L ist of Figures
Figure I. Research Domain and Research Methodology Interaction ... 2
Figure 2. Intermediate model development phases ... .4
Figure 3. Synopsis of K.ADS four-layer model ... 11
Figure 4. The Role of Protocol Analysis and Functional Prototyping ... 14
Figure 5. Prototyping Development Life Cycle ... 19
Figure 6. Simplified Hierarchy Of Management Options ... 24
Figure 7. Class & Object Structure ... 28
Figure 8. Is_A hierarchy ... 28
Figure 9. Has_A hierarchy ... 29
Figure 10. Class & Object with Attributes ... 30
Figure 11. Class & Object with Services ... 30
Figure 12. Instance Connection ... 31
Figure 13. Message Connection ... 31
Figure 14. Examples of Subjects ... 32
Figure 15. Task Model of the Domain ... 33
Figure 16. Object-Oriented View of Manage_The_Farm Task ... 33
Figure 17. Decomposition of Monitor Events Task ... 34
Figure 18. Task Hierarchy ... 34
Figure 19. Inference Structure of Summer-Autumn management period ... 37
Figure 20. Inference Structure and Instantiation ... 38
Figure 21. Generic Task Template of Summer-Autumn Management Period ... 39
Figure 22. Generic 'Monitoring Events' Task ... 39
Figure 23. Instantiated Monitoring Task - Measure Pasture Cover ... 40
Figure 24. Relationship between Monitoring_Events and Pasture_ Cover_Reading ... 41
Figure 25. Network of Primitives ... 42
Figure 26. Livestock Network ... 44
Figure 27. Example Of Domain Layer Network Of Primitives ... 45
Figure 28. Object-Oriented Feed Supply Network ... 46
Figure 29. Feed Supply - Pasture Cover Part_ Of Relationship ... 47
Figure 30. Subject Layer ... 4 7 Figure 31. Measure Cow Condition subtask ... .48
Figure 32. Attribute Layer. ... 48
Figure 33. Identify Cull Cows subtask ... 49
Figure 34. Service Layer ... 50
Figure 35. Object-Oriented Model of Network of Primitives ... 51
Figure 36. Techniques of Validation ... 55
Figure 37. Model of Expertise Validation Through the use of Functional Prototyping ... 56
Figure 38. Examination of Transitions Between Models ... 57
Figure 39. Coad and Yourdon Notation and Kappa-PC Notation ... 58
Figure 40. Stock Subject featuring the Production Level Class ... 60
Figure 41. Land Subject featuring the Feed Supply Class ... 60
Figure 42. Identify Feed Shortage Task Layer Decomposition ... 62
Figure 43. Diagnose_Problems:Feed_Shortage_Problem relationship ... 62
Figure 44. Code for Service ID_Feed_Shortage ... 63
Figure 45. Feed Budget Template ... 64
Figure 46. Hierarchy Containing Two Farmer's Figures for Comparison ... 65
Figure 47. Hierarchy After Selecting One Farmer's Worksheets ... 66
Figure 48. Instance with Instantiated Values ... 67
Figure 49. Objects Instantiated By Data From Object Representing Current Period ... 67
Figure 50. Cowyield Worksheet Template ... 68
Figure 51. Task layer subtask Measure Production Level. ... 69
Figure 52. Production Level Class-&-object ... 70 Figure 53. Sample Code from Identified_Drop service ... 71
Figure 54. Comparison of Farmers ... 73
Figure 55. Examination of One farmer ... 74
Figure 56. Analysis of Farmer's Data ... 74
Figure 57. Farmer's Production Level Screen ... 75
Figure 58. Management Option Modification ... 76
Figure 59. Testing Components and Responsibilities ... 78
Figure 60. Prototype Acceptance ... 79
Figure 61. Verification Paths ... 81
Figure 62. High level Network ... 99
Figure 63. Livestock Network - "is_part_of' Relations ... 100
Figure 64. Other Relations Involving Livestock ... 100
Figure 65. Mating Information - "Is_A" relations ... 101
Figure 66. Climate Network -"is_part_of' relations ... 101
Figure 67. Cull cow Network - "Is_A" relations ... 101
Figure 68. Grazing Systems Network ... 102
Figure 69. Feed Supply Network "Is_A" relations ... 102
Figure 70. Average Pasture Cover Network "is_part_of' Relations ... 103
Figure 71. Soil Condition Network ... 103
Figure 72. Measurement Methods Network - "Is_A" relations ... 103
Figure 73. Final Inference Structure of the Summer-Autumn Management Period ... 104
Figure 74. Livestock Network ... 118
Figure 75. Object-Oriented Model of a Cow ... 119
Figure 76. Object-Oriented Model of a Herd ... 119
Figure 77. Feed Network ... 120
Figure 78. Cull Cows Object-Oriented Model ... 121
Figure 79. Mating Information ... 121
Figure 80. Grazing System ... 122
Figure 81. Climate Network ... 123
Figure 82. Soil Condition Network ... 123
Figure 83. High Level Task Model ... 124
Figure 84. Prediction of Events Decomposition ... 125
Figure 85. Planning Management Decomposition ... 125
Figure 86. Monitoring Events Decomposition ... 126
Figure 87. Diagnose Problem Model ... 126
Figure 88. Object-Oriented Model of Network of Primitives ... 127
Figure 89. Initial Figures after One Farmer has Been Added ... 128
Figure 90. The Results of Analysis on the First Set of Figures ... 129
Figure 91. Preferences after 'Feed Silage' has been altered from 4 to 1.. ... 129
Figure 92. The Results Of The Second Analysis On The Modified Set Of Figures ... 130
Figure 93. Figures after 'Supplements' has been altered from 0 to 200 ... 130
Figure 94. The results of the third analysis on the Modified Set Of Figures ... 131
Table 1. Table 2. Table 3. Table 4.
List of Tables
Comparison of KADS and Object-Oriented Analysis ... 26Class and Object Generation ... 43
Contribution of Model of Expertise Layers to the Knowledge Representation Model ... 52
Stages of the Prototyping Development Life Cycle ... 55