Software Tools for Separating Distribution Concerns

With the advent of the Internet, distributed programming has become a necessity for the majority of application domains. Nevertheless, programming distributed systems remains a delicate and complex task. This dissertation explores separating distribution concerns, the process of transforming a centr...

Full description

Bibliographic Details
Main Author: Tilevich, Eli
Format: Others
Language:en_US
Published: Georgia Institute of Technology 2006
Subjects:
Online Access:http://hdl.handle.net/1853/7518
id ndltd-GATECH-oai-smartech.gatech.edu-1853-7518
record_format oai_dc
spelling ndltd-GATECH-oai-smartech.gatech.edu-1853-75182013-01-07T20:12:35ZSoftware Tools for Separating Distribution ConcernsTilevich, EliDistributed computingSoftware systemsElectronic data processing Distributed processingAlgorithmsWith the advent of the Internet, distributed programming has become a necessity for the majority of application domains. Nevertheless, programming distributed systems remains a delicate and complex task. This dissertation explores separating distribution concerns, the process of transforming a centralized monolithic program into a distributed one. This research develops algorithms, techniques, and tools for separating distribution concerns and evaluates the applicability of the developed artifacts by identifying the distribution concerns that they separate and the common architectural characteristics of the centralized programs that they transform successfully. The thesis of this research is that software tools working with standard mainstream languages, systems software, and virtual machines can effectively and efficiently separate distribution concerns from application logic for object-oriented programs that use multiple distinct sets of resources. Among the specific technical contributions of this dissertation are (1) a general algorithm for call-by-copy-restore semantics in remote procedure calls for linked data structures, (2) an analysis heuristic that determines which application objects get passed to which parts of native (i.e., platform-specific) code in the language runtime system for platform-independent binary code applications, (3) a technique for injecting code in such applications that will convert objects to the right representation so that they can be accessed correctly inside both application and native code, (4) an approach to maintaining the Java centralized concurrency and synchronization semantics over remote procedure calls efficiently, and (5) an approach to enabling the execution of legacy Java code remotely from a web browser. The technical contributions of this dissertation have been realized in three software tools for separating distribution concerns: NRMI, middleware with copy-restore semantics; GOTECH, a program generator for distribution; and J-Orchestra, an automatic partitioning system. This dissertation presents several case studies of successfully applying the developed tools to third-party programs.Georgia Institute of Technology2006-01-18T22:18:48Z2006-01-18T22:18:48Z2005-11-18Dissertation2203253 bytesapplication/pdfhttp://hdl.handle.net/1853/7518en_US
collection NDLTD
language en_US
format Others
sources NDLTD
topic Distributed computing
Software systems
Electronic data processing Distributed processing
Algorithms
spellingShingle Distributed computing
Software systems
Electronic data processing Distributed processing
Algorithms
Tilevich, Eli
Software Tools for Separating Distribution Concerns
description With the advent of the Internet, distributed programming has become a necessity for the majority of application domains. Nevertheless, programming distributed systems remains a delicate and complex task. This dissertation explores separating distribution concerns, the process of transforming a centralized monolithic program into a distributed one. This research develops algorithms, techniques, and tools for separating distribution concerns and evaluates the applicability of the developed artifacts by identifying the distribution concerns that they separate and the common architectural characteristics of the centralized programs that they transform successfully. The thesis of this research is that software tools working with standard mainstream languages, systems software, and virtual machines can effectively and efficiently separate distribution concerns from application logic for object-oriented programs that use multiple distinct sets of resources. Among the specific technical contributions of this dissertation are (1) a general algorithm for call-by-copy-restore semantics in remote procedure calls for linked data structures, (2) an analysis heuristic that determines which application objects get passed to which parts of native (i.e., platform-specific) code in the language runtime system for platform-independent binary code applications, (3) a technique for injecting code in such applications that will convert objects to the right representation so that they can be accessed correctly inside both application and native code, (4) an approach to maintaining the Java centralized concurrency and synchronization semantics over remote procedure calls efficiently, and (5) an approach to enabling the execution of legacy Java code remotely from a web browser. The technical contributions of this dissertation have been realized in three software tools for separating distribution concerns: NRMI, middleware with copy-restore semantics; GOTECH, a program generator for distribution; and J-Orchestra, an automatic partitioning system. This dissertation presents several case studies of successfully applying the developed tools to third-party programs.
author Tilevich, Eli
author_facet Tilevich, Eli
author_sort Tilevich, Eli
title Software Tools for Separating Distribution Concerns
title_short Software Tools for Separating Distribution Concerns
title_full Software Tools for Separating Distribution Concerns
title_fullStr Software Tools for Separating Distribution Concerns
title_full_unstemmed Software Tools for Separating Distribution Concerns
title_sort software tools for separating distribution concerns
publisher Georgia Institute of Technology
publishDate 2006
url http://hdl.handle.net/1853/7518
work_keys_str_mv AT tilevicheli softwaretoolsforseparatingdistributionconcerns
_version_ 1716474349860421632