Pub Date : 2023-02-24DOI: 10.18523/2617-3808.2022.5.26-30
Oleksandr Frankiv
Nowadays the technology of augmented reality has become available for a wide audience of users because of a big number of software and hardware enhancements and optimizations done in the last years. The fact that the smartphone is a suitable and relatively cheap device having all the hardware required makes the technology even more accessible and thus widespread. Furthermore, the interaction with three-dimensional objects in space may have positive impact on user’s perception of information. These both facts make the technology of augmented reality a good choice for displaying complex data.The analysis of software plays a significant role in development as it is vital to keep the code clean and sustained all the time. Poor quality code may be unsustainable to the extent it must be fully replaced which results in big losses of resources. In terms of quality checks the analysis must be informative and consume as few resources as possible to be executed so that it is appropriate to perform it regularly. That is the reason for this process to be automated and made convenient to execute and percept.The new system for automatic software analysis is described in this article. ADAR (Architecture Displayer in Augmented Reality) software is best suitable for code coupling and cohesion analysis as it uses three-dimensional graph to display connectivity between parts of software module. High coupling and low cohesion might inform the developers of severe architectural mistakes that may lead to high code fragility. With the use of AR technology the result of high coupling detection analysis in the form of graph is presented in augmented reality to provide user the information in a highly intuitive way.This article also covers different approaches to graph visualization in three-dimensional space. The criteria that allow to achieve high level of aesthetics relative to this problem are stated in paper. The problem of using the force-directed algorithms in terms of high-aesthetic graph visualization is described in details and some arguments pro their usage are given.
如今,由于在过去几年中进行了大量的软件和硬件增强和优化,增强现实技术已经可供广泛的用户使用。事实上,智能手机是一种合适且相对便宜的设备,拥有所需的所有硬件,这使得这项技术更容易获得,因此也更广泛。此外,与空间中的三维物体的交互可能会对用户的信息感知产生积极影响。这两个事实使得增强现实技术成为显示复杂数据的一个很好的选择。软件分析在开发中扮演着重要的角色,因为它对于保持代码的整洁和持续是至关重要的。质量差的代码可能是不可持续的,它必须被完全替换,这导致了资源的巨大损失。在质量检查方面,分析必须是信息性的,并且消耗尽可能少的资源来执行,以便定期执行是合适的。这就是为什么这个过程是自动化的,便于执行和感知。本文介绍了一种新的自动软件分析系统。ADAR (Architecture display in Augmented Reality)软件使用三维图形来显示软件模块各部分之间的连通性,最适合于代码耦合和内聚分析。高耦合和低内聚可能会让开发人员意识到严重的体系结构错误,从而导致代码的高度脆弱性。利用增强现实技术,将高耦合检测分析结果以图形的形式呈现在增强现实中,以高度直观的方式向用户提供信息。本文还介绍了在三维空间中实现图形可视化的不同方法。关于这个问题,本文阐述了实现高水平美学的标准。详细描述了在高审美图形可视化中使用力导向算法的问题,并给出了一些支持力导向算法使用的论据。
{"title":"Using Augmented Reality for Visualizing Architectures of Software Modules","authors":"Oleksandr Frankiv","doi":"10.18523/2617-3808.2022.5.26-30","DOIUrl":"https://doi.org/10.18523/2617-3808.2022.5.26-30","url":null,"abstract":"Nowadays the technology of augmented reality has become available for a wide audience of users because of a big number of software and hardware enhancements and optimizations done in the last years. The fact that the smartphone is a suitable and relatively cheap device having all the hardware required makes the technology even more accessible and thus widespread. Furthermore, the interaction with three-dimensional objects in space may have positive impact on user’s perception of information. These both facts make the technology of augmented reality a good choice for displaying complex data.The analysis of software plays a significant role in development as it is vital to keep the code clean and sustained all the time. Poor quality code may be unsustainable to the extent it must be fully replaced which results in big losses of resources. In terms of quality checks the analysis must be informative and consume as few resources as possible to be executed so that it is appropriate to perform it regularly. That is the reason for this process to be automated and made convenient to execute and percept.The new system for automatic software analysis is described in this article. ADAR (Architecture Displayer in Augmented Reality) software is best suitable for code coupling and cohesion analysis as it uses three-dimensional graph to display connectivity between parts of software module. High coupling and low cohesion might inform the developers of severe architectural mistakes that may lead to high code fragility. With the use of AR technology the result of high coupling detection analysis in the form of graph is presented in augmented reality to provide user the information in a highly intuitive way.This article also covers different approaches to graph visualization in three-dimensional space. The criteria that allow to achieve high level of aesthetics relative to this problem are stated in paper. The problem of using the force-directed algorithms in terms of high-aesthetic graph visualization is described in details and some arguments pro their usage are given.","PeriodicalId":433538,"journal":{"name":"NaUKMA Research Papers. Computer Science","volume":"21 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-02-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129859198","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-02-24DOI: 10.18523/2617-3808.2022.5.92-96
P. Stetsyuk, Olga Khomiak, Volodymyr Lіashko
The work investigates a mathematical model of a two-stage transportation problem for finding the most economical plan for the transportation of homogeneous products from suppliers to consumers, where the demands of consumers are unknown, taking into account constraints on their lower and upper bounds. It is an extension of the classic two-stage transportation problem, where products are transported from suppliers to consumers only through intermediate points. Intermediary firms and various storage facilities (warehouses) can be such intermediate points.The relationship of the developed mathematical model with the two-stage continuous-discrete problem of optimal partitioning-distribution, which is characterized by the presence of two stages, is investigated. The problem consists in determining the areas of collection of the continuously distributed resource (raw material) by enterprises of the first stage and the volumes of transportation of the processed product from the enterprises of the first stage to consumers (points of the second stage), in order to minimize the total costs of transportation of the resource from suppliers to consumers through processing points (collection points, storage points).The material of the article is presented in two sections. Section 1 describes the mathematical model of the two-stage transportation problem with unknown consumer demands and provides the necessary and sufficient conditions for the compatibility of the system of linear constraints. It is shown that its special case coincides with the classic two-stage transportation problem.Section 2 provides a description of the model problem of optimal partitioning-distribution for the continuous area Ω and the discrete analog of the model problem. The results of computational experiments for a rectangular area Ω = {x = (x(1), x(2)) : 0 ≤ x(1) ≤ 1, 0 ≤ x(2) ≤ 1} with discretizations by grids 31 × 31 and 500 × 500 are presented. Optimal plans for transportation of processed product from points of the first stage to points of the second stage for both grids were found. The average time spent by the Gurobi solver to solve problems for the second grid, where the number of variables equals 250018 and the number of constraints equals 250009, is a few seconds on modern PCs.
{"title":"Two-Stage Transportation Problem with Unknown Consumer Demands","authors":"P. Stetsyuk, Olga Khomiak, Volodymyr Lіashko","doi":"10.18523/2617-3808.2022.5.92-96","DOIUrl":"https://doi.org/10.18523/2617-3808.2022.5.92-96","url":null,"abstract":"The work investigates a mathematical model of a two-stage transportation problem for finding the most economical plan for the transportation of homogeneous products from suppliers to consumers, where the demands of consumers are unknown, taking into account constraints on their lower and upper bounds. It is an extension of the classic two-stage transportation problem, where products are transported from suppliers to consumers only through intermediate points. Intermediary firms and various storage facilities (warehouses) can be such intermediate points.The relationship of the developed mathematical model with the two-stage continuous-discrete problem of optimal partitioning-distribution, which is characterized by the presence of two stages, is investigated. The problem consists in determining the areas of collection of the continuously distributed resource (raw material) by enterprises of the first stage and the volumes of transportation of the processed product from the enterprises of the first stage to consumers (points of the second stage), in order to minimize the total costs of transportation of the resource from suppliers to consumers through processing points (collection points, storage points).The material of the article is presented in two sections. Section 1 describes the mathematical model of the two-stage transportation problem with unknown consumer demands and provides the necessary and sufficient conditions for the compatibility of the system of linear constraints. It is shown that its special case coincides with the classic two-stage transportation problem.Section 2 provides a description of the model problem of optimal partitioning-distribution for the continuous area Ω and the discrete analog of the model problem. The results of computational experiments for a rectangular area Ω = {x = (x(1), x(2)) : 0 ≤ x(1) ≤ 1, 0 ≤ x(2) ≤ 1} with discretizations by grids 31 × 31 and 500 × 500 are presented. Optimal plans for transportation of processed product from points of the first stage to points of the second stage for both grids were found. The average time spent by the Gurobi solver to solve problems for the second grid, where the number of variables equals 250018 and the number of constraints equals 250009, is a few seconds on modern PCs.","PeriodicalId":433538,"journal":{"name":"NaUKMA Research Papers. Computer Science","volume":"15 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-02-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126455001","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-02-24DOI: 10.18523/2617-3808.2022.5.45-48
A. Nahirna, O. Chumachenko, Olena Pyechkurova
Nowadays enterprise information systems of banks provide modules for calculating creditworthiness of the business. Such systems are complex and it is difficult to maintain and develop them. Moreover, it requires the involvement of large teams. In addition, systems are complicated to change and update in accordance with changes in current legislation. From another point of view, demand for consumer loans is high, and creating a separate module for calculating the creditworthiness of an individual is appropriate in case of increasing the adaptability to changes and updates of the system. Calculating the creditworthiness of an individual is relevant not only for the banking system, but also for other spheres such as logistics and marketing.The work describes the created information system for calculating the creditworthiness of an individual, which calculates the class of the borrower based on data from credit history, credit rating, quality characteristics, financial indicators of the person and characteristics of the credit transaction.The use of the Asp.Net Core platform and the Vue.js framework to build a software module that can be used both independently and easily integrated into other corporate systems is demonstrated.In this work the major steps of designing and developing the system are described.
{"title":"Information System Assessment of the Creditworthiness of an Individual","authors":"A. Nahirna, O. Chumachenko, Olena Pyechkurova","doi":"10.18523/2617-3808.2022.5.45-48","DOIUrl":"https://doi.org/10.18523/2617-3808.2022.5.45-48","url":null,"abstract":"Nowadays enterprise information systems of banks provide modules for calculating creditworthiness of the business. Such systems are complex and it is difficult to maintain and develop them. Moreover, it requires the involvement of large teams. In addition, systems are complicated to change and update in accordance with changes in current legislation. From another point of view, demand for consumer loans is high, and creating a separate module for calculating the creditworthiness of an individual is appropriate in case of increasing the adaptability to changes and updates of the system. Calculating the creditworthiness of an individual is relevant not only for the banking system, but also for other spheres such as logistics and marketing.The work describes the created information system for calculating the creditworthiness of an individual, which calculates the class of the borrower based on data from credit history, credit rating, quality characteristics, financial indicators of the person and characteristics of the credit transaction.The use of the Asp.Net Core platform and the Vue.js framework to build a software module that can be used both independently and easily integrated into other corporate systems is demonstrated.In this work the major steps of designing and developing the system are described.","PeriodicalId":433538,"journal":{"name":"NaUKMA Research Papers. Computer Science","volume":"83 5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-02-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123278448","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-02-24DOI: 10.18523/2617-3808.2022.5.68-71
Olena Buchko, San Byn Nhuien
Humanity generates considerable information using its devices – smartphones, laptops, and tablets. Users upload images to different platforms, such as social networks, messengers, web services and other applications, which greatly endanger their personal information. User privacy has been exploited on the Internet for a long time. Interested parties lure potential customers into a trap of offers and services using such information as age, weight, nationality, religion and preferences. The sensitive information that may be contained in personal images is sometimes not recognized by their users as dangerous to share and, therefore, can easily be shared online by the owner without a second thought.This article inspects a neural hash algorithm for solving image classification tasks of confidential information and evaluates it via basic metrics. The main idea of the algorithm is to find similar images that will serve as an example for defining classes. The algorithm uses hash codes, ensuring users’ privacy. The evaluation of the algorithm is based on “The Visual Privacy (VISPR) Dataset”. The main components of the algorithm are a neural network that generates vectors of extracted features for images and an indexed set of images (hash tables) that store knowledge about a particular domain.The critical aspect of the algorithm involves collisions of hash codes for similar images due to the similarity of their vectors of extracted features. The resulting hash codes can be identical or differ by a specific value of Hamming distance. Multiple hash tables with different hash functions are used to increase the recall or precision of the results. The effect of imperfect taxonomy was analyzed, which led to further filtration of abstract classes and increasing overall scores.Also, the article investigates the “pseudo-adaptivity” of the algorithm - the ability to classify new classes and add new cases to existing classes that were not included in the training stages. Such ability may be crucial for domains with many image instances or classes.
{"title":"Classification of Confidential Images Using Neural Hash","authors":"Olena Buchko, San Byn Nhuien","doi":"10.18523/2617-3808.2022.5.68-71","DOIUrl":"https://doi.org/10.18523/2617-3808.2022.5.68-71","url":null,"abstract":"Humanity generates considerable information using its devices – smartphones, laptops, and tablets. Users upload images to different platforms, such as social networks, messengers, web services and other applications, which greatly endanger their personal information. User privacy has been exploited on the Internet for a long time. Interested parties lure potential customers into a trap of offers and services using such information as age, weight, nationality, religion and preferences. The sensitive information that may be contained in personal images is sometimes not recognized by their users as dangerous to share and, therefore, can easily be shared online by the owner without a second thought.This article inspects a neural hash algorithm for solving image classification tasks of confidential information and evaluates it via basic metrics. The main idea of the algorithm is to find similar images that will serve as an example for defining classes. The algorithm uses hash codes, ensuring users’ privacy. The evaluation of the algorithm is based on “The Visual Privacy (VISPR) Dataset”. The main components of the algorithm are a neural network that generates vectors of extracted features for images and an indexed set of images (hash tables) that store knowledge about a particular domain.The critical aspect of the algorithm involves collisions of hash codes for similar images due to the similarity of their vectors of extracted features. The resulting hash codes can be identical or differ by a specific value of Hamming distance. Multiple hash tables with different hash functions are used to increase the recall or precision of the results. The effect of imperfect taxonomy was analyzed, which led to further filtration of abstract classes and increasing overall scores.Also, the article investigates the “pseudo-adaptivity” of the algorithm - the ability to classify new classes and add new cases to existing classes that were not included in the training stages. Such ability may be crucial for domains with many image instances or classes.","PeriodicalId":433538,"journal":{"name":"NaUKMA Research Papers. Computer Science","volume":"67 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-02-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131682489","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-02-24DOI: 10.18523/2617-3808.2022.5.31-40
N. Gulayeva, Mykhailo Kobieliev
Finite state machine (FSM) is a powerful tool to model object behavior. Using FSM and its extensions to model program behavior followed by the automatic generation of executable code is the approach encouraged by the model-driven development (MDD) – a software development methodology based on the concepts of model and model transformation.In this paper, a brief overview of FSM-based common methods to model and develop software programs of any nature is given. These methods include David Harel’s statecharts, UML State Machines, Virtual Finite State Machine, etc. Examples of all types of software systems (transformational, interactive, reactive) implemented using FSM are cited.Chat-bots as an example of an interactive software system are considered: concept, classification methods, implementation techniques. A graphical designer of rule-based chat-bots to be integrated in the messenger Telegram is developed and implemented. In this designer, chat-bot behavior is modeled using FSM.Formal method to model a rule-based chat-bot using FSM is provided. The FSM concept is extended by disabled transitions to save history of transition changes made during the FSM design process. A brief overview of code generation methods from FSM specification is done; advantages and disadvantages of the most popular approaches are considered. Dynamic approach to generate code by FSM specification saved in DB is proposed. To implement this approach, document MongoDB and in-memory key-value Redis DB are used; FSM is kept as a JSON-document. This approach is efficient in flexibility, speed and memory needs.Architecture diagram of developed chat-bot graphical designer is given. It has the microservice architecture. The FSM model-to-code transformation is carried out by the bot-execution service written using compiled language Go. Other services include the front-end (UI for end-user, CRUD API for chat-bot) and the bot-management (synchronization of document and key-value databases) services.
{"title":"Implementation of FSM Based Chat-Bots in a Graphical Designer","authors":"N. Gulayeva, Mykhailo Kobieliev","doi":"10.18523/2617-3808.2022.5.31-40","DOIUrl":"https://doi.org/10.18523/2617-3808.2022.5.31-40","url":null,"abstract":"Finite state machine (FSM) is a powerful tool to model object behavior. Using FSM and its extensions to model program behavior followed by the automatic generation of executable code is the approach encouraged by the model-driven development (MDD) – a software development methodology based on the concepts of model and model transformation.In this paper, a brief overview of FSM-based common methods to model and develop software programs of any nature is given. These methods include David Harel’s statecharts, UML State Machines, Virtual Finite State Machine, etc. Examples of all types of software systems (transformational, interactive, reactive) implemented using FSM are cited.Chat-bots as an example of an interactive software system are considered: concept, classification methods, implementation techniques. A graphical designer of rule-based chat-bots to be integrated in the messenger Telegram is developed and implemented. In this designer, chat-bot behavior is modeled using FSM.Formal method to model a rule-based chat-bot using FSM is provided. The FSM concept is extended by disabled transitions to save history of transition changes made during the FSM design process. A brief overview of code generation methods from FSM specification is done; advantages and disadvantages of the most popular approaches are considered. Dynamic approach to generate code by FSM specification saved in DB is proposed. To implement this approach, document MongoDB and in-memory key-value Redis DB are used; FSM is kept as a JSON-document. This approach is efficient in flexibility, speed and memory needs.Architecture diagram of developed chat-bot graphical designer is given. It has the microservice architecture. The FSM model-to-code transformation is carried out by the bot-execution service written using compiled language Go. Other services include the front-end (UI for end-user, CRUD API for chat-bot) and the bot-management (synchronization of document and key-value databases) services.","PeriodicalId":433538,"journal":{"name":"NaUKMA Research Papers. Computer Science","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-02-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129323455","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-02-24DOI: 10.18523/2617-3808.2022.5.97-107
S. Telenyk, Grzegorz Nowakowski, Yevhenii Vovk, Ihor Anosov
The article proposes the concept of a platform for the development, accumulation and use of specialized applications – bots that automate functions related to informing, ordering and fulfilling orders, the implementation of multi-stage processes using capabilities of social networks and messenger programs. Individual stages of these processes depend on various circumstances, most important and influential being events and features of participants who are abonents of the said social networks and users of messengers. Differences in such features and circumstances affect complexity, structure and overall composition of the whole application, determining the entire end-to-end flow of the development process. Due to that, creation of the said applications require thorough planning and coherent, thought-out approach to conduction of design work on stages crucial to the whole multistage process. Based on those assumptions, a general approach to creating bots using formal models is described, including usage of state machines, logical models, and descriptions of business processes. Diagram specifications are built based on analysis of business processes to facilitate the conduction of implementation of proposed bot applications. In the platform implementation plan, the practical implementation of the component is proposed, which ensures the construction of the logic for processing user actions within the implementation of the given business process in accordance with the diagram specification. An example of using a practical implementation of a component to create a bot is described to better illustrate peculiarities and features of individual process stages, implementation of bot applications and flow of development as a whole. Development of a platform that is to be composed of such applications is envisioned.
{"title":"Development and Implementation of Technology for Creating a Wide Class of Applications Such as Chatbots Based on Formal Models","authors":"S. Telenyk, Grzegorz Nowakowski, Yevhenii Vovk, Ihor Anosov","doi":"10.18523/2617-3808.2022.5.97-107","DOIUrl":"https://doi.org/10.18523/2617-3808.2022.5.97-107","url":null,"abstract":"The article proposes the concept of a platform for the development, accumulation and use of specialized applications – bots that automate functions related to informing, ordering and fulfilling orders, the implementation of multi-stage processes using capabilities of social networks and messenger programs. Individual stages of these processes depend on various circumstances, most important and influential being events and features of participants who are abonents of the said social networks and users of messengers. Differences in such features and circumstances affect complexity, structure and overall composition of the whole application, determining the entire end-to-end flow of the development process. Due to that, creation of the said applications require thorough planning and coherent, thought-out approach to conduction of design work on stages crucial to the whole multistage process. Based on those assumptions, a general approach to creating bots using formal models is described, including usage of state machines, logical models, and descriptions of business processes. Diagram specifications are built based on analysis of business processes to facilitate the conduction of implementation of proposed bot applications. In the platform implementation plan, the practical implementation of the component is proposed, which ensures the construction of the logic for processing user actions within the implementation of the given business process in accordance with the diagram specification. An example of using a practical implementation of a component to create a bot is described to better illustrate peculiarities and features of individual process stages, implementation of bot applications and flow of development as a whole. Development of a platform that is to be composed of such applications is envisioned.","PeriodicalId":433538,"journal":{"name":"NaUKMA Research Papers. Computer Science","volume":"19 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-02-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133796850","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-02-24DOI: 10.18523/2617-3808.2022.5.4-11
V. Protsenko
A simple procedural programming language is considered, each program of which can input integer values, process them and output new integer values as result. A program is a block with description of local integer variables and procedures and a list of statements. The language has data processing statements: assignment, input, output, conditional, loop, procedure call and block. Main purpose of the block is to enter local data (integer variables and procedures) that are used in the body of the block – a list of operators. The scope of the name of the local data described in the block is the text of the block except for nested blocks, where this name is redefined. A mechanism of automatic memory allocation for variables entered in the block is also associated with the block. Memory for local variables is allocated when entering a block, and freed when exiting a block. A block containing only a list of statements is valid. The procedure has a name, list of formal parameters, and a body – a statement (most often a block). Formal parameters are applied only in its body. A procedure is calculated by the procedure call statement, whose actual parameters are only variables. Parameters are passed by reference (pass-by-reference).A formal specification of a programming language is a description of its syntax and semantics. A concrete syntax, finite set of rules, singles out syntactically correct sequences of symbols of the alphabet of language. To describe the semantics of a language, as a rule, abstract syntax is used, adding contextual conditions to it. The task of semantics is to introduce the denotations (“meanings”) of the basic constructions of language and semantic functions that build the denotations of complex syntactic constructions based on the denotations of their components, including the program.The article provides a specification of a procedural programming language that uses the extended Backus-Naur form to describe a concrete syntax, and the tools of the functional language Haskell to describe other parts. Abstract syntax is defined by the types Program, Proc, Stmt, Expr and Op. Additional contextual conditions are predicates that use information about program data. Most of the context conditions are related to the correct use of data in the program. The leading predicate that checks the context conditions of the program pr is iswfProgram pr.The language denotations are based on the Work type. The value of this type – a tuple (inp, stg, out) models the environment in which the language program is executed: inp - input data, stg – memory containing variable values, out – resulting data. The semantics of main constructions procedure, statement and expression are functions of the type Work -> Work or Work -> Integer. The semantics of the program is a function of the type [Integer] -> [Integer]. Semantic functions build these denotations according to syntactic constructions, which are described by abstract syntax – Proc, Stmt, Expr, Program t
{"title":"Specification of the Procedural Programming Language","authors":"V. Protsenko","doi":"10.18523/2617-3808.2022.5.4-11","DOIUrl":"https://doi.org/10.18523/2617-3808.2022.5.4-11","url":null,"abstract":"A simple procedural programming language is considered, each program of which can input integer values, process them and output new integer values as result. A program is a block with description of local integer variables and procedures and a list of statements. The language has data processing statements: assignment, input, output, conditional, loop, procedure call and block. Main purpose of the block is to enter local data (integer variables and procedures) that are used in the body of the block – a list of operators. The scope of the name of the local data described in the block is the text of the block except for nested blocks, where this name is redefined. A mechanism of automatic memory allocation for variables entered in the block is also associated with the block. Memory for local variables is allocated when entering a block, and freed when exiting a block. A block containing only a list of statements is valid. The procedure has a name, list of formal parameters, and a body – a statement (most often a block). Formal parameters are applied only in its body. A procedure is calculated by the procedure call statement, whose actual parameters are only variables. Parameters are passed by reference (pass-by-reference).A formal specification of a programming language is a description of its syntax and semantics. A concrete syntax, finite set of rules, singles out syntactically correct sequences of symbols of the alphabet of language. To describe the semantics of a language, as a rule, abstract syntax is used, adding contextual conditions to it. The task of semantics is to introduce the denotations (“meanings”) of the basic constructions of language and semantic functions that build the denotations of complex syntactic constructions based on the denotations of their components, including the program.The article provides a specification of a procedural programming language that uses the extended Backus-Naur form to describe a concrete syntax, and the tools of the functional language Haskell to describe other parts. Abstract syntax is defined by the types Program, Proc, Stmt, Expr and Op. Additional contextual conditions are predicates that use information about program data. Most of the context conditions are related to the correct use of data in the program. The leading predicate that checks the context conditions of the program pr is iswfProgram pr.The language denotations are based on the Work type. The value of this type – a tuple (inp, stg, out) models the environment in which the language program is executed: inp - input data, stg – memory containing variable values, out – resulting data. The semantics of main constructions procedure, statement and expression are functions of the type Work -> Work or Work -> Integer. The semantics of the program is a function of the type [Integer] -> [Integer]. Semantic functions build these denotations according to syntactic constructions, which are described by abstract syntax – Proc, Stmt, Expr, Program t","PeriodicalId":433538,"journal":{"name":"NaUKMA Research Papers. Computer Science","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-02-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130040126","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-02-24DOI: 10.18523/2617-3808.2022.5.62-67
A. Afonin, Iryna Oksiuta
As a part of this work, there was a study of image processing algorithms used in video search systems.With the development of search engines and an increase in the types of queries possible for searching, the need for indexing an increasing amount of diverse information is growing. New data in the form of images and videos require new processing techniques to extract key content descriptions. In video search engines, according to this description, users can find the video files most relevant to the search query. The search query, in turn, can be of various types: text, search by image, search by video file to find a similar one, etc. Therefore, it is necessary to accurately describe the objects in the video in order to assign appropriate labels to the video file in the search engine database.In this article, we focused on the algorithm for extracting key frames of faces from a video sequence, since one of the important objects in the video are people themselves. This algorithm allows you to perform the initial processing of the file and save the identified frames with faces in order to later process this data with the help of the face recognition algorithm and assign the appropriate labels. An alternative application for this algorithm is the current processing of video files to form datasets of faces for the development and training of new computer vision models. The main criteria for such an algorithm were: the accuracy of face detection, the ability to distinguish keyframes of all people from each other, comprehensive evaluation of candidate frames and sorting by the relevance of the entire set for each face.After an analysis of existing solutions for specific stages of the algorithm, the article proposes a sequence of steps for the algorithm for extracting key frames of faces from a video file. An important step is to assess the quality of all candidates and sort them by quality. For this, the work defines various metrics for assessing the quality of the frame, which affect the overall assessment and, accordingly, the sorting order. The article also describes the basic version of the interface for using the proposed algorithm.
{"title":"Algorithm for Extraction of Keyframes of Images in Video Retrieval Systems","authors":"A. Afonin, Iryna Oksiuta","doi":"10.18523/2617-3808.2022.5.62-67","DOIUrl":"https://doi.org/10.18523/2617-3808.2022.5.62-67","url":null,"abstract":"As a part of this work, there was a study of image processing algorithms used in video search systems.With the development of search engines and an increase in the types of queries possible for searching, the need for indexing an increasing amount of diverse information is growing. New data in the form of images and videos require new processing techniques to extract key content descriptions. In video search engines, according to this description, users can find the video files most relevant to the search query. The search query, in turn, can be of various types: text, search by image, search by video file to find a similar one, etc. Therefore, it is necessary to accurately describe the objects in the video in order to assign appropriate labels to the video file in the search engine database.In this article, we focused on the algorithm for extracting key frames of faces from a video sequence, since one of the important objects in the video are people themselves. This algorithm allows you to perform the initial processing of the file and save the identified frames with faces in order to later process this data with the help of the face recognition algorithm and assign the appropriate labels. An alternative application for this algorithm is the current processing of video files to form datasets of faces for the development and training of new computer vision models. The main criteria for such an algorithm were: the accuracy of face detection, the ability to distinguish keyframes of all people from each other, comprehensive evaluation of candidate frames and sorting by the relevance of the entire set for each face.After an analysis of existing solutions for specific stages of the algorithm, the article proposes a sequence of steps for the algorithm for extracting key frames of faces from a video file. An important step is to assess the quality of all candidates and sort them by quality. For this, the work defines various metrics for assessing the quality of the frame, which affect the overall assessment and, accordingly, the sorting order. The article also describes the basic version of the interface for using the proposed algorithm.","PeriodicalId":433538,"journal":{"name":"NaUKMA Research Papers. Computer Science","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-02-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130490303","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-02-24DOI: 10.18523/2617-3808.2022.5.85-91
Oleksii Oletsky
A problem of improving consistency of pairwise comparisons matrices in application to ranking given alternatives is considered in the paper. But it can be shown that consistency is not the only issue as to the quality of pairwise comparisons. Given an arbitrary positive square matrix, we can obtain an ideally consistent pairwise comparison matrix with the same Perronian vector. Therefore, the quality of experts’ judgements is an issue of great importance as well.Technically, an approach to improving consistency of pairwise comparisons on the basis of solving a linear algebraic equations system is suggested. The system contains two groups of equations. One of them represents experts’ judgments, and the other is related to demands of cardinal consistency. Such a system can be over- or maybe underdetermined, and it typically can be inconsistent. Then a pseudo-solution can be obtained by means of pseudo-inverse Moore-Penrose matrix.For improving the quality of pairwise comparisons, it appears urgent to take into account reliabilities of certain judgements by giving them appropriate weight coefficients.Some numerical examples are provided in the paper. The first is a simple basic example without any serious inconsistencies. The second illustrates as to treat incomplete pairwise comparison matrices. And the latest illustrates possible expert’s manipulation, when an expert wants to secure the winning of a certain alternative whereas they don’t want to postulate the advantage of this alternative implicitly, and this results in the order violation. It is illustrated how introducing weight coefficients of equations can help counteract such manipulations.
{"title":"Enhancing Consistency of Pairwise Comparisons on the Base of Linear Algebraic Equations","authors":"Oleksii Oletsky","doi":"10.18523/2617-3808.2022.5.85-91","DOIUrl":"https://doi.org/10.18523/2617-3808.2022.5.85-91","url":null,"abstract":"A problem of improving consistency of pairwise comparisons matrices in application to ranking given alternatives is considered in the paper. But it can be shown that consistency is not the only issue as to the quality of pairwise comparisons. Given an arbitrary positive square matrix, we can obtain an ideally consistent pairwise comparison matrix with the same Perronian vector. Therefore, the quality of experts’ judgements is an issue of great importance as well.Technically, an approach to improving consistency of pairwise comparisons on the basis of solving a linear algebraic equations system is suggested. The system contains two groups of equations. One of them represents experts’ judgments, and the other is related to demands of cardinal consistency. Such a system can be over- or maybe underdetermined, and it typically can be inconsistent. Then a pseudo-solution can be obtained by means of pseudo-inverse Moore-Penrose matrix.For improving the quality of pairwise comparisons, it appears urgent to take into account reliabilities of certain judgements by giving them appropriate weight coefficients.Some numerical examples are provided in the paper. The first is a simple basic example without any serious inconsistencies. The second illustrates as to treat incomplete pairwise comparison matrices. And the latest illustrates possible expert’s manipulation, when an expert wants to secure the winning of a certain alternative whereas they don’t want to postulate the advantage of this alternative implicitly, and this results in the order violation. It is illustrated how introducing weight coefficients of equations can help counteract such manipulations.","PeriodicalId":433538,"journal":{"name":"NaUKMA Research Papers. Computer Science","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-02-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129745896","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-02-24DOI: 10.18523/2617-3808.2022.5.79-84
Viacheslav Gorborukov, O. Franchuk, V. Prykhodniuk, O. Kyriienko
With the aim of identifying and developing gifted students, providing them with assistance in choosing a profession and involving them in scientific research and research activities, the National Center “Junior Academy of Sciences of Ukraine” has initiated and annually holds a number of All-Ukrainian competitions of creative and intellectual direction: “Junior Erudite”, “Junior Researcher”, “Future of Ukraine”, “Ecoview” and many others. Among them, the most popular and representative in terms of the composition of its participants is the “Contest-presentation of scientific research projects”. The competition takes place in several stages, about 100,000 high school students from all over Ukraine take part in it, of which more than 1,000 of the best make it to the finals. The rules of the competition provide that a jury is created for each scientific section (of which there are 65), in which the corresponding stage of the competition is held. The members of the jury independently evaluate the research works of schoolchildren. Winners are determined in each scientific section separately by the sum of points scored by participants in all sections of the program. The final result (rating score) of each participant is calculated taking into account the weight of each component of the factor-criterion model, according to which the contestants’ achievements are evaluated, that is, the participants (alternatives) are actually ranked according to a set of indicators of different importance, which have a hierarchical structure. In order to ensure the access of the jury members to all the materials of scientific and research achievements of the contestants, as well as to carry out their effective evaluation and calculation of the final results, the information and analytical platform (IAP) POLYHEDRON-Competition was created.This article talks about the created computer system – an information and analytical platform that ensures the effective work of experts (jury members) in reviewing and evaluating scientific research materials submitted for defense by participants of intellectual contests. The system is deployed on the basis of an interactive document, which is a variant of the ontology-controlled system, and its work is illustrated on the example of the contest-presentation of scientific research projects.
{"title":"Transdisciplinary Information and Analytical Platform Supporting Evaluation Processes","authors":"Viacheslav Gorborukov, O. Franchuk, V. Prykhodniuk, O. Kyriienko","doi":"10.18523/2617-3808.2022.5.79-84","DOIUrl":"https://doi.org/10.18523/2617-3808.2022.5.79-84","url":null,"abstract":"With the aim of identifying and developing gifted students, providing them with assistance in choosing a profession and involving them in scientific research and research activities, the National Center “Junior Academy of Sciences of Ukraine” has initiated and annually holds a number of All-Ukrainian competitions of creative and intellectual direction: “Junior Erudite”, “Junior Researcher”, “Future of Ukraine”, “Ecoview” and many others. Among them, the most popular and representative in terms of the composition of its participants is the “Contest-presentation of scientific research projects”. The competition takes place in several stages, about 100,000 high school students from all over Ukraine take part in it, of which more than 1,000 of the best make it to the finals. The rules of the competition provide that a jury is created for each scientific section (of which there are 65), in which the corresponding stage of the competition is held. The members of the jury independently evaluate the research works of schoolchildren. Winners are determined in each scientific section separately by the sum of points scored by participants in all sections of the program. The final result (rating score) of each participant is calculated taking into account the weight of each component of the factor-criterion model, according to which the contestants’ achievements are evaluated, that is, the participants (alternatives) are actually ranked according to a set of indicators of different importance, which have a hierarchical structure. In order to ensure the access of the jury members to all the materials of scientific and research achievements of the contestants, as well as to carry out their effective evaluation and calculation of the final results, the information and analytical platform (IAP) POLYHEDRON-Competition was created.This article talks about the created computer system – an information and analytical platform that ensures the effective work of experts (jury members) in reviewing and evaluating scientific research materials submitted for defense by participants of intellectual contests. The system is deployed on the basis of an interactive document, which is a variant of the ontology-controlled system, and its work is illustrated on the example of the contest-presentation of scientific research projects.","PeriodicalId":433538,"journal":{"name":"NaUKMA Research Papers. Computer Science","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-02-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124319639","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}