Chris Welty - Dissertation
FIGURE 2.2: The LaSSIE code-level taxonomy. 16
FIGURE 2.3: Finding the uses of a data type in LaSSIE. 17
FIGURE 2.4: Email domain model taxonomy 17
FIGURE 2.5: A Knowledge-Based Software Assistant 25
FIGURE 2.6: A simple database representation. 33
FIGURE 2.7: A framework for Domain Modeling 34
FIGURE 2.8: A simple taxonomy of primitive concepts. 39
FIGURE 3.1: A semantic network representing a C function. 50
FIGURE 3.2: Spanning multiple universes. 57
FIGURE 3.3: Code-level representation of data-types. 58
FIGURE 3.4: Classic code for the domain model generated from the code model. 60
FIGURE 3.5: The taxonomy of code-level concepts. 61
FIGURE 3.6: The seven code-level role taxonomies. 66
FIGURE 3.7: Inheritance of the superclass relationship. 69
FIGURE 3.8: Inheritance of slots. 69
FIGURE 3.9: Specialization override for slot inheritance. 71
FIGURE 4.1: Derived taxonomic roles 75
FIGURE 4.2: Inheriting superclasses - the first step. 75
FIGURE 4.3: Inheriting superclasses - the second step. 77
FIGURE 4.4: Inheriting superclasses - the final step. 78
FIGURE 4.5: Domain independent data-types. 82
FIGURE 4.6: Deriving the implementation of a method. 83
FIGURE 4.7: Deriving implementation through embedded messages. 84
FIGURE 4.8: Deriving the implementation of a deeply embedded method. 85
FIGURE 4.9: A type selection window. 91
FIGURE 4.10: An individual shell. 92
FIGURE 4.11: Entering a host individual. 92
FIGURE 4.12: The first step in filling a role with a Classic individual. 93
FIGURE 4.13: Filling a role with a different type of individual. 94
FIGURE 4.14: A role selection window. 95
FIGURE 4.15: Finding an individual to fill a role. 96
FIGURE 4.16: Choosing from all possible individuals of a type. 97
FIGURE 4.17: Viewing an individual. 98
FIGURE 4.18: Viewing individuals that fill a role. 99
FIGURE 4.19: The individual to be created. 100
FIGURE 4.20: Finding all the methods of a data-type. 100
FIGURE 4.21: All the matching individuals. 101
FIGURE 5.1: Taxonomy of concepts in the KBEDS domain ontology. 104
FIGURE 5.2: An information topic with one information item. 105
FIGURE 5.3: Knowledge about an information item. 106
FIGURE 5.4: Multiple information topics. 107
FIGURE 5.5: Overlapping concepts from the two ontologies. 108
FIGURE 5.6: Design control flow showing object evolution. 111
FIGURE 5.7: The types of mail messages. 114
FIGURE 6.1: Deriving the description of an assignment. 122
FIGURE 6.2: Deriving the access roles. 125
FIGURE 6.3: A tree window using immediate-subclass. 128
FIGURE 6.4: A tree displaying the complete data-type hierarchy. 130
FIGURE 6.5: A confusing subclass view. 131
FIGURE 6.6: A tree view of functional decomposition. 132
FIGURE 6.7: Viewing control flow as a tree. 133
FIGURE 6.8: Implementation tree of a program. 134
FIGURE 6.9: Viewing the parts of a data-type. 136
FIGURE 6.10: Another part of the same tree. 137
FIGURE 6.11: Some other tree views. 138
FIGURE 6.12: Taxonomy of primitive side effect concepts. 144
FIGURE 6.13: Deriving the direct side effects of a method. 145
FIGURE 6.14: Deriving the indirect side effects of a method. 147
FIGURE 6.15: Taxonomy of side effect concepts. 147
FIGURE 7.1: Implementing a method. 153
FIGURE 7.2: Returning to the source of a branch to create a new one. 154
FIGURE 7.3: Symbols can be selected from lists instead of being typed 155
FIGURE 7.4: Mapping from Smalltalk slots to Classic roles. 162
FIGURE 7.5: A retraction dependency. 166
FIGURE 7.6: A role-filler window for the dirty bit slot. 172
FIGURE 7.7: A role-filler window for the action that reads the slot. 172
FIGURE 7.8: Tree-window resulting from a search. 174
FIGURE 7.9: Role-filler window for the return. 176
Generated with Harlequin WebMaker