{"title":"Compilation of Hierarchical Transistor Circuits in SPICE Format","authors":"D. Cheremisinov, L. Cheremisinova","doi":"10.17587/prin.15.115-124","DOIUrl":"https://doi.org/10.17587/prin.15.115-124","url":null,"abstract":"Software tools for compiling and decompiling descriptions of transistor circuits are widely used in computer-aided VLSI design. These two operations are inverse to each other in terms of guiding the design process. Netlist compiling a hierarchical schematics allows its specification to be converted into a functionally equivalent flat netlist. The goal of the decompilation is to reconstruct the hierarchical description of the circuit by extracting subcircuits that are gates or more complex elements. This paper examines the problem of compiling hierarchical MOS transistor circuits. The initial hierarchical schematic and resulting flat netlist are specified in SPICE format. A fast recursive algorithm for compilation of hierarchical descriptions of arbitrary nesting depth and its software implementation in C++ are proposed. During the compilation process, the ports of the circuit substituted in place of the component being compiled are renamed, as well as the names of internal nets and elements in the description of the circuit itself by adding a prefix to them that specifies the path in the hierarchy to the component being compiled. The developed compilation program was tested on a number of practical hierarchical transistor circuits as part of a transistor circuit analyzer for functional equivalence. The results of the compilation program tests make it possible to evaluate the increase in compilation time with increasing complexity of circuits and the depth of subcircuits nesting, as well as to compare the performance of the compilation procedure and its inverse procedure of decompiling the resulting flat netlist.","PeriodicalId":513113,"journal":{"name":"Programmnaya Ingeneria","volume":"18 69","pages":""},"PeriodicalIF":0.0,"publicationDate":"2024-03-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140237169","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":"Information System for the Selection of Hydropneumatic Capacitive Vessels","authors":"N. A. Fedotov, S. V. Kovalev, O. A. Kovaleva","doi":"10.17587/prin.15.146-154","DOIUrl":"https://doi.org/10.17587/prin.15.146-154","url":null,"abstract":"This article describes an algorithm for the automatic selection of hydropneumatic capacitive vessels used for household and industrial purposes. The suggested informational system makes it possible to reduce the working time spent on the selection of equipment and increase the relevance of the analyzed information. The article discusses a detailed description of the design of pneumohydroaccumulators, as well as provides examples of calculations of their main characteristics. The main task we needed to solve was a multi-criteria choice, and the article provides an overview of methods for solving this problem. In addition to these methods, we analyzed information systems that allow one to select suitable equipment among various alternatives. Based on the analysis of methods and similar software solutions, the authors suggested an information system and an algorithm for automatic selection of hydraulic accumulators by searching for options that meet the parameters specified by the system user. Also, the article discusses the process of purchasing capacitive equipment. There was demonstrated a logical model of the database structure storing the technical characteristics of the equipment which reflects objects of the information system and their connections. In this article we presented and argued the software for development of a specified information system. The development of the information system was based on the \"1С platform: The enterprise\". The task of selecting hydropneumatic capacitive vessels was solved by a request that can be interacted with through a report in the information system. This report allows the user to search for equipment by quantitative and qualitative characteristics: volume, operating pressure, vessel material, flange material, installation type (vertical or horizontal), availability of legs, cost, manufacturer or supplier. The report options allow users to search for equipment both in accordance with the specified parameters and with a deviation from them but only if the parameter is quantitative. The results of the report are ordered by relevance to the criteria specified by the user. The operation of the report query aggregating data was reflected in the flowchart. The article presents a situation where the user solves the selection problem by using capabilities of the report. The problem of multi-criteria selection was formulated in a way to demonstrate how a clear parameter of the report becomes fuzzy, and our solution of it allows you to find more alternative options with sorting by relevance helping you to identify the most suitable pneumohydroaccumulator. This software package was registered in the state registry of computer programs.","PeriodicalId":513113,"journal":{"name":"Programmnaya Ingeneria","volume":"87 5","pages":""},"PeriodicalIF":0.0,"publicationDate":"2024-03-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140239549","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":"Methods for Thematic Analysis and Ranking in Information Analysis Systems Based on Relational DBMS","authors":"D. A. Shachnev","doi":"10.17587/prin.15.125-133","DOIUrl":"https://doi.org/10.17587/prin.15.125-133","url":null,"abstract":"The paper presents the models and algorithms for searching, filtering and ranking data in an information analysis system, based on the ontological description of its structure. The rules for filtering and ranking objects based on their boolean, numeric or enumerable properties are specified by the users, and based on these rules SQL queries are evaluated. Another problem considered is taking subject area into account when searching for objects. Adding this allows one to solve many tasks that occur in current research information systems, such as searching for experts in given subject areas or generating reports. A search query can be specified in the form of a set of keywords, and a statistical approach is used for comparing keyword sets.","PeriodicalId":513113,"journal":{"name":"Programmnaya Ingeneria","volume":"18 3","pages":""},"PeriodicalIF":0.0,"publicationDate":"2024-03-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140240285","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":"Calculation Model for Evaluating Suspensions during Maneuvers of a 4WD Vehicle with a 6x6 Wheels","authors":"S. M. Zuev, A. S. Shvecov, S. E. Startseva","doi":"10.17587/prin.15.155-164","DOIUrl":"https://doi.org/10.17587/prin.15.155-164","url":null,"abstract":"The article describes the purpose, scope, main parameters of the flowchart of the procedure used to calculate control devices when comparing vehicle suspension structures with a 6x6 wheel arrangement. Methods for comparing suspensions during maneuvers are described. A description of the cab suspension system, a block diagram of the simulation program is presented. The visualization of the process of rebuilding the studied model of a 6*6 vehicle with two different types of front suspension is shown. An estimate of the load on the front and rear axles during the rebuilding for a period of time t = 5 s, their energy output and inertia is given. The distribution of the load along the axes of the investigated 6*6 vehicle model is presented when rebuilding with the front suspension of the first and second types. The coordinates of the base points of the front axle allow you to evaluate the numerical values for specific coordinates at a given point in time.","PeriodicalId":513113,"journal":{"name":"Programmnaya Ingeneria","volume":"85 3","pages":""},"PeriodicalIF":0.0,"publicationDate":"2024-03-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140238468","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":"System for Selecting Tourist Routes Based on Genetic Programming","authors":"A. K. Khoroshavin","doi":"10.17587/prin.15.134-145","DOIUrl":"https://doi.org/10.17587/prin.15.134-145","url":null,"abstract":"One of the most important tasks in tourism is helping tourists plan a trip to a given place. Since it is impossible to visit all places, tourists try to be rational and choose what they find most acceptable and attractive. Each plan has limitations (e. g., length of tour, limited budget) and preferences (e. g., art, culture, historical sites, architecture, modernism) that should be considered when planning your travel trip. This is a special case of the Orientation problem — Tourist trip design problem. The goal is to maximize the total score achieved within a given tour duration limit. This paper focuses on developing a recommendation system that considers users limitations during tour planning and their preferences. Since this problem is an NP-hard problem, heuristic algorithms such as the genetic algorithm (GA) are well suited for solving it. However, this algorithm can take a very long time to find the optimal solution, so this article focuses on developing a greedy strategy of GA to find optimal or near-optimal solutions. Instead of random genetic transformations, the algorithm consciously modifies optimal routes in order to find the desired tour for the users in a shorter time. After this, the developed algorithm was compared with a GA using various generated user profiles. Over 700 locations in Novosibirsk were used as a dataset for making recommendations. These modifications made it possible to obtain optimal routes faster than the standard implementation of the genetic algorithm.","PeriodicalId":513113,"journal":{"name":"Programmnaya Ingeneria","volume":"9 17","pages":""},"PeriodicalIF":0.0,"publicationDate":"2024-03-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140239430","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":"Automata-based Software Engineering for Control System Design and Verification","authors":"V. Shelekhov, E. Tumurov","doi":"10.17587/prin.15.73-86","DOIUrl":"https://doi.org/10.17587/prin.15.73-86","url":null,"abstract":"The automata composition is defined as the basic language construct of automata programming. Incorporating automata composition into an arbitrary programming language allows the development of automata programs in that language. Methods for specification and verification of reactive systems are defined in detail. All kinds of correctness formulas for a reactive system with respect to its specification are defined. In addition, correctness formulas for verification using the full invariant of the reactive system are developed. The Event-B manual begins with a brilliant illustration of the basic Event-B methods using the example of a car traffic control problem on a narrow bridge. However, the latter refinement in this illustration generates a complex cumbersome program. A simpler and shorter solution to this problem was presented in our work [7] using automata programming approach. Our solution was not easy because 4 non-trivial bugs were found by verification in Event-B. This paper describes our third attempt to construct a short simple automata program to solve this problem. Verification of the automata program in Event-B and Why3 systems was carried out. No errors were found. For verification, a reactive system model is built on Why3, which is simpler and more universal than the why3-do model.","PeriodicalId":513113,"journal":{"name":"Programmnaya Ingeneria","volume":"101 1","pages":""},"PeriodicalIF":0.0,"publicationDate":"2024-02-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140451186","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":"Interface Development of a Module for the interFoam Solver of the OpenFOAM Package","authors":"D. Chitalov","doi":"10.17587/prin.15.105-111","DOIUrl":"https://doi.org/10.17587/prin.15.105-111","url":null,"abstract":"The results of a study on expanding the list of tasks solved using the graphical shell of the OpenFOAM platform by creating and connecting an additional module for the interFoam solver to the basic version of the graphical shell are presented. The relevance of the problem is formulated, the goal and the list of tasks necessary to achieve it. The features of this solver are studied and described in relation to experiments on numerical modeling of problems in continuum mechanics. The possibility of using open technologies to supplement the source code of the graphical shell with new modules covering a larger range of types of problems in continuum mechanics is analyzed. Graphic materials have been prepared that describe the structure and logic of the module being developed. The technology stack used is presented, and the results of testing the updated version of the graphical shell using the example of one of the classic problems of continuum mechanics are presented. The results of the research were summed up, the tasks completed were noted, the expected practical value of the development and possible ways for further research in this direction were indicated, the repository with the source code of the graphical shell on the GitHub service was updated.","PeriodicalId":513113,"journal":{"name":"Programmnaya Ingeneria","volume":"32 21","pages":""},"PeriodicalIF":0.0,"publicationDate":"2024-02-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140450297","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":"Hybrid PSO-Jaya Algorithm for Solving Various Optimization Problems","authors":"E. M. Kazakova","doi":"10.17587/prin.15.87-96","DOIUrl":"https://doi.org/10.17587/prin.15.87-96","url":null,"abstract":"This article proposes a hybrid algorithm PSO-Jaya, based on two heuristic algorithms — PSO (Particle swarm optimization) and Jaya. The main idea of the PSO-Jaya hybrid algorithm is to use PSO for global research of the solutions space and when PSO ceases to improve the results, which indicates a possible hit in the local optimum, Jaya is connected for the best solution throughout space, taking into account the best solutions already found. This allows the hybrid algorithm to combine efficient exploration of large areas of the solution space with the ability to minimize the probability of hitting local optimum. Two problems are used to evaluate the effectiveness of the PSO-Jaya hybrid algorithm: functions optimization and training artificial neural network for classification task Glass Identification. In calculation tests, the PSO, Jaya, PSO-Jaya algorithms are compared in view of their mean, median, standard deviation and \"best\" minimum error. In this connection, 50 simulations-based test functions and 30 network simulations were fulfilled. The performance analysis the PSO and Jaya algorithms was carried out as well as the hybrid algorithm for test-based problems. In all test cases, the PSO-Jaya algorithm achieved the best performance in terms of convergence speed and ability to avoid local optimum.","PeriodicalId":513113,"journal":{"name":"Programmnaya Ingeneria","volume":"40 1","pages":""},"PeriodicalIF":0.0,"publicationDate":"2024-02-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140452133","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}
D. I. Solomatin, M. E. Novotochinov, E. N. Desyatirikova
{"title":"Detecting Similarity of Program Code Using an Aggregated Approach to the Problem of Plagiarism Detection","authors":"D. I. Solomatin, M. E. Novotochinov, E. N. Desyatirikova","doi":"10.17587/prin.15.97-104","DOIUrl":"https://doi.org/10.17587/prin.15.97-104","url":null,"abstract":"In this work, the primary strategies employed for code plagiarism were explored, alongside an analysis of prevalent methods for detecting copied content. Based on the results of the analysis of various approaches, as well as the analysis of the subject area itself and on the basis of the formulated requirements, a new System for automatically checking software similarity for plagiarism was successfully designed, implemented and tested. When developing the System, an aggregated approach was used, which made it possible to use several basic similarity detection algorithms. Namely, the Greedy Row Tiling algorithm and the Sifting algorithm. Since the System is designed for programmers, in particular, for teachers, and also with the possibility of local launch, it is proposed to perform user interaction with the System in the form of a command line interface. The System is implemented in Python, which ensures that the suggested System is platform independent. Regular expressions are used to implement preprocessing and exclusion functions, and the libclang library is used for С++ code parsing and tokenization functions. Promising applications for the developed System include education and programming competitions. So universities and colleges can use the System to check code written by students to detect plagiarism. And in competitive environments such as hackathons or programming competitions, the System can be used to ensure fairness and prevent plagiarism among participants.","PeriodicalId":513113,"journal":{"name":"Programmnaya Ingeneria","volume":"3 12","pages":""},"PeriodicalIF":0.0,"publicationDate":"2024-02-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"139958760","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":"Refactoring a Complex Scientometric Software System to Support PostgreSQL Database Management System","authors":"M. Krivchikov, V. Roganov, V. Vasenin","doi":"10.17587/prin.15.59-72","DOIUrl":"https://doi.org/10.17587/prin.15.59-72","url":null,"abstract":"The problem of software import substitution is under a great deal of attention in Russia since 2015. As a part of import substitution for a complex software system, database migration presents a considerable risk. Despite the SQL ISO standardization efforts, different implementations of SQL relational database management system are partially incompatible on the level of source codes for the schema, queries and stored procedures. Incompatibilities can manifest even at the level of query semantics. Some traits of complex scientometric software systems further complicate the migration process. Such traits include the complex data model and, consequently, the presence of non-trivial graph-traversing SQL queries which should complete fast enough to be used interactively for thousands of users simultaneously. In this paper an experience of refactoring a complex scientometric software system to support PostgreSQL database management system is presented. Our approach includes both usage and modification of the existing tools and development of the in-house software to support the refactoring process compounded with an extensive automated testing procedures.","PeriodicalId":513113,"journal":{"name":"Programmnaya Ingeneria","volume":"29 9","pages":""},"PeriodicalIF":0.0,"publicationDate":"2024-02-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140450560","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}