This dissertation defines "modular-objective coupling", and shows that programming language designs which imply reduced modular-objective coupling reduce complexity of remodularizations--behaviour-preserving restructurings for which the only intended goals are to change program source code structure.
We explicitly distinguish between two points of view on program structure: modular structure--the structure of a program as a set of static text documents, and objective structure--the structure of a program as a dynamic computational model during execution. We define modular-objective coupling as the degree to which changes in modular structure imply changes to objective structure, for a given programming language.
We use the term remodularization to refer to any behaviour-preserving source code restructuring, for which the only intended goal is to change modular structure. We argue that programming languages with strong modular-objective coupling introduce accidental complexity into remodularizations, by requiring complex objective structure changes to achieve intended modular structure changes. Our claim is that a programming language design which implies reduced modular-objective coupling reduces remodularization complexity in the language.
To validate this claim, we first present SubjectJ, a subject-oriented programming system that extends Java. The design of Java implies strong modular-objective coupling, while SubjectJ is designed for reduced modular-objective coupling. We then perform a series of remodularization case studies comparing Java and SubjectJ. Our results suggest that remodularizations are less complex in SubjectJ.
Identifer | oai:union.ndltd.org:LACETR/oai:collectionscanada.gc.ca:BVAU./1380 |
Date | 11 1900 |
Creators | Chern, Rick |
Publisher | University of British Columbia |
Source Sets | Library and Archives Canada ETDs Repository / Centre d'archives des thèses électroniques de Bibliothèque et Archives Canada |
Language | English |
Detected Language | English |
Type | Electronic Thesis or Dissertation |
Format | 2958670 bytes, application/pdf |
Page generated in 0.002 seconds