Abstract
An approach to program design and synthesis using algebra-algorithmic specifications and rewriting rules techniques is proposed. An algebra-algorithmic toolkit based on the approach allows building syntactically correct and easy-to-understand algorithm specifications. The term rewriting system supplements the algebra-algorithmic toolkit with facilities for transformation of the sequential and parallel algorithms, enabling performance improvement. We demonstrate the usage of the proposed tools with a simple example of parallelizing sequential program and improving performance of a parallel program, and also discuss possible applications in larger real-world projects.
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
Akhter, S., Roberts, J.: Multi-Core Programming. Intel Press, Hillsboro (2006)
Andon, F.I., Doroshenko, A.Y., Tseytlin, G.O., Yatsenko, O.A.: Algebra-Algorithmic Models and Methods of Parallel Programming. Akademperiodika, Kyiv (2007) (in Russian)
Apel, S., et al.: An Algebraic Foundation for Automatic Feature-Based Program Synthesis. Science of Computer Programming 75(11), 1022–1047 (2010)
Bagheri, H., Sullivan, K.: Pol: Specification-Driven Synthesis of Architectural Code Frameworks for Platform-Based Applications. In: Proc. 11th Int. Conf on Generative Programming and Component Engineering, pp. 93–102. ACM, New York (2012)
Barthe, G., et al.: From relational verification to SIMD loop synthesis. ACM SIGPLAN Notices 48(8), 123–134 (2013)
Batory, D.: Program Refactoring, Program Synthesis, and Model-Driven Development. In: Adsul, B., Odersky, M. (eds.) CC 2007. LNCS, vol. 4420, pp. 156–171. Springer, Heidelberg (2007)
Bures, T., et al.: The Role of Ontologies in Schema-Based Program Synthesis. In: Proc. Workshop on Ontologies as Software Engineering Artifacts, Vancouver (2004)
Cilk Home Page, http://cilkplus.org/
Doroshenko, A.Y., Prusov, V.A.: Methods of Efficient Modeling and Forecasting Regional Atmospheric Processes. In: Faragó, I., et al. (eds.) Advances in Air Pollution Modeling for Environmental Security, pp. 143–152. Springer, Netherlands (2005)
Doroshenko, A., Shevchenko, R.: A Rewriting Framework for Rule-Based Programming Dynamic Applications. Fundamenta Informaticae 72(1-3), 95–108 (2006)
Doroshenko, A., Tseytlin, G., Yatsenko, O., Zachariya, L.: A Theory of Clones and Formalized Design of Programs. In: Proc. Int. Workshop on Concurrency, Specification and Programming (CS&P 2006), Wandlitz, Germany, pp. 328–339 (2006)
Doroshenko, A.Y., Zhereb, K.A., Yatsenko, Y.A.: On Complexity and Coordination of Computation in Multithreaded Programs. Problems in Programming 2, 41–55 (2007) (in Russian)
Doroshenko, A., Zhereb, K.: Parallelizing Legacy Fortran Programs Using Rewriting Rules Technique and Algebraic Program Models. In: Ermolayev, V., Mayr, H.C., Nikitchenko, M., Spivakovsky, A., Zholtkevych, G., et al. (eds.) ICTERI 2012. CCIS, vol. 347, pp. 39–59. Springer, Heidelberg (2013)
Fischer, B., Schumann, J.: AutoBayes: a System for Generating Data Analysis Programs from Statistical Models. J. Funct. Program. 13(3), 483–508 (2003)
Flener, P.: Achievements and Prospects of Program Synthesis. In: Kakas, A.C., Sadri, F. (eds.) Computational Logic: Logic Programming and Beyond. LNCS (LNAI), vol. 2407, pp. 310–346. Springer, Heidelberg (2002)
Gulwani, S.: Dimensions in Program Synthesis. In: 12th Int. ACM SIGPLAN Symposium on Principles and Practice of Declarative Programming, pp. 13–24. ACM, New York (2010)
Jackson, D.: Alloy: a lightweight object modelling notation. ACM Transactions on Software Engineering Methodology 11(2), 256–290 (2002)
Jacobs, S., Kuncak, V., Suter, P.: Reductions for Synthesis Procedures. In: Giacobazzi, R., Berdine, J., Mastroeni, I. (eds.) VMCAI 2013. LNCS, vol. 7737, pp. 88–107. Springer, Heidelberg (2013)
Kitzelmann, E.: Inductive Programming: a Survey of Program Synthesis Techniques. In: Schmid, U., Kitzelmann, E., Plasmeijer, R. (eds.) AAIP 2009. LNCS, vol. 5812, pp. 50–73. Springer, Heidelberg (2010)
Kneuss, E., et al.: On Integrating Deductive Synthesis and Verification Systems. Technical Report (2013)
Leonard, E.I., Heitmeyer, C.L.: Automatic Program Generation from Formal Specifications using APTS. In: Automatic Program Development. A Tribute to Robert Paige, pp. 93–113. Springer, Dordrecht (2008)
Mannadiar, R., Vangheluwe, H.: Modular Synthesis of Mobile Device Applications from Domain-Specific Models. In: Proc. 7th Int. Workshop on Model-Based Methodologies for Pervasive and Embedded Software, pp. 21–28. ACM, New York (2010)
Menon, A., et al.: A machine learning framework for programming by example. In: Proceedings of the 30th International Conference on Machine Learning (ICML 2013), pp. 187–195 (2013)
Prusov, V.A., Doroshenko, A.Y.: On efficient numerical solution of one-dimensional convection-diffusion equations in modelling atmospheric processes. International Journal of Environment and Pollution 32(2), 231–249 (2008)
Raychev, V., Vechev, M., Yahav, E.: Automatic Synthesis of Deterministic Concurrency. In: Logozzo, F., Fähndrich, M. (eds.) Static Analysis. LNCS, vol. 7935, pp. 283–303. Springer, Heidelberg (2013)
Rompf, T., Odersky, M.: Lightweight modular staging: a pragmatic approach to runtime code generation and compiled DSLs. Communications of ACM 55(6), 121–130 (2012)
Srivastava, S., Gulwani, S., Foster, J.S.: From Program Verification to Program Synthesis. In: Proc. 37th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 313–326. ACM, New York (2010)
Yatsenko, O.: On Parameter-Driven Generation of Algorithm Schemes. In: Proc. Int. Workshop on Concurrency: Specification and Programming (CS&P 2012), Berlin, Germany, pp. 428–438 (2012)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer International Publishing
About this paper
Cite this paper
Doroshenko, A., Zhereb, K., Yatsenko, O. (2013). Developing and Optimizing Parallel Programs with Algebra-Algorithmic and Term Rewriting Tools. In: Ermolayev, V., Mayr, H.C., Nikitchenko, M., Spivakovsky, A., Zholtkevych, G. (eds) Information and Communication Technologies in Education, Research, and Industrial Applications. ICTERI 2013. Communications in Computer and Information Science, vol 412. Springer, Cham. https://doi.org/10.1007/978-3-319-03998-5_5
Download citation
DOI: https://doi.org/10.1007/978-3-319-03998-5_5
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-03997-8
Online ISBN: 978-3-319-03998-5
eBook Packages: Computer ScienceComputer Science (R0)