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 languageThe 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 systemsThe 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-applicationsAbstract: 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...
|