University of Munich / Departement of CS(Informatik)
Alexej Kupin - Master thesis: "Design and development of program transformation tool"
Table of contents
2.1 Support for code transformation
2.2 First Example
2.2.1 Test-program description
2.2.2 Step by step transformations
2.2.3 Benefits
3.1 Principles in refactoring
3.1.1 Definition
3.1.2 Properties
3.2 Use of refactoring
3.2.1 Refactorings for reuse
3.2.2 Refactorings for implementation
3.2.3 Refactorings for maintenance
3.3 Transformations
3.3.1 Scheme for transformation
3.3.2 Properties
3.3.3 Tools for refactoring and Wizards
4.1 Criteria for a transformation
4.1.1 Usability of the transformation
4.1.2 Reduction of the user-interaction
4.1.3 Use of multiple transformations
4.1.4 Safety of the transformation
4.1.5 Complex transformations
4.2 Transformation environment
4.2.1 Source code language
4.2.2 Tool support
4.3 Transformations catalog
4.3.1 Low-Level refactorings
- 4.3.1.1 Creational transformations
- 4.3.1.1.1 New class
- 4.3.1.1.2 New method
- 4.3.1.1.3 New variable
4.3.1.2 "Remove" transformations
- 4.3.1.2.1 Delete class
- 4.3.1.2.2 Delete method
- 4.3.1.2.3 Delete variables
4.3.1.2 "Copy" transformations
- 4.3.1.3.1 Copy class
- 4.3.1.3.2 Copy method
- 4.3.1.3.3 Copy variable
4.3.2 Extended Low-Level refactorings
- 4.3.2.1 Abstract transformations
- 4.3.2.1.1 Abstract class
- 4.3.2.1.2 Abstract method
- 4.3.2.2 "Move" transformations
- 4.3.2.2.1 Move class
- 4.3.2.2.2 Move method
- 4.3.2.2.3 Move variables
- 4.3.2.3 Rename transformations
- 4.3.2.3.1 Rename class
- 4.3.2.3.2 Rename method
- 4.3.2.3.3 Rename variable
4.3.3 High-level refactorings
- 4.3.3.1 Inherit transformations
- 4.3.3.1.1 Generalize transformations
- 4.3.3.1.2 Specialize transformations
- 4.3.3.1.3 Plain inherit
- 4.3.3.2 Substitute transformations
- 4.3.3.2.1 Substitute variable type
- 4.3.3.2.2 Substitute method type
- 4.3.3.2.3 Substitute method parameters
- 4.3.3.3 Factory transformations
- 4.3.3.3.1 New factory
- 4.3.3.3.2 Add factory method
4.3.4 Other transformations/wizards
- 4.3.4.1 Variable-access
- 4.3.4.2 Comments-remove
- 4.3.4.3 Browser
4.4 Composed transformations
4.4.1 Transformations for design pattern
4.4.2 Mechanism of composition
4.4.3 Examples
5.1 Introduction of DPT
5.1.1 Tool features
5.1.2 Transformation features
5.2 Design
5.2.1 Environment
- 5.2.1.2 Generators
- 5.2.1.2 Parsers
5.2.2 Design of the transformation
- 5.2.2.1 Transformation-bean
- 5.2.2.2 Transformation-catalog
5.2.3 Classes and objects
- 5.2.3.1 DPT-Classes
- 5.2.3.2 File table implementation
- 5.2.3.3 Symbol table design
- 5.2.3.4 Parser-beans
- 5.2.3.5 Generator-beans
5.2.4 Source code management
5.3 GUI
5.4 Requirements
6.1 Summary of contributions
6.2 Pros and cons
6.3.1 Benefits
6.3.2 Problems
6.3 Future of refactorings
6.3.1 Future uses
6.3.2 Future extensions of DPT
A References
B DPT-Tool modules
Last Modified: 15.08.2000
2000 Alexej Kupin. All rights reserved!