Abstract
A simple, general, and well-formalized partial evaluation method for concurrent languages is proposed. In spite of many potential benefits, there are few partial evaluation techniques for concurrent languages. We choose a process calculus for the target language because it has theoretical clarity, and yet has expressive power enough to represent various high-level constructs in concurrent object-oriented languages. We realize effective optimization by allowing elimination of even nondeterministic interprocess communications. Furthermore, we prove correctness of our method with respect to barb-agreed simulation.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
A. W. Appel. Compiling with Continuation. Cambridge University Press, 1992.
R. Baier, R. Glük, and R. Zöchling. Partial evaluation of numerical programs in Fortran. In Proceedings of Partial Evaluation and Semantics-Based Program Manipulation, pages 119–132, 1994.
N. Heintze. Set-based analysis of ML programs. In proceedings of the 1994 Conference on Lisp and Functional Programming, pages 306–317, 1994.
H.Fujita, A.Okamura, and K.Furukawa. Partial evaluation of GHC programs based on the UR-set with constraints. In proceedings of Logic Programming: Fifth International Conference and Symposium, pages 924–941, 1988.
H. Hosoya, N. Kobayashi, and A. Yonezawa. Partial evaluation for concurrent languages and its correctness. Technical report of the Department of Information Science, the University of Tokyo, 1996. to appear.
N. D. Jones, C. K. Gomard, and P. Sestoft. Partial Evaluation and Automatic Program Generation. Prentice Hall, 1993.
N. Kobayashi, M. Nakade, and A. Yonezawa. Static analysis of communication for asynchronous concurrent programming languages. In Second International Static Analysis Symposium (SAS'95), volume 983 of Lecture Notes in Computer Science, pages 225–242. Springer-Verlag, 1995.
N. Kobayashi, B. C. Pierce, and D. N. Turner. Linearity and the pi-calculus. In Proceedings of ACM SIGACT/SIGPLAN Symposium on Principles of Programming Languages, pages 358–371, 1996.
N. Kobayashi and A. Yonezawa. Higher-order concurrent linear logic programming. In Theory and Practice of Parallel Programming, volume 907 of Lecture Notes in Computer Science, pages 137–166. Springer-Verlag, 1995.
H. Masuhara, S. Matsuoka, K. Asai, and A. Yonezawa. Compiling away the metalevel in object-oriented concurrent reflective languages using partial evaluation. In Proceedings of ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA '95), pages 300–315, 1995.
R. Milner and D. Sangiorgi. Barbed bisimulation. In 19th ICALP, volume 623 of Lecture Notes in Computer Science, pages 685–695, 1992.
B. C. Pierce and D. N. Turner. Concurrent objects in a process calculus. In Theory and Practice of Parallel Programming (TPPP), volume 907 of Lecture Notes in Computer Science, pages 187–215. Springer-Verlag, 1995.
J. Plevyak, X. Zhang, and A. A.Chien. Obtaining sequential efficiency for concurrent object-oriented languages. In Proceedings of ACM SIGACT/SIGPLAN Symposium on Principles of Programming Languages, pages 311–321, 1995.
E. Ruf. Topics in Online Partial Evaluation. PhD thesis, Stanford University, 1993. (Technical Reprt CSL-TR-93-563).
K. Taura, S. Matsuoka, and A. Yonezawa. Stack Threads: An abstract machine for scheduling fine-grain threads on stock cpus. In Proceedings of Workshop on Theory and Practice of Parallel Programming, number 907 in Lecture Notes on Computer Science, pages 121–136. Springer Verlag, 1994.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1996 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Hosoya, H., Kobayashi, N., Yonezawa, A. (1996). Partial evaluation scheme for concurrent languages and its correctness. In: Bougé, L., Fraigniaud, P., Mignotte, A., Robert, Y. (eds) Euro-Par'96 Parallel Processing. Euro-Par 1996. Lecture Notes in Computer Science, vol 1123. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-61626-8_83
Download citation
DOI: https://doi.org/10.1007/3-540-61626-8_83
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-61626-9
Online ISBN: 978-3-540-70633-5
eBook Packages: Springer Book Archive