A methodology for distribution of object-oriented applications
Sandeep Purao · 1996
Paradigms for systems design have evolved over the years. Of late, the emphasis has shifted to object-orientation. Distributed processing models have also matured. The current models emphasize application splitting across heterogeneous processors. At the intersection of these two trends lies the issue of object distribution. Current methodologies for object-oriented systems design do not adequately confront issues raised by use of object-orientation in distributed environments. Designers of object-oriented applications have no accepted guidelines on which they may base their distribution decisions. This dissertation proposes a methodology for distribution of object-oriented applications across existing architectures made up of geographically dispersed heterogeneous processors. The term 'distribution' connotes: derivation of appropriate units, and allocation/assignment of these units over the distributed architecture. Accordingly, the dissertation poses the following specific questions: (1) What are the appropriate units of distribution for object-oriented applications in the context of geographically dispersed architectures, and how should they be derived and allocated to sites to minimize communication and storage costs? (2) What are the appropriate units of distribution for object-oriented applications in the context of locally distributed heterogeneous architectures, and how should they be assigned within each site to satisfy the criteria of lower processing costs, improved concurrency, and lower inter-processor flow, while maintaining an acceptable level of replication? The dissertation lays out the framework required to clearly define issues raised by use of object-orientation in distributed systems, and (based on this framework), suggests a pragmatic, multi-stage methodology that addresses the specific questions stated above. The first phase of the methodology involves development of a hybrid algorithm for horizontal class fragmentation, and formulation of mathematical programming models for allocation of class fragments to sites. Phase two involves operationalizations of criteria for intra-site assignment, and development of a multiple criteria decision support system for the combinatorially explosive assignment problem. The proposals for each phase are validated separately using appropriate techniques, a prototype is developed to serve as a proof-of-principle, and the entire methodology is validated by application to a moderate-sized object-oriented application.