Title:
Software Tools for Separating Distribution Concerns

dc.contributor.advisor Smaragdakis, Yannis
dc.contributor.author Tilevich, Eli en_US
dc.contributor.committeeMember Lea, Doug
dc.contributor.committeeMember Schwan, Karsten
dc.contributor.committeeMember Harrold, Mary Jean
dc.contributor.committeeMember Pande, Santosh
dc.contributor.department Computing en_US
dc.date.accessioned 2006-01-18T22:18:48Z
dc.date.available 2006-01-18T22:18:48Z
dc.date.issued 2005-11-18 en_US
dc.description.abstract 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. en_US
dc.description.degree Ph.D. en_US
dc.format.extent 2203253 bytes
dc.format.mimetype application/pdf
dc.identifier.uri http://hdl.handle.net/1853/7518
dc.language.iso en_US
dc.publisher Georgia Institute of Technology en_US
dc.subject Distributed computing en_US
dc.subject Software systems
dc.subject.lcsh Electronic data processing Distributed processing en_US
dc.subject.lcsh Algorithms en_US
dc.title Software Tools for Separating Distribution Concerns en_US
dc.type Text
dc.type.genre Dissertation
dspace.entity.type Publication
local.contributor.corporatename College of Computing
relation.isOrgUnitOfPublication c8892b3c-8db6-4b7b-a33a-1b67f7db2021
Files
Original bundle
Now showing 1 - 1 of 1
Thumbnail Image
Name:
tilevich_eli_200512_phd.pdf
Size:
2.1 MB
Format:
Adobe Portable Document Format
Description: