ACM Home Page
Please provide us with feedback. Feedback
Streamflex: high-throughput stream programming in java
Full text PdfPdf (1.43 MB)
Source
Conference on Object Oriented Programming Systems Languages and Applications archive
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications table of contents
Montreal, Quebec, Canada
SESSION: Language design table of contents
Pages: 211 - 228  
Year of Publication: 2007
ISBN:978-1-59593-786-5
Also published in ...
Authors
Jesper H. Spring  Ecole Polytechnique Federale de Lausanne, Lausanne, Switzerland
Jean Privat  Purdue University, lafayette, IN
Rachid Guerraoui  Ecole Polytechnique Federale de Lausanne, Lausanne, Switzerland
Jan Vitek  IBM Research and Purdue University, Fafayette, IN
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 16,   Downloads (12 Months): 93,   Citation Count: 7
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1297027.1297043
What is a DOI?

ABSTRACT

The stream programming paradigm aims to expose coarse-grained parallelism inapplications that must process continuous sequences of events. The appeal ofstream programming comes from its conceptual simplicity. A program is acollection of independent filters which communicate by the means ofuni-directional data channels. This model lends itself naturally toconcurrent and efficient implementations on modern multiprocessors. As theoutput behavior of filters is determined by the state of their inputchannels, stream programs have fewer opportunities for the errors (such asdata races and deadlocks) that plague shared memory concurrent programming. This paper introduces S<scp>tream</scp>F<scp>lex</scp>, an extension to Java which marries streams with objects and thus enables to combine, in the same Java virtual machine, stream processing code with traditional object-oriented components. S<scp>tream</scp>F<scp>lex</scp> targets high-throughput low-latency applications with stringent quality-of-service requirements. To achieve these goals, it must, at the same time, extend and restrict Java. To allow for program optimization and provide latency guarantees, the S<scp>tream</scp>F<scp>lex</scp> compiler restricts Java by imposing a stricter typing discipline on filters. On the other hand, S<scp>tream</scp>F<scp>lex</scp> extends the Java virtual machine with real-time capabilities, transactional memory and type-safe region-based allocation. The result is a rich and expressive language that can be implemented efficiently.


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
 
2
D. J. Abadi, Y. Ahmad, M. Balazinska, U. Cetintemel, M. Cherniack, J.-H. Hwang, W. Lindner, A. S. Maskey, A. Rasin, E. Ryvkina, N. Tatbul, Y. Xing, and S. Zdonik. The Design of the Borealis Stream Processing Engine. In Second Biennial Conference on Innovative Data Systems Research (CIDR 2005), Asilomar, CA, January 2005.
 
3
C. Andreae, Y. Coady, C. Gibbs, J. Noble, J. Vitek, and T. Zhao. Scoped Types and Aspects for Real-Time Java. In Proceedings of the European Conference on Object-Oriented Programming (ECOOP), pages 124--147, Nantes, France, July 2006.
 
4
A. Armbuster, J. Baker, A. Cunei, D. Holmes, C. Flack, F. Pizlo, E. Pla, M. Prochazka, and J. Vitek. A Real-time Java virtual machine with applications in avionics. ACM Transactions in Embedded Computing Systems (TECS), 2006.
5
6
7
8
 
9
G. Banavar, M. Kaplan, K. Shaw, R. Strom, D. C. Sturman, and W. Tao. Information flow based event distribution middleware. In Proceedings of the Middleware Workshop at the International Conference on Distributed Computing Systems, 1999.
 
10
 
11
12
13
14
 
15
R. Ennals, R. Sharp, and A. Mycroft. Linear types for packet processing. In Proceedings of the 13th European Symposium on Programming (ESOP), pages 204--218. Springer, 2004.
16
 
17
F. Boussinot and R. De Simone. The ESTEREL language. Proc. IEEE, 79(9):1293--1304, Sept. 1991.
18
 
19
A. Ghosal, T. Henzinger, C. Kirsch, and M. Sanvido. Event-driven programming with logical execution times. In Proceedings of the 7th International Workshop, Hybrid Systems Computation and Control, March 2004.
 
20
 
21
P. L. Guernic, M. L. Borgne, T. Gauthier, and C. L. Maire. Programming real time applications with signal. Proceedings of the IEEE, September 1991.
 
22
23
 
24
 
25
26
 
27
28
29
30
31
 
32
 
33
O. Vitek, B. Craig, C. Bailey-Kellog, and J. Vitek. Inferential backbone assignment for sparse data. Journal of Biomolecular NMR, 2006.
 
34
. Zhao, J. Baker, J. Hunt, J. Noble, and J. Vitek. ScopeJ: Simple ownership types for memory management. Submitted for publication, Dec. 2006.
 
35

CITED BY  7

Collaborative Colleagues:
Jesper H. Spring: colleagues
Jean Privat: colleagues
Rachid Guerraoui: colleagues
Jan Vitek: colleagues