•An integrated software suite for heat recovery system design is presented.•It can be used for equipment design, system analysis and network optimisation.•Designs for heat exchanger, HEN, and WGCTO ...are integrated.•Case studies are given to demonstrate the developed software.
Heat Integration (HI) with heat exchangers requires intimate knowledge and intensive calculations to set energy-saving targets to achieve the goal of efficient energy utilisation. The Shell and Tube Heat Exchanger (STHX) Design Software Module, or SPIL-HX package developed by the SPIL team, offers features that support engineers to design and rate original STHXs, STHXs coupled with the shell-side enhancement technologies, i.e., with segmented baffles and with helical baffles. This software tool also provides design solutions for the Waste Gas Compact Thermal Oxidiser (WGCTO), identifying the unit design capable of simultaneous combustion and heat exchange for waste gases. SPIL-HX package is also capable of automatic Heat Exchanger Network (HEN) synthesis and retrofit. With the built-in algorithm, the software can provide the optimal solution for HI, which significantly reduces operating, capital, and design costs. A user-friendly interface facilitates the use of the developed software.
•The largest experimental study addressing the SMC problem, involving 124 instances.•Our proposed algorithm outperformed the state-of-the-art heuristic on 93 instances.•We report new upper bounds on ...the MQ value for 44 instances.•Study with developers to compare algorithm generated solution with a real solution.
The Software Module Clustering problem seeks to distribute the modules comprising a software system into clusters to maximize cluster cohesion and minimize coupling between clusters. Metaheuristics based on local search have been successfully applied to find good solutions for this problem, outperforming more-complex, population-based heuristics. In this paper, we present a heuristic based on Large Neighborhood Search to address the Software Module Clustering problem. We also perform what is to our knowledge the largest experimental study addressing this problem to date, involving 124 instances of varying size and complexity and comparing our proposed algorithm to the heuristic that has found the best results for the problem so far. Our proposed algorithm outperformed the state-of-the-art heuristic on 93 out of 124 instances with 95% confidence level. We also report new upper bounds on the MQ value for 44 instances and evaluated the relative goodness of the solutions obtained by our proposed algorithm for 89 instances. Considering the 77 instances for which optimal solutions are proven, the proposed algorithm found the optimal solution for 30 instances (39%). Additionally, thirteen developers participate in a study focused on the distribution of the modules comprising a software project into clusters. We used JodaMoney as our study object and we compared the characteristics of the solutions generated by its authors, the best solution generated by LNS_SMC and the solution generated by each of the 13 subjects. LNS_SMC solution performs better than inexperienced subjects ones in issue resolution prediction but performs worse than the solutions proposed by experienced subjects and also the author’s solution. For the prediction of concomitant changes, the LNS_SMC solution was outperformed by both subjects and authors solutions.
When the source code of a software is the only product available, program understanding has a substantial influence on software maintenance costs. The main goal in code comprehension is to extract ...information that is used in the software maintenance stage. Generating the structural model from the source code helps to alleviate the software maintenance cost. Software module clustering is thought to be a viable reverse engineering approach for building structural design models from source code. Finding the optimal clustering model is an NP-complete problem. The primary goals of this study are to minimize the number of connections between created clusters, enhance internal connections inside clusters, and enhance clustering quality. The previous approaches' main flaws were their poor success rates, instability, and inadequate modularization quality. The Olympiad optimization algorithm was introduced in this paper as a novel population-based and discrete heuristic algorithm for solving the software module clustering problem. This algorithm was inspired by the competition of a group of students to increase their knowledge and prepare for an Olympiad exam. The suggested algorithm employs a divide-and-conquer strategy, as well as local and global search methodologies. The effectiveness of the suggested Olympiad algorithm to solve the module clustering problem was evaluated using ten real-world and standard software benchmarks. According to the experimental results, on average, the modularization quality of the generated clustered models for the ten benchmarks is about 3.94 with 0.067 standard deviations. The proposed algorithm is superior to the prior algorithms in terms of modularization quality, convergence, and stability of results. Furthermore, the results of the experiments indicate that the proposed algorithm can be used to solve other discrete optimization problems efficiently.
Software systems tend to become larger and more complicated as the functional requirements increase gradually. Well-modularized software systems are widely believed to be understood, managed and ...evolved easily. Software module clustering problems (SMCPs) are significant and challenging problems in software engineering whose primary aim is to obtain perfect structures of software systems according to predefined rules. To solve SMCPs, it is important to design a measure which can appropriately evaluate the quality of the structures obtained. So far, the modularization quality (the basic MQ) is widely used as the conventional measure. However, this measure does not consider global modules and edge directions between two modules. Therefore, in this paper, we design a new modularization quality measure based on the similarity, labeled as MS, to automatically guide optimization algorithms to find a good partition of software systems which considers both global modules and edge directions. To systematically validate the performance of MS, three optimization algorithms, namely hill-climbing algorithm (HC), genetic algorithm (GA), and multi-agent evolutionary algorithm (MAEA), are adopted to optimize MS on 17 real-world software systems with varying sizes. A thorough comparison shows that MS outperforms the basic MQ in guiding the optimization algorithms to find more meaningful module clusters for software systems.
The relevance of the study is confirmed by the rapid development of automation in agriculture, in particular, horticulture; the lack of methodological developments to assess the effectiveness of the ...introduction of robotic technologies; and the need to expand the functionality of mobile robots. The purpose of the study was to increase the level of autonomy of a robotic platform for picking apple fruits based on a new method, develop a system of factors to determine the effectiveness of the introduction of robots in horticulture, and develop a control system using integrated processing of onboard data. The article discussed the efficiency factors for the introduction of robotic systems and technologies in agricultural enterprises specializing in horticulture within the framework of projects with different budgets. The study sample consisted of 30 experts-enterprises that have implemented robotic platforms and scientists specializing in this field. Based on an expert survey of enterprise specialists, a ranked list of 18 efficiency factors was obtained. To select an evaluation factor that determines the effectiveness of robotization and the developed control system, a method for calculating the concordance coefficient (method of expert analysis) was applied as a measure of the consistency of a group of experts for each group of factors. An analysis of the results of the expert evaluation showed that three factors are the most significant: the degree of autonomy of work; positioning accuracy; and recognition accuracy. The generalized indicator of local autonomy of task performance was estimated based on the analysis of a set of single indicators. A system for controlling the movement of an autonomous robotic wheeled platform based on inertial and satellite navigation and calculation of the path to be overcome was developed. The developed software allows for the design of a route for the robotic platform in apple horticulture to automatically perform various technological operations, such as fertilization, growth and disease control, and fruit harvesting. With the help of the software module, the X, Y coordinates, speed and azimuth of movement were given, and the movement of the platform along the given typical turn trajectories in an intensive horticulture environment was visualized.
The requirements for the air reconnaissance system using unmanned aircraft systems are being studied. Problematic aspects of the air reconnaissance data processing process are analyzed from the point ...of view of ensuring the required level of operational efficiency and reliability of intelligence information. The possibility of automating the process of detecting aerial reconnaissance objects on video images is being investigated. A software-hardware module for automated detection and recognition of objects of interest is being developed to increase the level of processing efficiency and reliability of air reconnaissance data. Modern models of detection and recognition of objects of interest based on algorithms of the YOLO platform are studied. The software component of the module is being developed using the YOLOv8 algorithm architecture and a set of data formed in the conditions of air reconnaissance. The analysis of the results of experimental studies shows that: the developed model allows to ensure the required level of operational efficiency of video image processing and the reliability of aerial reconnaissance data; practical implementation of the developed model at ground command and control stations is possible without the use of additional computing equipment. The hardware component of the module is being developed using Raspberry Pi components. The analysis of quantitative evaluations of the efficiency of data processing using the developed software and hardware module on board the UAV of the studied class indicate an increase in time delays compared to the implementation at the command-and-control station, but it allows to ensure the required level of reliability. Further scientific research will be aimed at investigating the peculiarities of the implementation of the conceptual foundations of the developed module for various classes of UAV in order to increase the level of processing efficiency and reliability of aerial reconnaissance data.
There are risks of obtaining result that does not answer a work purpose statement when developing the software product for new subject area. It is necessary to pay attention on requirements to the ...software for elimination of such risks. This article is considering questions about collection and analysis requirements to a program module of sea water areas environmental monitoring. Program system «НДС Эколог» for ensuring continuous observation of sea water areas condition is noted by complex structure, high labor intensity of processing, storage and manipulations of data due to their significant amount. The software of this system makes a large-scale program complex for monitoring researches automation. However, according to the preliminary analysis of functionality «НДС Эколог» on quality control of dolphins living environment is not sufficient and need additional module development. Thus, the further development of this monitoring system is associated with the problem of elicitation and analyzing the requirements for the program module for calculating the coastal zones water resources quality. Elicitation requirements to additional program module is carried out on the basis of the standard documentation analysis, business processes of monitoring researches according to program engineering provisions. Identified Requirements are need check on integrity and lack of contradictions in their pithiness for further documenting according to the international recommendations standard about development of requirements specifications to the software IEEE STD 830 1993. To solve the problems of information support and software for integrated monitoring, a matrix of requirements was formed and cognitive modeling was applied. The requirements dependency matrix represents a simple and effective method of contradictions and overlappings identification, in case of simple systems consideration. Cognitive modeling promotes better understanding a problem situation, identification of contradictions and qualitative system analysis. The purpose of modeling consists in formation and specification of a studied object functioning hypothesis which consists of separate subsystems and elements. In this case, the system of requirements should reflect the causal relationships of object elements under study.
Large scale software systems must be decomposed into modular units to reduce maintenance efforts. Software Architecture Recovery (SAR) approaches have been introduced to analyze dependencies among ...software modules and automatically cluster them to achieve high modularity. These approaches employ various types of algorithms for clustering software modules. In this paper, we discuss design decisions and variations in existing genetic algorithms devised for SAR. We present a novel hybrid genetic algorithm that introduces three major differences with respect to these algorithms. First, it employs a greedy heuristic algorithm to automatically determine the number of clusters and enrich the initial population that is generated randomly. Second, it uses a different solution representation that facilitates an arithmetic crossover operator. Third, it is hybridized with a heuristic that improves solutions in each iteration. We present an empirical evaluation with seven real systems as experimental objects. We compare the effectiveness of our algorithm with respect to a baseline and state-of-the-art hybrid genetic algorithms. Our algorithm outperforms others in maximizing the modularity of the obtained clusters.
The cost of software maintenance is heavily influenced by program understanding. When the source code is the only product accessible, maintainers spend a significant amount of effort trying to ...understand the structure and behavior of the software. Program module clustering is a useful reverse-engineering technique for obtaining the software structural model from source code. Finding the best clustering is regarded as an NP-hard optimization problem, and several meta-heuristic methods have been employed to solve it. The fundamental flaws of the prior approaches were their insufficient performance and effectiveness. The major goals of this research are to achieve improved software clustering quality and stability. A new method (Düzen) is proposed in this research for improving software module clustering. As a meta-heuristic memetic algorithm, this technique employs the shuffled frog-leaping algorithm. The Düzen results were investigated and compared to those produced using earlier approaches. In terms of obtaining the best clustering quality, the proposed method was shown to be better and more successful than the others; it also had higher data stability and data convergence to optimal replies in a fewer number of repetitions. Furthermore, it acquired a higher data mean and a faster clustering execution time.