| From sequential programs to multi-tier applications by program transformation |
| Full text |
Pdf
(627 KB)
|
| Source
|
Annual Symposium on Principles of Programming Languages
archive
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
table of contents
Long Beach, California, USA
Pages: 221 - 232
Year of Publication: 2005
ISBN:1-58113-830-X
Also published in ...
|
|
Authors
|
|
| Sponsors |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 8, Downloads (12 Months): 67, Citation Count: 9
|
|
|
ABSTRACT
Modern applications are designed in multiple tiers to separate concerns. Since each tier may run at a separate location, middleware is required to mediate access between tiers. However, introducing this middleware is tiresome and error-prone.We propose a multi-tier calculus and a splitting transformation to address this problem. The multi-tier calculus serves as a sequential core programming language for constructing a multi-tier application. The application can be developed in the sequential setting. Splitting extracts one process per tier from the sequential program such that their concurrent execution behaves like the original program.The splitting transformation starts from an assignment of primitive operations to tiers. A program analysis determines communication requirements and inserts remote procedure calls. The next transformation step performs resource pooling: it optimizes the communication behavior by transforming sequences of remote procedure calls to a stream-based protocol. The final transformation step splits the resulting program into separate communicating processes.The multi-tier calculus is also applicable to the construction of interactive Web applications. It facilitates their development by providing a uniform programming framework for client-side and server-side programming.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
 |
1
|
Cormac Flanagan , Amr Sabry , Bruce F. Duba , Matthias Felleisen, The essence of compiling with continuations, Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation, p.237-247, June 21-25, 1993, Albuquerque, New Mexico, United States
|
| |
2
|
|
| |
3
|
|
 |
4
|
|
| |
5
|
|
| |
6
|
|
| |
7
|
|
 |
8
|
|
| |
9
|
X. Leroy. The Objective Caml system release 3.02, Documentation and user's manual. INRIA, France, July 2001. http://pauillac.inria.fr/caml.
|
| |
10
|
|
 |
11
|
|
| |
12
|
|
| |
13
|
|
| |
14
|
|
| |
15
|
|
 |
16
|
|
| |
17
|
F. Tip. A survey of program slicing techniques. J. Programming Languages, 3(3):121--189, 1995.
|
 |
18
|
|
 |
19
|
|
| |
20
|
|
CITED BY 9
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ryan Newton , Sivan Toledo , Lewis Girod , Hari Balakrishnan , Samuel Madden, Wishbone: profile-based partitioning for sensornet applications, Proceedings of the 6th USENIX symposium on Networked systems design and implementation, p.395-408, April 22-24, 2009, Boston, Massachusetts
|
|
|
|
|