Title
Volta: Developing Distributed Applications by Recompiling
Abstract
Mainstream languages and tools are tailored for sequential, nondistributed applications, with support for distributed computing provided only in library APIs. Such programming environments force developers to make decisions early in the application life cycle about where the code should run, structuring the entire application around partitioning decisions. Performance measurement might reveal that the original partitioning was wrong, but redistributing the application is expensive because redistributing is restructuring. This article describes a new kind of tool suite that recompiles executables into a distributed form on the basis of declarative user annotations, inserting most of the necessary remoting and synchronization boilerplate code and facilitating post hoc instrumentation to drive quantitative redistribution. Because the tools operate on the intermediate language CIL (.NET Common Intermediate Language), they're compatible with a wide variety of .NET programming languages and eventual execution environments, even those that don't support CIL directly, such as JavaScript.
Year
DOI
Venue
2008
10.1109/MS.2008.131
IEEE Software
Keywords
Field
DocType
synchronization boilerplate code,inserting remoting and synchronization boilerplate code and facilitating post hoc instrumentation.,mainstream language,common intermediate language,programming environments force developer,application life cycle,programming language,nondistributed application,nondistributed executables into functionally equivalent distributed form,partitioning decision,original partitioning,entire application,intermediate language,distributed computing,distributed applications,programming languages,distributed programming,refactoring,ajax,synchronization,code generation,servers,java,life cycle,distributed application,measurements,dictionaries,reactive power,javascript
Common Intermediate Language,Programming language,Software engineering,.NET Remoting,Computer science,Boilerplate code,Code generation,Code refactoring,Software development,Executable,Distributed computing,JavaScript
Journal
Volume
Issue
ISSN
25
5
0740-7459
Citations 
PageRank 
References 
7
0.54
2
Authors
3
Name
Order
Citations
PageRank
Dragos Manolescu17219.17
Brian Beckman219913.87
Ben Livshits32108123.83