Benches of development and software attending on the basis of code generation

  • A. Alexandrov
  • V. Shilmanov
Keywords: domain-specific programming language, a program component, library of program components, code generation

Abstract

Alexander Aleksandrov – Professor, Department of Personal Computers and Networks, Faculty of Informatics, Moscow State University of Instrumentation and Informatics (MGUPI).
Address: 20, Stromynka str., Moscow, 107996, Russian Federation.  
E-mail: femsystem@yandex.ru

Vladimir Shilmanov – Postgraduate Student, Department of Personal Computers and Networks, Faculty of Informatics, Moscow State University of Instrumentation and Informatics (MGUPI).
Address: 20, Stromynka str., Moscow, 107996, Russian Federation.  
E-mail: femsystem@yandex.ru

In software engineering industry, a steady trend has begun to show for transition from domain-specific programming theory to a new paradigm based on a concept theory and language-oriented programming methods. Within development of software using domain-specific programming, this process appears quite long, while for maintenance and development of software code, everything will be necessary to repeat anew. Application of domain-specific languages could serve as an alternative, where languages fulfill the function of a special interface interrelating higher-level concept theory add up with direct software implementation capability.

The goal of the study lies in code generation automation when building a component library based on semantic description received at input, i.е. subject to principles of language-oriented programming methods. 

For code generation, two main approaches are considered: template generation using convertor. Another main approach to software design is a higher-level model using domain-specific language (DSL), such model is more domain-specific than classes and methods. In such a case software solution code becomes easy to understand by a ‘domain’ specialist without any intervention by a programmer. This results in a solution text reduction by an order of magnitude. A concept of software components provides for their multiple use, building up various software solutions from blocks accounting for their multiple use.

As a result, to build up a component library, code generator was developed using Python programming language using PyParsing combinatorial library. The newly developed generator allows to create algorithm software code under a previously done template describing input and output data. Generation using converter is based on creating a software which will receive at input a semantic model, while at output provides a source text for a target language environment.

Downloads

Download data is not yet available.
Published
2012-02-09
How to Cite
AlexandrovA., & ShilmanovV. (2012). Benches of development and software attending on the basis of code generation. BUSINESS INFORMATICS, 6(4), 10-17. Retrieved from https://bijournal.hse.ru/article/view/26226
Section
Software engineering