[Next] [Previous] [Top]

Chris Welty - Dissertation

Table of Contents


Table of Contents
List of figures
Abstract
Acknowledgment
CHAPTER 1 - Introduction
1.1 - Problem Definition - Discovery
1.2 - Previous Work - Software Information Systems
1.3 - Research Objectives
1.4 - Contributions
1.5 - Chapter Summaries
CHAPTER 2 - Background
2.1 - Software Engineering
2.1.1 - The Maintenance Phase
2.1.2 - Software Discovery
2.1.3 - Software Information Systems
2.1.4 - Empirical Studies of Programmers
2.1.5 - Object-Oriented Design
2.1.6 - KBSA
2.1.7 - Programmer's Apprentice
2.2 - Knowledge Representation
2.2.1 - Knowledge Representation Languages
2.2.2 - Domain Modeling
2.2.3 - Ontological Analysis
2.2.4 - Classic
2.2.4.1 - The Classic Language
2.2.4.2 - Enhancements to Classic
CHAPTER 3 - Comprehensive Software Information Systems
3.1 - Problems with Software Information Systems
3.2 - Operational Goals
3.3 - Domain Knowledge
3.4 - Code-Level Knowledge
3.5 - An Ontology for Integrating Domain and Code-Level Knowledge
3.5.1 - First Order Representation
3.5.1.1 - Concepts, Individuals, and Roles
3.5.1.2 - Superclass Inheritance
3.5.1.3 - Identifying Non-First Order Objects
3.5.1.4 - Extensions to First Order Systems
3.5.2 - Domain Objects and Code-Level Objects
3.5.3 - Spanning Objects
3.5.4 - The Code-Level Ontology
3.5.4.1 - Code-Level Concepts
3.5.4.2 - Code-Level Roles
3.5.4.3 - Code-Level Rules
CHAPTER 4 - Supporting Development
4.1 - Domain Modeling
4.1.1 - Data-Types
4.1.2 - Slots
4.1.3 - Methods
4.2 - Object Oriented Programming
4.2.1 - Domain Independent Objects
4.2.2 - Code-Level Actions
4.2.3 - Creating and Destroying Objects
4.2.4 - Self Variables and Slots
4.3 - User Interface
4.3.1 - Information in Concepts
4.3.2 - Information in Meta-Individuals
4.3.3 - User Interface Examples
CHAPTER 5 - A Knowledge-Based Email Distribution System
5.1 - The Domain
5.1.1 - Ontology for Electronic Information
5.1.2 - Ontology for EMail Distribution
5.2 - The Program
5.2.1 - General Requirements
5.2.2 - Design
5.2.3 - Implementation Notes
CHAPTER 6 - Supporting Discovery
6.1 - Localizing Information
6.1.1 - Rules for Discovery
6.1.1.1 - Functional Decomposition
6.1.1.2 - Data-Types of a Self-Variable
6.1.1.3 - Descriptions of Actions
6.1.1.4 - Descriptions of Methods
6.1.2 - Role Inferences for Discovery
6.1.3 - Superclass Inheritance and Discovery
6.2 - Different Views
6.2.1 - Individual Trees
6.2.2 - Data-Type Hierarchy View
6.2.3 - Functional Decomposition View
6.2.4 - Control Flow View
6.2.5 - Implementation View
6.2.6 - Software Object Parts View
6.2.7 - Generic Views
6.3 - The Role of Domain Knowledge
6.4 - Understanding Methods
6.4.1 - Parameters
6.4.2 - Return Value
6.5 - Detecting Side Effects
6.5.1 - Viewing Side Effects
CHAPTER 7 - Results and Analysis
7.1 - Development
7.1.1 - Comparison to Other Methods
7.1.1.1 - Programming in EMACS
7.1.1.2 - Programming in Smalltalk
7.1.2 - Discovery as a Development Tool
7.1.3 - Unique Behaviors
7.1.3.1 - Slots and Roles
7.1.3.2 - Debugging Inference
7.1.3.3 - Understanding Role Closing
7.1.3.4 - The Price of Retraction
7.1.3.5 - Incremental Compilation
7.1.3.6 - Scope
7.2 - Discovery
7.2.1 - Scenarios
7.2.1.1 - Scenario 1: Delocalized Plans
7.2.1.2 - Scenario 2: Vestigial Code
7.2.1.3 - Scenario 3: Debugging
7.2.2 - Comparison to other methods
CHAPTER 8 - Conclusion
8.1 - Summary of Contributions
8.1.1 - Beyond Object Orientation
8.1.2 - Software as a Second Order Domain
8.1.3 - The KBEDS Ontology
8.2 - Limitations and Future Research
8.2.1 - Reverse Engineering
8.2.1.1 - Emphasizing Maintenance
8.2.1.2 - Reverse Engineering Smalltalk
8.2.2 - Scalability
8.2.3 - User Interface
8.2.3.1 - Contextual Views
8.2.3.2 - Better Classic Support
8.2.3.3 - Working in groups
APPENDIX A - Code-level concepts
APPENDIX B - Code-level roles
APPENDIX C - Code-level rules
APPENDIX D - Action Description Rule Functions
APPENDIX E - Functions for Textual Descriptions of Methods
APPENDIX F - CLASSIC Code for Finding Side Effects
APPENDIX G - KBEDS Domain Concepts
References

Chris Welty - Dissertation - 17 SEP 1996
[Next] [Previous] [Top]

Generated with Harlequin WebMaker