[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