Pub Date : 2023-01-01DOI: 10.7256/2454-0714.2023.1.38483
I. Viktorov, R. Gibadullin
The emergence of multicore architectures has extremely stimulated the area of parallel computing. However, developing a parallel program and manually paralleling inherited sequential program codes are time-consuming work. The programmer should have good skills in using parallel programming methods. This fact determines the relevance of the subject of the research – the development of a serial-to-parallel code translator. The article gives a review of existing solutions in the chosen direction of research and considers their advantages and disadvantages. The principle of formation of a syntactic tree which is based on JSON format (the text format of data exchange based on JavaScript) is offered and an example of formation of a syntactic tree on the basis of this principle is considered. The result of the work is an approach for building a program platform for translating sequential code into parallel code. The distinctive feature of the developed platform is the web-service, which potentially allows you to extend the translator with other programming languages. The interaction with the programming environment is realized by means of REST-requests (HTTP-requests designed to call remote procedures). The developed software platform consists of three modules: the query processing module, which provides interaction with external systems through REST-requests; the tree building module, which forms a syntax tree on the basis of the source program code; the code conversion module, which obtains parallel program code on the basis of the syntax tree.
{"title":"Syntax Tree Development for Automated Serial-to-Parallel Code Translator for Multicore Processors","authors":"I. Viktorov, R. Gibadullin","doi":"10.7256/2454-0714.2023.1.38483","DOIUrl":"https://doi.org/10.7256/2454-0714.2023.1.38483","url":null,"abstract":"\u0000 The emergence of multicore architectures has extremely stimulated the area of parallel computing. However, developing a parallel program and manually paralleling inherited sequential program codes are time-consuming work. The programmer should have good skills in using parallel programming methods. This fact determines the relevance of the subject of the research – the development of a serial-to-parallel code translator. The article gives a review of existing solutions in the chosen direction of research and considers their advantages and disadvantages. The principle of formation of a syntactic tree which is based on JSON format (the text format of data exchange based on JavaScript) is offered and an example of formation of a syntactic tree on the basis of this principle is considered. The result of the work is an approach for building a program platform for translating sequential code into parallel code. The distinctive feature of the developed platform is the web-service, which potentially allows you to extend the translator with other programming languages. The interaction with the programming environment is realized by means of REST-requests (HTTP-requests designed to call remote procedures). The developed software platform consists of three modules: the query processing module, which provides interaction with external systems through REST-requests; the tree building module, which forms a syntax tree on the basis of the source program code; the code conversion module, which obtains parallel program code on the basis of the syntax tree.\u0000","PeriodicalId":155484,"journal":{"name":"Программные системы и вычислительные методы","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130117495","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}
Pub Date : 2023-01-01DOI: 10.7256/2454-0714.2023.1.39634
The research is aimed at studying the elements that affect the visual perception of the film frame in order to develop methodological recommendations for the process harmonization of the film frame. The object of research is a film frame. The subject of the research is the technology of film frame processing. The purpose of this work is to obtain experimental data of the film frame viewing pattern and to identify statistical patterns to confirm or refute the formulated hypothesis. The goal of the study is to conduct an experimental study of the influence of composition on the parameters of the film frame viewing pattern. The influence of the factor of the mutual ratio of the areas of the centers of interest to the background on the parameters of the template for viewing the stimulus material is investigated. As a result, the methodology has been developed for conducting experimental studies of human perception of visual information using an eye-tracking software and hardware complex. When analyzing data on the influence of the objects size factor. The results obtained show that under the condition that objects occupy a small area of the frame, the observer needs more time to consider this frame. As well as in the case when objects occupy most of the frame (more than 40%). In the first case, due to the small size of the objects, it becomes more difficult for the observer to find objects in the frame space. In the second case, it takes time to identify objects, since they tend to be perceived as a background due to their large size.
{"title":"The Eye-Tracking Study of the Film Frame Composition Influence on the Visual Perception","authors":"","doi":"10.7256/2454-0714.2023.1.39634","DOIUrl":"https://doi.org/10.7256/2454-0714.2023.1.39634","url":null,"abstract":"\u0000 The research is aimed at studying the elements that affect the visual perception of the film frame in order to develop methodological recommendations for the process harmonization of the film frame. The object of research is a film frame. The subject of the research is the technology of film frame processing. The purpose of this work is to obtain experimental data of the film frame viewing pattern and to identify statistical patterns to confirm or refute the formulated hypothesis. The goal of the study is to conduct an experimental study of the influence of composition on the parameters of the film frame viewing pattern. The influence of the factor of the mutual ratio of the areas of the centers of interest to the background on the parameters of the template for viewing the stimulus material is investigated. As a result, the methodology has been developed for conducting experimental studies of human perception of visual information using an eye-tracking software and hardware complex. When analyzing data on the influence of the objects size factor. The results obtained show that under the condition that objects occupy a small area of the frame, the observer needs more time to consider this frame. As well as in the case when objects occupy most of the frame (more than 40%). In the first case, due to the small size of the objects, it becomes more difficult for the observer to find objects in the frame space. In the second case, it takes time to identify objects, since they tend to be perceived as a background due to their large size.\u0000","PeriodicalId":155484,"journal":{"name":"Программные системы и вычислительные методы","volume":"88 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132642151","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}
Pub Date : 2022-04-01DOI: 10.7256/2454-0714.2022.4.36459
Sergei Olegovich Koronkov
The subject of the study is the contradiction between the need to conduct a study of the workload of helicopter pilots and the lack of methods regulated by regulatory and technical documents to ensure that such studies are carried out during the testing of new aircraft. The purpose of the study was to ensure the possibility of objectification of the pilot's workload during testing of modernized and created helicopter models, as well as in the process of flight simulator training. The author examines in detail such aspects of the topic as the development of a pilot workload research program; the completion of a helicopter by installing a set of technical means for studying attention reserves; determining the pilot's workload; determining the integral indicator of the pilot's workload and drawing up a conclusion based on the results of the workload study. The main conclusion of the conducted theoretical and experimental research is that the developed methodology for studying the workload of a helicopter pilot, based on determining the reserves of his attention when performing professional activities, provides an adequate definition of the workload when performing helicopter tests on semi-natural modeling complexes and during flight simulator training. The results of verification and research of the effectiveness of the developed solutions have shown that the objectification of the pilot's workload during helicopter testing provides an opportunity to substantiate industry recommendations on the refinement and improvement of the layout of helicopter cabins, to rationalize the points of the flight part of the test program and to intensify the process of professional training of flight personnel.
{"title":"Methodology of automated study of the workload of a helicopter pilot","authors":"Sergei Olegovich Koronkov","doi":"10.7256/2454-0714.2022.4.36459","DOIUrl":"https://doi.org/10.7256/2454-0714.2022.4.36459","url":null,"abstract":"\u0000 The subject of the study is the contradiction between the need to conduct a study of the workload of helicopter pilots and the lack of methods regulated by regulatory and technical documents to ensure that such studies are carried out during the testing of new aircraft. The purpose of the study was to ensure the possibility of objectification of the pilot's workload during testing of modernized and created helicopter models, as well as in the process of flight simulator training. The author examines in detail such aspects of the topic as the development of a pilot workload research program; the completion of a helicopter by installing a set of technical means for studying attention reserves; determining the pilot's workload; determining the integral indicator of the pilot's workload and drawing up a conclusion based on the results of the workload study. The main conclusion of the conducted theoretical and experimental research is that the developed methodology for studying the workload of a helicopter pilot, based on determining the reserves of his attention when performing professional activities, provides an adequate definition of the workload when performing helicopter tests on semi-natural modeling complexes and during flight simulator training. The results of verification and research of the effectiveness of the developed solutions have shown that the objectification of the pilot's workload during helicopter testing provides an opportunity to substantiate industry recommendations on the refinement and improvement of the layout of helicopter cabins, to rationalize the points of the flight part of the test program and to intensify the process of professional training of flight personnel. \u0000","PeriodicalId":155484,"journal":{"name":"Программные системы и вычислительные методы","volume":"17 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127865133","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}
Pub Date : 2022-04-01DOI: 10.7256/2454-0714.2022.4.39264
S. Kovalev, T. Smirnova, V. Filippov, A. Andreeva
The object of the study is mathematical modeling methods. The subject of the study is the application of mathematical methods in modeling digital twins of a social group. The aim of the work is to model the digital counterparts of a social group. A digital double is a digital copy of a physical object or process, with the right approach, it helps to improve the main and auxiliary business processes. This concept is part of the fourth industrial revolution and is designed to help detect problems faster, find out what will happen to the original in different conditions and, as a result, produce better products. In this article, some applied aspects are considered, the main provisions of the mathematical theory of digital twins of social groups are presented. To solve the problem of creating a digital double of a social group (students) as one of the tools, the authors proposed to use the technologies of population algorithms. The novelty of the research consists in the application of the swarm part algorithm for modeling digital twins of a social group. The particle swarm method was chosen as a research tool. As the social group under study finds the optimal position in space, so the element of the digital twin of the particle swarm model based on them can search in space, in particular, the extremes of functions. Which, for example, is applicable to finding the minimum of the loss function in machine learning. A graphical simulation in the Java Script language was performed using the three library.js. Data processing was performed using the C# Job System, which provides parallelization of computing processes and is integrated into the Entity Component System. A program was implemented that simulates the activity of a student group as one of the constituent elements of a digital twin of a social group. Swarm algorithms are promising in the field of practical application. On their basis, it is possible not only to solve the problems of digital twins, but also to manage groups of robots, robotic systems and complexes.
{"title":"About Modeling Digital Twins of a Social Group","authors":"S. Kovalev, T. Smirnova, V. Filippov, A. Andreeva","doi":"10.7256/2454-0714.2022.4.39264","DOIUrl":"https://doi.org/10.7256/2454-0714.2022.4.39264","url":null,"abstract":"\u0000 The object of the study is mathematical modeling methods. The subject of the study is the application of mathematical methods in modeling digital twins of a social group. The aim of the work is to model the digital counterparts of a social group. A digital double is a digital copy of a physical object or process, with the right approach, it helps to improve the main and auxiliary business processes. This concept is part of the fourth industrial revolution and is designed to help detect problems faster, find out what will happen to the original in different conditions and, as a result, produce better products. In this article, some applied aspects are considered, the main provisions of the mathematical theory of digital twins of social groups are presented. To solve the problem of creating a digital double of a social group (students) as one of the tools, the authors proposed to use the technologies of population algorithms. The novelty of the research consists in the application of the swarm part algorithm for modeling digital twins of a social group. The particle swarm method was chosen as a research tool. As the social group under study finds the optimal position in space, so the element of the digital twin of the particle swarm model based on them can search in space, in particular, the extremes of functions. Which, for example, is applicable to finding the minimum of the loss function in machine learning. A graphical simulation in the Java Script language was performed using the three library.js. Data processing was performed using the C# Job System, which provides parallelization of computing processes and is integrated into the Entity Component System. A program was implemented that simulates the activity of a student group as one of the constituent elements of a digital twin of a social group. Swarm algorithms are promising in the field of practical application. On their basis, it is possible not only to solve the problems of digital twins, but also to manage groups of robots, robotic systems and complexes.\u0000","PeriodicalId":155484,"journal":{"name":"Программные системы и вычислительные методы","volume":"299 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133471951","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}
Pub Date : 2022-04-01DOI: 10.7256/2454-0714.2022.4.39289
K. Barabash, Alina Mangusheva, M. Obukhova, Karen Albertovich Grigoryan
The article highlights aspects of the development of the LISP interpreter. Despite the fact that LISP is not the most popular language these days (in the TIOBE index for November 2022, this language is in 30th place), the work done by the authors is relevant. Many popular ideas and software technologies today were first developed using LISP machines. The developed interpreter allows the programmer to avoid defining program elements (functions, classes, etc.) unnecessarily. Also, the development result allows you to run any LISP entity that returns a meaningful result. Modern LISP interpreters do not have the ability to overload functions, which is why users have to memorize a huge number of function names whose actions are of the same type. This greatly complicates the learning process, since you have to look for the names of primitive functions in the documentation. Because of this, most of the potential users drop out of training, returning to modern programming languages, without knowing the possibilities of the LISP language. The article reveals the creation of a LISP interpreter capable of competing with modern programming languages in terms of ease of interaction with objects. The article also suggests an approach that provides a garbage collection mechanism by counting references to objects.
{"title":"Development of the LISP Interpreter","authors":"K. Barabash, Alina Mangusheva, M. Obukhova, Karen Albertovich Grigoryan","doi":"10.7256/2454-0714.2022.4.39289","DOIUrl":"https://doi.org/10.7256/2454-0714.2022.4.39289","url":null,"abstract":"\u0000 The article highlights aspects of the development of the LISP interpreter. Despite the fact that LISP is not the most popular language these days (in the TIOBE index for November 2022, this language is in 30th place), the work done by the authors is relevant. Many popular ideas and software technologies today were first developed using LISP machines. The developed interpreter allows the programmer to avoid defining program elements (functions, classes, etc.) unnecessarily. Also, the development result allows you to run any LISP entity that returns a meaningful result. Modern LISP interpreters do not have the ability to overload functions, which is why users have to memorize a huge number of function names whose actions are of the same type. This greatly complicates the learning process, since you have to look for the names of primitive functions in the documentation. Because of this, most of the potential users drop out of training, returning to modern programming languages, without knowing the possibilities of the LISP language. The article reveals the creation of a LISP interpreter capable of competing with modern programming languages in terms of ease of interaction with objects. The article also suggests an approach that provides a garbage collection mechanism by counting references to objects.\u0000","PeriodicalId":155484,"journal":{"name":"Программные системы и вычислительные методы","volume":"78 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132923677","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}
Pub Date : 2022-04-01DOI: 10.7256/2454-0714.2022.4.39029
R. Gibadullin
When the first version of the .NET Framework was released, there was a pattern in enriched client applications that focused on message processing loops, where an embedded queue was used to pass execution units from worker threads. A generalized ISynchronizeInvoke solution was then developed in which the source thread could queue a delegate to the destination thread and, as an optional option, wait for that delegate to complete. After asynchronous page support was introduced into the ASP.NET architecture, the ISynchronizeInvoke pattern did not work because asynchronous ASP.NET pages are not mapped to a single thread. This was the reason for creating an even more generalized solution – SynchronizationContext, which is the subject of the research. The article uses practical examples to show how to update UI elements from worker threads without breaking thread-safety of the user application. Solutions proposed in this aspect are: using Beginlnvoke or Invoke methods to put this delegate into the UI thread message queue; capturing the UI thread synchronization context via the Current property of the SynchronizationContext class; using the deprecated BackgroundWorker class, which provides an implicit capture of the UI thread synchronization context. The peculiarity of implementation of the SynchronizationContext abstract class in ASP.NET platform is not left unnoticed. Practical recommendations on the use of marshalling mechanism on the example of development of multiclient chat with a centralized server are formulated.
当. net Framework的第一个版本发布时,在富客户端应用程序中有一种模式专注于消息处理循环,其中使用嵌入式队列来传递来自工作线程的执行单元。然后开发了一个通用的isynsynchronizeinvoke解决方案,其中源线程可以将委托排队到目标线程,并作为可选选项等待该委托完成。异步页面支持被引入ASP。. NET体系结构中,isynsynchronizeinvoke模式不起作用,因为异步ASP。. NET页不映射到单个线程。这就是创建一个更通用的解决方案的原因——SynchronizationContext,这也是本研究的主题。本文使用实际示例来展示如何在不破坏用户应用程序线程安全的情况下从工作线程更新UI元素。在这方面提出的解决方案是:使用begininvoke或Invoke方法将此委托放入UI线程消息队列;通过SynchronizationContext类的Current属性捕获UI线程同步上下文;使用已弃用的BackgroundWorker类,它提供了对UI线程同步上下文的隐式捕获。ASP中SynchronizationContext抽象类实现的特点。. NET平台并没有被忽视。在使用集中式服务器开发多客户机聊天的示例中,给出了使用编组机制的实用建议。
{"title":"Thread-safe Control Calls in Enriched Client Applications","authors":"R. Gibadullin","doi":"10.7256/2454-0714.2022.4.39029","DOIUrl":"https://doi.org/10.7256/2454-0714.2022.4.39029","url":null,"abstract":"\u0000 When the first version of the .NET Framework was released, there was a pattern in enriched client applications that focused on message processing loops, where an embedded queue was used to pass execution units from worker threads. A generalized ISynchronizeInvoke solution was then developed in which the source thread could queue a delegate to the destination thread and, as an optional option, wait for that delegate to complete. After asynchronous page support was introduced into the ASP.NET architecture, the ISynchronizeInvoke pattern did not work because asynchronous ASP.NET pages are not mapped to a single thread. This was the reason for creating an even more generalized solution – SynchronizationContext, which is the subject of the research. The article uses practical examples to show how to update UI elements from worker threads without breaking thread-safety of the user application. Solutions proposed in this aspect are: using Beginlnvoke or Invoke methods to put this delegate into the UI thread message queue; capturing the UI thread synchronization context via the Current property of the SynchronizationContext class; using the deprecated BackgroundWorker class, which provides an implicit capture of the UI thread synchronization context. The peculiarity of implementation of the SynchronizationContext abstract class in ASP.NET platform is not left unnoticed. Practical recommendations on the use of marshalling mechanism on the example of development of multiclient chat with a centralized server are formulated.\u0000","PeriodicalId":155484,"journal":{"name":"Программные системы и вычислительные методы","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129398885","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}
Pub Date : 2022-04-01DOI: 10.7256/2454-0714.2022.4.39124
Denis Aleksandrovich Kiryanov
The subject of the study is the architecture of the RSS feed aggregation system. The author considers in detail such aspects of the topic as choosing the right data aggregation strategy, an approach to scaling a distributed system, designing and implementing the main modules of the system, such as an aggregation strategy definition module, a content aggregation module, a data processing module, a search module. Particular attention in this study is given to a detailed description of the libraries and frameworks chosen for the implementation of the system under consideration, as well as databases. The main part of the system under consideration is implemented in the C# programming language (.Net Core) and is cross-platform. The study describes the interaction with the main data stores used in the development of the aggregation system, which are PostgreSQL and Elasticsearch. The main conclusion of the study is that before developing an aggregation system, it is necessary to analyze the publication activity of data sources, on the basis of which it is possible to form an acceptable strategy for updating the search index, saving a significant amount of resources. computing power. Content aggregation systems, such as the one considered in this study, should be distributed, built on the basis of event-driven and microservice architectures. This approach will make the system resistant to high loads and failures, as well as easily expandable. The author's special contribution to the study of the topic is a detailed description of the high-level architecture of the RSS aggregator, designed to process 50,000 channels.
{"title":"A Scalable Aggregation System Designed to Process 50,000 RSS Feeds","authors":"Denis Aleksandrovich Kiryanov","doi":"10.7256/2454-0714.2022.4.39124","DOIUrl":"https://doi.org/10.7256/2454-0714.2022.4.39124","url":null,"abstract":"\u0000 The subject of the study is the architecture of the RSS feed aggregation system. The author considers in detail such aspects of the topic as choosing the right data aggregation strategy, an approach to scaling a distributed system, designing and implementing the main modules of the system, such as an aggregation strategy definition module, a content aggregation module, a data processing module, a search module. Particular attention in this study is given to a detailed description of the libraries and frameworks chosen for the implementation of the system under consideration, as well as databases. The main part of the system under consideration is implemented in the C# programming language (.Net Core) and is cross-platform. The study describes the interaction with the main data stores used in the development of the aggregation system, which are PostgreSQL and Elasticsearch. The main conclusion of the study is that before developing an aggregation system, it is necessary to analyze the publication activity of data sources, on the basis of which it is possible to form an acceptable strategy for updating the search index, saving a significant amount of resources. computing power. Content aggregation systems, such as the one considered in this study, should be distributed, built on the basis of event-driven and microservice architectures. This approach will make the system resistant to high loads and failures, as well as easily expandable. The author's special contribution to the study of the topic is a detailed description of the high-level architecture of the RSS aggregator, designed to process 50,000 channels.\u0000","PeriodicalId":155484,"journal":{"name":"Программные системы и вычислительные методы","volume":"107 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130921596","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}
Pub Date : 2022-04-01DOI: 10.7256/2454-0714.2022.4.39235
V. Volushkova, Aleksandra Yurievna Volushkova
The object of research is the interaction protocols (API - Application Programming Interface) of microservices. The microservices API is an important development object because each microservice can be a client for any other microservice and be created by a separate team. To build a unified system of interaction between microservices, the API-First methodology for synchronizing communication protocols for server applications was used. The aim of the work is to create a way to develop API microservices of server java applications using spring-boot, spring-web, openapi-generator, springdoc libraries. The method is based on the fact that the API is the most important part of the product and therefore is created at the initial design stage. An approach based on a single microservices API and TDD testing technique is proposed, which increases the efficiency of managing the development of server-side java applications. The microservices API is built using the specification as the API artifact. The developed technique allows: use the created API by another team, regardless of the development language; increase the productivity of development teams; to carry out a qualitative description of methods and models; reduce the amount of routine code by generating code from the specification; identify API design errors earlier than with the standard development approach (API after implementation) by applying TDD and working with the API before it is implemented.
{"title":"A Single Specification Format as a Microservice API Artifact when Using API-First","authors":"V. Volushkova, Aleksandra Yurievna Volushkova","doi":"10.7256/2454-0714.2022.4.39235","DOIUrl":"https://doi.org/10.7256/2454-0714.2022.4.39235","url":null,"abstract":"\u0000 The object of research is the interaction protocols (API - Application Programming Interface) of microservices. The microservices API is an important development object because each microservice can be a client for any other microservice and be created by a separate team. To build a unified system of interaction between microservices, the API-First methodology for synchronizing communication protocols for server applications was used. The aim of the work is to create a way to develop API microservices of server java applications using spring-boot, spring-web, openapi-generator, springdoc libraries. The method is based on the fact that the API is the most important part of the product and therefore is created at the initial design stage. An approach based on a single microservices API and TDD testing technique is proposed, which increases the efficiency of managing the development of server-side java applications. The microservices API is built using the specification as the API artifact. The developed technique allows: use the created API by another team, regardless of the development language; increase the productivity of development teams; to carry out a qualitative description of methods and models; reduce the amount of routine code by generating code from the specification; identify API design errors earlier than with the standard development approach (API after implementation) by applying TDD and working with the API before it is implemented.\u0000","PeriodicalId":155484,"journal":{"name":"Программные системы и вычислительные методы","volume":"28 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126475510","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}
Pub Date : 2022-03-01DOI: 10.7256/2454-0714.2022.3.38800
S. S. Kuznetsov
In the TV and radio industry, the efficiency of the hardware and software of broadcast production complexes is the basis of competitive advantage, and therefore, in the context of global digitalization, television industry companies face the task of constantly improving broadcast production complexes. Such improvement is largely provided by new technologies, some of which are aimed at automating broadcasting processes. In the article, the author analyzes the existing problems of automation of broadcast production complexes and concludes that such problems are caused by the desire of TV and radio companies to replace the traditional approach to the production of programs using a team of specialists with software. However, the effectiveness of this approach is questionable, especially if the release of the program is associated with live work, where in an uncertain situation it is not possible to react promptly to any events using automated software. Hence, automation of production processes in the field of broadcasting becomes an effective and economical technology only with the correct configuration of the software and careful calculation of automation prospects. The real prospects for automation of broadcast production complexes are currently in almost unexplored areas for the television sphere - the areas of voice control, which is based on artificial intelligence based on various algorithms for training artificial neural networks, which requires additional study and development of an appropriate model adapted to a specific task.
{"title":"Problems of automation of the broadcasting and production complex","authors":"S. S. Kuznetsov","doi":"10.7256/2454-0714.2022.3.38800","DOIUrl":"https://doi.org/10.7256/2454-0714.2022.3.38800","url":null,"abstract":"\u0000 In the TV and radio industry, the efficiency of the hardware and software of broadcast production complexes is the basis of competitive advantage, and therefore, in the context of global digitalization, television industry companies face the task of constantly improving broadcast production complexes. Such improvement is largely provided by new technologies, some of which are aimed at automating broadcasting processes. In the article, the author analyzes the existing problems of automation of broadcast production complexes and concludes that such problems are caused by the desire of TV and radio companies to replace the traditional approach to the production of programs using a team of specialists with software. However, the effectiveness of this approach is questionable, especially if the release of the program is associated with live work, where in an uncertain situation it is not possible to react promptly to any events using automated software. Hence, automation of production processes in the field of broadcasting becomes an effective and economical technology only with the correct configuration of the software and careful calculation of automation prospects. The real prospects for automation of broadcast production complexes are currently in almost unexplored areas for the television sphere - the areas of voice control, which is based on artificial intelligence based on various algorithms for training artificial neural networks, which requires additional study and development of an appropriate model adapted to a specific task.\u0000","PeriodicalId":155484,"journal":{"name":"Программные системы и вычислительные методы","volume":"15 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131809973","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}
Pub Date : 2022-03-01DOI: 10.7256/2454-0714.2022.3.38823
V. V. Pekunov
In this paper, we consider the problem of developing compact tools that support programming in dynamic transactional memory, implying operational generation of transactional pages, for the Cilk++ language. It is argued that such an implementation requires weakened transaction isolation. The current state of the problem is analyzed. It is noted that the existing solutions are quite cumbersome, although they allow you to work with complex data structures such as lists and trees. It is argued that it is necessary to develop new solutions in the style of minimalism based on the use of specialized classes (generating transactional pages; implementing consistent transactional variables) in combination with a set of keywords characteristic of Cilk++. Appropriate new solutions are proposed. New syntax elements are introduced, implemented using language extension tools specific to the Planning C platform. The semantics of new language elements is described. It is noted that, unlike analogues, the developed tools allow declaratively to "build" transactions into a network (network schedule of work), which determines the order of execution of transactions and the potential for parallelism that exists at the same time. The proposed approach was tested on the example of the task of constructing a histogram. It is also mentioned about the successful solution, using the developed tools, of the problem of training an artificial neural network by the method of error back propagation and the problem of integer linear programming by the method of branches and boundaries.
{"title":"Object-transactional Extension of Cilk++","authors":"V. V. Pekunov","doi":"10.7256/2454-0714.2022.3.38823","DOIUrl":"https://doi.org/10.7256/2454-0714.2022.3.38823","url":null,"abstract":"\u0000 In this paper, we consider the problem of developing compact tools that support programming in dynamic transactional memory, implying operational generation of transactional pages, for the Cilk++ language. It is argued that such an implementation requires weakened transaction isolation. The current state of the problem is analyzed. It is noted that the existing solutions are quite cumbersome, although they allow you to work with complex data structures such as lists and trees. It is argued that it is necessary to develop new solutions in the style of minimalism based on the use of specialized classes (generating transactional pages; implementing consistent transactional variables) in combination with a set of keywords characteristic of Cilk++. Appropriate new solutions are proposed. New syntax elements are introduced, implemented using language extension tools specific to the Planning C platform. The semantics of new language elements is described. It is noted that, unlike analogues, the developed tools allow declaratively to \"build\" transactions into a network (network schedule of work), which determines the order of execution of transactions and the potential for parallelism that exists at the same time. The proposed approach was tested on the example of the task of constructing a histogram. It is also mentioned about the successful solution, using the developed tools, of the problem of training an artificial neural network by the method of error back propagation and the problem of integer linear programming by the method of branches and boundaries.\u0000","PeriodicalId":155484,"journal":{"name":"Программные системы и вычислительные методы","volume":"353 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123334223","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}