Abstract
Modular programming enjoys many well-known advantages but the composition of modular units may also lead to inefficient programs. In this paper, we propose an invasive composition method which strives to reconcile modularity and efficiency. Our technique, network fusion, automatically merges networks of interacting components into equivalent sequential programs. We provide the user with an expressive language to specify scheduling constraints which can be taken into account during network fusion. Fusion allows to replace internal communications by assignments and alleviates most time overhead. We present our approach in a generic and unified framework based on labeled transition systems, static analysis and transformation techniques.
This work has been supported in part by the ACI DISPO and Région Bretagne.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Aho, A.V., Sethi, R., Ullman, J.D.: Compilers. Principles, Techniques, and Tools. Addison-Wesley, Reading (1986)
Arrigoni, Duchini, Lavagno: False path elimination in quasi-static scheduling. In: Automation and Test in Europe Conference and Exhibition (DATE 2002), pp. 964–970 (2002)
Clayton, R., Calvert, K.: Augmenting the proebsting-watterson filter fusion algorithm (1997), http://citeseer.ist.psu.edu/186288.html
Colcombet, T., Fradet, P.: Enforcing trace properties by program transformation. In: Symposium on Principles of Programming Languages (POPL 2000), pp. 54–66 (2000)
Cortadella, J., Kondratyev, A., Lavagno, L., Massot, M., Moral, S., Passerone, C., Watanabe, Y., Sangiovanni-Vincentelli, A.L.: Task generation and compile-time scheduling for mixed data-control embedded software. Technical Report LSI-99-47-R, Dept. of Software, Universitat Politecnica de Catalunya (1999)
Geilen, M., Basten, T.: Requirements on the execution of Kahn process networks. In: Degano, P. (ed.) ESOP 2003 and ETAPS 2003. LNCS, vol. 2618, pp. 319–334. Springer, Heidelberg (2003)
Kahn, G.: The semantics of a simple language for parallel programming. In: Proceedings of the IFIP Congress (Information Processing 1974), pp. 471–475 (1974)
Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J.-M., Irwin, J.: Aspect-oriented programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)
Lin, B.: Software synthesis of process-based concurrent programs. In: Proceedings of the 1998 Conference on Design Automation (DAC 1998), pp. 502–505 (1998)
Nielson, F., Nielson, H.R., Hankin, C.L.: Principles of Program Analysis. Springer, Heidelberg (1999)
Parks, T.M.: Bounded scheduling of process networks. PhD thesis, University of California, Berkeley (1995)
Proebsting, T.A., Watterson, S.A.: Filter fusion. In: Symposium on Principles of Programming Languages (POPL 1996), pp. 119–130 (1996)
Strehl, K., Thiele, L., Ziegenbein, D., Ernst, R.: Scheduling hardware/software systems using symbolic techniques. In: Proceedings of the seventh international workshop on Hardware/software codesign (CODES 1999), pp. 173–177 (1999)
Thiele, L., Strehl, K., Ziegenbein, D., Ernst, R., Teich, J.: Funstate - an internal design representation for codesign. In: International Conference on Computer-Aided Design (ICCAD 1999), pp. 558–565 (1999)
Wadler, P.: Listlessness is better than laziness. In: Conference Record of the 1984 ACM Symposium on Lisp and Functional Programming, pp. 45–52 (1984)
Wadler, P.: Deforestation: transforming programs to eliminate trees. Theoretical Computer Science 73(2), 231–248 (1990)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Fradet, P., Ha, S.H.T. (2004). Network Fusion. In: Chin, WN. (eds) Programming Languages and Systems. APLAS 2004. Lecture Notes in Computer Science, vol 3302. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-30477-7_3
Download citation
DOI: https://doi.org/10.1007/978-3-540-30477-7_3
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-23724-2
Online ISBN: 978-3-540-30477-7
eBook Packages: Springer Book Archive