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. This paper is an extended version of a PIT 2014 paper [1].

Highlights

  • THE TEMPLET LANGUAGE PREPROCESSOR: A PROGRAMMING TOOL FOR PROCESS-PER-MESSAGE MODELING∗

  • The process-per-message model is used in the form of a specialized language or a run-time library for general purpose language

  • We propose a new method that comprises domain-specific language called Templet for code markup, a general purpose language, and the preprocessor

Read more

Summary

Introduction

THE TEMPLET LANGUAGE PREPROCESSOR: A PROGRAMMING TOOL FOR PROCESS-PER-MESSAGE MODELING∗ Korolyov Samara State Aerospace University (National Research University), 34, Moskovskoe sh., Samara, 443086, Russian Federation. Motivation: A large number of applications can be described as a set of processes that exchange messages. The process-per-message model is used in the form of a specialized language or a run-time library for general purpose language.

Results
Conclusion
Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.