+7 (495) 987 43 74 ext. 3304
Join us -              
Рус   |   Eng

Authors

Siluyanov А.

Degree
PhD in Engineering, Associate Professor, Department of System Modeling and Engineering Graphics, Moscow Aviation Institute (National Research University)
E-mail
ctcmati@yandex.ru
Location
Moscow
Articles

Automated development of dynamic websites by using declarative programming language

The article examines the theoretical background of a new methodology in the Web-development of server- and the client-sides. The authors have developed a methodology BlockSet, including a declarative programming language with interpreter application. The main idea of the article is the redistribution of the abstraction levels. Such redistribution allows reduce the period for mastering of the proposed methodology and amount of appropriate. It also allows to accelerate the design process. The article considers the advantages and disadvantages of declarative and imperative programming. Similarities with the BEM methodology used in «Yandex» are described. Authors reject database design concepts but make accent on the data abstraction is one of the basic principle as one of the basic principle of the methodology which proposes extended data types. The result is the decreasing of the abstraction level and increasing the data model flexibility. This approach makes no differences between data sources, whether it would be the database or file storage. It is considered as the unified concept. The basic principles of MVC (Model-View-Controller) are considered. The main practical component of the work is the development of BML interpreter. This language is based on BlockSet methodology. The direct relationship between the BML structure and the visual editor is shown. Thus, it is possible the modeling of the logic and design of Web-document without programming. Some examples of the proposed methodology are presented.
Read more...

Design and implementation of a declarative web-interface modeling language interpreter on a high-performance distributed systems

The article examines the development process of the BML interpreter and the high-performance cluster building with BML support. The language allows to modeling a web-interfaces and their business logic in a declarative form. The article contains the comparative analysis of some critical components in the system. In particularly there is a comparison of efficiency of the Web platforms in static and dynamic environments between CGI, FastCGI and traditional PHP programming. Efficiency of compiling and interpreting languages also considered. According to study, the FastCGI platform with the C++ language gives the best result of performance. Detailed architecture with the base system components is considered. The interpreter contains low-level programming elements and requires performing the following tasks: HTTP requests parsing, store and retrieve user sessions, interact with DBMS, parsing of XML-like documents, processing a regular expressions, provide the computed data to templates and etc. There are some resource-intensive processes in the interpreter and they are also requiring detailed analysis. The BML language based on XML syntax therefore its interpreter require a proper XML-parser. Authors chose libxml2 as the best way for the fast development although it shown not highest efficiency. Some of components are developed independently: HTTP-parser, configuration files parser, session manager, all interface classes and more. In the article presented the development process of the interpreter in high-performance systems as complex engineering solution. Keywords: Web, backend, server programming, highload systems, cloud computing, clusters, servers, interpreter, declarative programming, CGI, FastCGI, BML, BlockSet, HTML, XML, MVC, C++.
Read more...

Analytical and quantitative method of software quality evaluation for imperative and declarative programming of dynamic Web-applications

Abstract: The main line of the article is the proof of the concept of BML language. BML is the main part of BlockSet methodology created for Web-development. The article examines the problem of software evaluation on that basis. At beginning of the work authors proposes the new model with complex of criteria. The criteria includes a lot of properties: psychological factors of developers, the language features, system requirements and so on. Psychological factors includes perception and training speed. Language features are flexibility, instructions set, complexity, recipe set. The problem is in difference between of imperative and declarative programming. There are a few methods of evaluation by criteria listed above suitable for both language paradigms. The «threshold entry» term introduced and found correlation between volume and quality of source code. Also authors propose term of «fault probability» related to the complex of typical project faults appeared during project developing. In the classification of software metrics authors revealed three main characteristics for evaluation: work amount, style of code, developer effort. Authors applied the hierarchy analysis method to identify the most important criterion. Due to research authors proposed «recipe set» block for further study as fundamental criterion for others.
Read more...