Licentiate's thesis

(see table of contents below)
Title:
Object-oriented knowledge acquisition
Date:
24th January, 1995
Abstract:
The thesis consideres use of object-oriented techniques in different phases (analysis, design, implementation, maintenance) of knowledge acquisition (the art of building and maintaining knowledge bases). In the method presented, an object-oriented model is constructed in each phase, based on earlier models. Different models stress different points of view, but are built on the same basic set of objects. This guarantees maintenance of the structure of the analysis model, and traceability between corresponding parts in different models. Seamless transformations are defined between successive models. In this way, already acquired knowledge can be utilized also when use of scope-restricting heuristic is not possible. In ready-built knowledge bases, it should be possible to infer by sending messages between objects.



Acknowledgements

Table of contents
0. Introduction intro.ps
intro.pdf
0.1.The aim of this research
PART I: AN INTRODUCTION TO KNOWLEDGE ACQUISITION ka-gen.ps
ka-gen.pdf
1. What is knowledge acquisition
2. Problems in accessing expert knowledge
2.1.Characteristics of expertise, expert biase
2.2.Transfer of knowledge
2.2.1. Different modes of thought
2.2.2. Cognitive mismatch
2.3. Maintenance of knowledge
3. KA techniques
3.1. Traditional KA techniques
3.2. Eliminating expert biases
3.3. Reducing representation mismatch
3.4. Taking the context into account
3.5. Automated tools
3.6. Structured KA - the KADS approach kads.ps
kads.pdf
3.6.1. General
3.6.2. Analysis
3.6.3. Design
3.6.4. Human-computer interaction (HCI) design
3.6.5. Implementation
3.6.6 Critique of KADS
4. Phases of KA phases.ps
phases.pdf
4.1. Comparison of two frameworks
4.2. Identifying Task Characteristics / KADS External Analysis
4.3. Building/extending the KB / KADS Internal Analysis
4.3.1. Structural Task Concept Model / Domain Layer
4.3.2. Functional Task Concept Model / Inference Layer
4.3.3. Task Mechanisms / Task layer
4.3.4. Strategy Layer (KADS)
4.4. KADS Modality Analysis
4.5. KADS KBS Design
4.6. Operationalising the KB / KADS KBS Implementation
4.7. Maintenance and Enhancement of the KB
4.8. Other frameworks of KA
4.9. Summary of the phases of KA
5. The gap between a model of knowledge and an executable KB gap.ps
gap.pdf
5.1. Method-based tools
5.2. Task-based tools
5.3. Filling in the gap in the general case
PART II: OBJECT-ORIENTED TECHNIQUES oo.ps
oo.pdf
6. Object-oriented techniques in software engineering
6.1. Object-oriented terminology
6.2. Gradual system refinement using OO models – OOSE
6.3. Development as graphical modelling – OMT
7. Current use of OO techniques in KA
7.1. Overview
7.2. Hybrid expert systems
7.2.1. General
7.2.2. KRYPTON
7.2.3. KREME
7.2.4. KRITON
7.2.5. System X-I
PART III: EXTENDED USE OF OBJECTS IN KA gke-gen.ps
gke-gen.pdf
8. An example of a KA tool using OO data structures - GKE
8.1. Basics of GKE
8.2. Hierarchical levels in GKE gke-leve.ps
gke-leve.pdf
8.2.1. Task level description
8.2.2. Knowledge base level description
8.2.3. Detail level description
8.3. Manipulating knowledge gke-mani.ps
gke-mani.pdf
8.3.1. Viewing and modification of knowledge
8.3.2. Interdependencies between different diagrams
8.3.3. Saving and printing
|8.4. Implementation gke-impl.ps
gke-impl.pdf
8.4.1. Object-oriented data structures
8.4.2. Storing format
8.5. Additional features gke-rema.ps
gke-rema.pdf
8.5.1. Library KBs
8.5.2. Experimental rule generation
8.5.3. On-line evaluation
8.5.4. Integration with external rule compilers
8.5.5. Possible extensions
8.6. Critique of GKE
9. Extended use of objects extoo.ps
extoo.pdf
9.1. Reducing representation mismatch
9.2. Integrating the KA process
9.2.1. KB development as constructing a series of models
9.2.2. Differences between KA and SE
9.2.3. Models to be developed
9.3. Managing contexts
9.3.1. Definition of contexts
9.3.2. Representing contexts with objects
9.4. Performing inferences among objects
9.5. Generating explanations
9.6. Maintaining the KB
10. The framework proposed - OOKA pro-fw.ps
pro-fw.pdf
10.1 Requirements model
10.1.1 Domain model
10.1.2. Dependency graph
10.1.3. Interface model
10.2 Analysis model
10.2.1. Forming the roles and the inference steps
10.2.2. Structure of the analysis model
10.2.3. Presentation of context
10.2.4. Developing the analysis model
10.3 Design model
10.4 Implementation model
10.4.1. True object-oriented implementation model
10.4.2. Pseudo object-oriented implementation model
10.5 Maintenance
10.6. OMT analysis of OOKA
10.7. Advantages of different OO features in OOKA
10.7.1. Inheritance
10.7.2. Modularity
10.7.3. Data abstraction
10.7.4. Messages, methods and overloading
10.7.5. Attributes
10.7.6. Encapsulation
11. An experimental tool supporting the new approach exp-tool.ps
exp-tool.pdf
11.1. Environment
11.1.1. Tool environment
11.1.2. IGE class library
11.2. Different levels of representing knowledge
11.2.1. Internal structures
11.2.2. User interface
11.2.3. Object classes of implementation
11.3. The process of KA
11.3.1. Building the domain model
11.3.2. Forming the dependency graph
11.3.3. Forming the interface model
11.3.4. Building the analysis model
11.3.5. Forming the design model
11.3.6. Implementing the inferences
12. Discussion discuss.ps
discuss.pdf
References refs.ps
refs.pdf
APPENDIX A: Abbreviations and acronyms app-a.ps
app-a.pdf
APPENDIX B: Glossary app-b.ps
app-b.pdf
APPENDIX C: GKE definitions app-c.ps
app-c.pdf
C.1. Object class definitions
C.2. Storing format
APPENDIX D: IGE definition of a metaclass app-d.ps
app-d.pdf

pparpola@cc.hut.fi