{"title":"Introducing Programming Language Metrics","authors":"Timur Rasimovich Fayzrakhmanov","doi":"10.15514/ispras-2022-34(6)-5","DOIUrl":"https://doi.org/10.15514/ispras-2022-34(6)-5","url":null,"abstract":"We introduce possibly the first approximation of programming language metrics that represent a spectrum over 70 unique and carefully gathered dimensions by which any two programming languages can be compared. Based on those metrics, one can evaluate her own `best' language, and to demonstrate how complex feelings such as “simplicity” and “easy to use”, often found as arguments in language debates and advertisements, can be decomposed into clear and measurable pieces. We put the collection as a completely separate open-source file (here as an appendix) so that everyone can participate in eliciting new and interesting dimensions used in programming languages research, development, and use. Metrics can find their use to compare languages, define requirements, create rankings, give tips for language designers, and simply provide a bird’s-eye view on existing languages features found in the wild.","PeriodicalId":33459,"journal":{"name":"Trudy Instituta sistemnogo programmirovaniia RAN","volume":"21 1","pages":""},"PeriodicalIF":0.0,"publicationDate":"2022-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"79338404","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Solving the problem of storing trajectories of molecular dynamics in a DBMS","authors":"I. V. Likhachev","doi":"10.15514/ispras-2022-34(1)-12","DOIUrl":"https://doi.org/10.15514/ispras-2022-34(1)-12","url":null,"abstract":"The paper solves the problem of storing molecular dynamics trajectories in relational and non-relational databases. The traditional approach to organizing the structure of relational tables is not suitable for storing trajectories due to the appearance of a large number of records in one table. It is described how best to place data in the NoSQL class DBMS. These ideas are then transferred to the MySQL relational DBMS.","PeriodicalId":33459,"journal":{"name":"Trudy Instituta sistemnogo programmirovaniia RAN","volume":"25 1","pages":""},"PeriodicalIF":0.0,"publicationDate":"2022-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"76814180","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Library for Development of Compilers","authors":"S. Mironov, I. A. Batraeva, P. Dunaev","doi":"10.15514/ispras-2022-34(5)-5","DOIUrl":"https://doi.org/10.15514/ispras-2022-34(5)-5","url":null,"abstract":"This work is devoted to the development of a library designed to implement compilers. The article contains a description of the library's features and the main points of its functioning. In the course of the work, the generation of parsers using LR(1)-automata was studied and implemented, two auxiliary languages were designed and implemented: a semantic network query language and a language designed to generate executable code. The result of the work is a library for the platform .NET (the library was tested for the C# language), which contains classes that make easier the implementation of source code parsing, semantic analysis, and executable file generation. This library does not have external dependencies, except for the standard .NET library.","PeriodicalId":33459,"journal":{"name":"Trudy Instituta sistemnogo programmirovaniia RAN","volume":"38 1","pages":""},"PeriodicalIF":0.0,"publicationDate":"2022-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"74297621","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Architecture of a software system for designing robust business processes","authors":"Katarina Samoylova, E. Zamyatina","doi":"10.15514/ispras-2022-34(2)-6","DOIUrl":"https://doi.org/10.15514/ispras-2022-34(2)-6","url":null,"abstract":"Nowadays, in order for a company to remain competitive, efficient and attractive to investors it needs to have reliable and threat-resistant business processes. The question of methods for building such business processes remains relevant. This paper proposes a software system, which involves the use of methods and tools of DSM (Domain Specific Modeling), ontological approach, simulation modeling methods, mass service theory, Petri nets. As an example, the logistics process of ship boarding in the port is considered. Software tools implementing simulation modeling and DSM are ANYLOGIC and METALANGUAGE.","PeriodicalId":33459,"journal":{"name":"Trudy Instituta sistemnogo programmirovaniia RAN","volume":"55 1","pages":""},"PeriodicalIF":0.0,"publicationDate":"2022-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"73572122","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Solving the shallow water problem by central differences and FCT correction","authors":"I. Potapov, P. S. Timosh","doi":"10.15514/ispras-2022-34(5)-17","DOIUrl":"https://doi.org/10.15514/ispras-2022-34(5)-17","url":null,"abstract":"The paper proposes an algorithm based on central differences and FCT correction for solving the shallow water problem. The results of numerical testing were compared with known data. The comparison showed that the proposed algorithm has similar accuracy with other methods. A comparison of the speed of the proposed algorithm and a similar one based on the McCormack method is given. The conclusion is made about the superiority in speed over the McCormack method with the same accuracy.","PeriodicalId":33459,"journal":{"name":"Trudy Instituta sistemnogo programmirovaniia RAN","volume":"71 1","pages":""},"PeriodicalIF":0.0,"publicationDate":"2022-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"84479122","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Dmitry Olegovich Markin, Sergey Mikhailovich Makeev, Thaj Trung Ho
{"title":"Security threat level estimation for untrusted software based on TrustZone technology","authors":"Dmitry Olegovich Markin, Sergey Mikhailovich Makeev, Thaj Trung Ho","doi":"10.15514/ispras-2022-34(1)-3","DOIUrl":"https://doi.org/10.15514/ispras-2022-34(1)-3","url":null,"abstract":"The paper proposes a model for assessing the security of information processed by untrusted software from the components of the TrustZone technology. The results of vulnerability analysis of TrustZone technology implementations are presented. The structure of the trustlets security analysis tool has been developed. The paper deals with the problem of assessing the credibility of foreign-made software and hardware based on processors with the ARM architecture. The main results of the work are the classification of trustlets using their threat level assessment and the model of security threat level estimation of information processed by trustlets. Trustlets are software that operates in a trusted execution environment based on TrustZone technology in computers with ARM processors. An assessment of the security of information processed by trustlets for some implementations of trusted execution environments was carried out. The structural scheme of the analysis tool that allows identifying potentially dangerous code constructs in binary files of trustlets is presented. Also analysis tool's algorithm performing syntactic analysis of trustlet data is described. The calculation of the security assessment is carried out on the basis of a set of features proposed by authors. Calculated security assessment levels can be used to classify trustlets that are part of «trusted» operating systems based on TrustZone technology. The levels of potential threat to the security of the information they process are used to differ trustlets during certification tests and vulnerability search. It is advisable to use the results of the work in the interests of conducting certification tests of computer software based on processors with ARM architecture.","PeriodicalId":33459,"journal":{"name":"Trudy Instituta sistemnogo programmirovaniia RAN","volume":"73 1","pages":""},"PeriodicalIF":0.0,"publicationDate":"2022-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"78717186","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"https://ispranproceedings.elpub.ru/jour/article/view/1531","authors":"A. Shcherbakov, V. Frolov, V. Galaktionov","doi":"10.15514/ispras-2022-34(3)-4","DOIUrl":"https://doi.org/10.15514/ispras-2022-34(3)-4","url":null,"abstract":"Geometry simplification for the radiosity method is a laborious process and it is difficult to automate in the general case. As an alternative solution to this problem, this paper proposes a modification of the radiosity method using approximation called “virtual patches”. Virtual patches are elements of the geometry obtained by clustering some points of the original geometry for which the illumination is calculated. They have a normal, color and area, but do not have a geometric representation, representing a cloud of points inside the voxel. In comparison with the original radiosity method, the proposed method, without reducing the performance of calculating global illumination, increases its accuracy.","PeriodicalId":33459,"journal":{"name":"Trudy Instituta sistemnogo programmirovaniia RAN","volume":"27 1","pages":""},"PeriodicalIF":0.0,"publicationDate":"2022-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"88212598","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"A Web Application to Promote Blood Donation in Russia","authors":"Pavel Smirnov, V. Malinovskaya, N. Voinov","doi":"10.15514/ispras-2022-34(2)-14","DOIUrl":"https://doi.org/10.15514/ispras-2022-34(2)-14","url":null,"abstract":"The paper is devoted to the issue of blood donation and possible ways to promote this activity using modern information technologies. Existing software solutions are analyzed and new Web application is proposed to implement all features required for potential blood donors to make this process clearer and more comfortable.","PeriodicalId":33459,"journal":{"name":"Trudy Instituta sistemnogo programmirovaniia RAN","volume":"2181 1","pages":""},"PeriodicalIF":0.0,"publicationDate":"2022-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"91386784","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
A. Feoktistov, R. Kostromin, S. Gorsky, I. Bychkov, Andrei Tchernykh, Olga Yurevna Basharina
{"title":"Redundancy and Uncertainty-Based Algorithms for Computation Planning","authors":"A. Feoktistov, R. Kostromin, S. Gorsky, I. Bychkov, Andrei Tchernykh, Olga Yurevna Basharina","doi":"10.15514/ispras-2022-34(1)-9","DOIUrl":"https://doi.org/10.15514/ispras-2022-34(1)-9","url":null,"abstract":"Nowadays, the development and use of workflow-based applications (distributed applied software packages) are some of the key challenges in terms of preparing and carrying out large-scale scientific experiments in distributed environments with heterogeneous computing resources. The environment resources can be represented by clusters of personal computers, supercomputers, and private or public cloud platforms and differ in their computational characteristics. Moreover, the composition and characteristics of resources change in dynamics. Therefore, computations planning and resource allocation in the considered environments are important problems. In this regard, we propose new algorithms for computation planning taking into account redundancy and uncertainty in such distributed applied software packages. Compared to other algorithms of a similar purpose, the proposed algorithms use evaluations of workflow execution makespan obtained in the process of continuous integration, delivery, and deployment of applied software. The proposed algorithms provide the construction of redundant problem-solving schemes that allow us to adapt them to the dynamic characteristics of computational resources and improve distributed computing reliability. The algorithms are based on a theory of conceptual modeling computational processes. We demonstrate the process of constructing problem-solving schemes on model examples. In addition, we show the utility in using redundancy for increasing the distributed computing reliability In comparison with some traditional meta-schedulers.","PeriodicalId":33459,"journal":{"name":"Trudy Instituta sistemnogo programmirovaniia RAN","volume":"34 1","pages":""},"PeriodicalIF":0.0,"publicationDate":"2022-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"86977182","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Unified type system for the modern general-purpose programing language","authors":"Alexey Kanatov, Eugene Zouev","doi":"10.15514/ispras-2022-34(3)-2","DOIUrl":"https://doi.org/10.15514/ispras-2022-34(3)-2","url":null,"abstract":"The paper presents an overview of the type system, which supports the convergence of procedural, object-oriented, functional, and concurrent programming paradigms relying on static type checking with smart type inference support and the ability to ensure dynamic type safety as well. The key element of the type system is that it is fully based on just 2 basis constants and all other constructions are derived.","PeriodicalId":33459,"journal":{"name":"Trudy Instituta sistemnogo programmirovaniia RAN","volume":"24 1","pages":""},"PeriodicalIF":0.0,"publicationDate":"2022-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"76512295","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}