|
This article is cited in 2 scientific papers (total in 2 papers)
Computer Science
The Templet Language Preprocessor: A Programming Tool for Process-per-Message Modeling
S. V. Vostokin S. P. Korolyov Samara State Aerospace University
(National Research University),
Samara, 443086, Russian Federation
(published under the terms of the Creative Commons Attribution 4.0 International License)
Abstract:
Motivation: A large number of applications can be described as a set of processes that exchange messages. Traditionally the process-per-message model is used in the form of a specialized language or a run-time library for general purpose language. The first approach lacks implementation simplicity, while the second approach is difficult in use. We propose a new method that comprises domain-specific language called Templet for code markup, a general purpose language, and the preprocessor. Our approach is free from disadvantages mentioned above. Method: A code of a program is divided into blocks. Block boundaries are indicated by comments. The entire code structure is defined in Templet language so it can be checked out automatically before compilation. Description of Channels: A channel defines a message exchange protocol between two interconnected processes. We provide channel syntax in the form of Extended Backus-Naur Formalism (EBNF). The informational structure of the channel is described with Entity-Relation diagram (ER). Description of Processes: A process defines the algorithm for message processing. Information structure of the process is shown in conjunction with the syntax. EBNF and ER models are also used in the process specification. Syntax rules are illustrated with the fork-join code sample. Preprocessor structure and work scheme: We present the algorithm and the structure of the preprocessor. Subsystems discussed are: syntax analyzer; semantics analyzer; internal database; inference mechanism; and code generator. The method for estimation of workload of manual coding is presented. It shows the diminishment of workload in 20 times comparing with manual coding. Discussion: The preprocessor is used for skeleton programming as a part of web-service for automated parallel programming. Its advantages and features are discussed in comparison with parallelization with markup technique; general-purpose macro processor; parallel programming language, metaprogramming; and model-driven development.
Keywords:
preprocessor, domain-specific language, process, message, parallel programming.
Original article submitted 18/VII/2014 revision submitted – 21/VIII/2014
Citation:
S. V. Vostokin, “The Templet Language Preprocessor: A Programming Tool for Process-per-Message Modeling”, Vestn. Samar. Gos. Tekhn. Univ., Ser. Fiz.-Mat. Nauki [J. Samara State Tech. Univ., Ser. Phys. Math. Sci.], 3(36) (2014), 169–182
Linking options:
https://www.mathnet.ru/eng/vsgtu1334 https://www.mathnet.ru/eng/vsgtu/v136/p169
|
Statistics & downloads: |
Abstract page: | 512 | Full-text PDF : | 249 | References: | 63 |
|