Theory of Clones and Formalized Design of Programs Anatoliy Doroshenko 1 , Georgiy Tseytlin 1 , Olena Yatsenko 1 , and Lubov Zachariya 1 1 Institute of Software Systems of National Academy of Sciences of Ukraine, Glushkov prosp. 40, 03187 Kiyiv, Ukraine dor@isofts.kiev.ua , tseytlin@vikno.relc.com , aiyat@i.com.ua , zlm56@web.de Abstract. The paper is devoted to the theory of clones which is a promising approach to the challenge of program design automation in the framework of the algebraic algorithmics. A family of algebras of the same type, in particular, algebras of algorithms, constitutes a clone. Grammatical and algorithmic clones as well as applied algebras belonging to various subject domains are described. The use of algebraic algorithmics facilities for formalized design of programs is illustrated with the examples of algorithms of symbolic multiprocessing. Keywords: algebraic algorithmics, algebra of programs, clone, iteration and recursion, regular schemes. 1 Introduction Algebraic treatment of programming abstracts has been always influential and insightful approach to programming due to its rigorous mathematical foundation and powerful facilities for program design. In recent years a promising approach of algebraic algorithmics is being intensively developed (see for instance [4, 8, 11, 14]). A particular direction of algorithmics, being developed in Ukraine and named as algebra of algorithms, dates back to fundamental works of academician V.M. Glushkov aimed to solve problems of design automation of computer logic structure and programming [7]. There systems of algebras of algorithms (SAA) have been constructed and investigated which were later called the Glushkov algebras (GA), and results on structural schematology and the multilevel structural program design (MSPD) technique have been obtained [14]. In this paper a review of some new results in algebras of algorithms is proposed that concerns constructing families of algebras (clones). Clones of algebras appear to have tight linkage with classic programming paradigms (structural, nonstructural, object-oriented) [16] and modern approach of generative programming [2]. They also unify usage of various discrete models (logic, automaton-theoretical, grammatical and algorithmic) to describe the programming paradigms. The outline of the work is as follows. The concept of a clone is given in Section 2. Section 3 is devoted to the construction of the Post clone and its modifications. Main results on grammatical and algorithmic clones are presented in Section 4. The formalized design of programs in algorithm algebras illustrated with the examples of Proc. CS&P '06 328