Flight control software-oriented continuous integration and test device and method

By using a continuous integration and testing device for flight control software, the integration and testing of models and code are automated, solving the problem of low efficiency in traditional methods and realizing an efficient software development and testing process.

CN121979780APending Publication Date: 2026-05-05XIAN FLIGHT SELF CONTROL INST OF AVIC
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
XIAN FLIGHT SELF CONTROL INST OF AVIC
Filing Date
2025-12-24
Publication Date
2026-05-05

AI Technical Summary

Technical Problem

The integration and testing of airborne flight control software relies on manual operation, which leads to low efficiency, high resource consumption, and is prone to omissions and errors, making it difficult to respond quickly to customer needs.

Method used

A continuous integration and testing device for flight control software is adopted. The product management and task allocation modules automatically load models and code, decompose tasks and push them to the model and code integration and compilation module for inspection and joint compilation. Desktop-level and unit-level testing, as well as virtual simulation testing, are carried out in conjunction with the model and code testing module.

Benefits of technology

It automates flight control software integration and testing, reduces reliance on manual labor, improves development efficiency, and ensures automatic parsing and complete closed-loop processing of test reports, thereby enabling rapid response to customer needs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121979780A_ABST
    Figure CN121979780A_ABST
Patent Text Reader

Abstract

The invention provides a flight control software-oriented continuous integration and test device and method, and the method comprises the steps: loading all models and all codes of flight control software to be integrated and tested through a product management and task distribution module, and carrying out the task decomposition and task pushing of the automatic integration and test of all models and all codes; a model and code integration compiling module checks each sub-task model and each sub-task code, and performs joint compiling on all sub-task codes and codes generated by all sub-task models which are checked to be qualified so as to form an executable target code; and finally, a model and code test module executes desktop-level test on each sub-task model, executes unit-level test on each sub-task code, and executes virtual simulation test on the executable target code. The problems that in traditional flight control software integration and testing, serial execution is high in dependence degree on manpower, omission and errors are likely to be caused, and the research and development efficiency is low are solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the technical field of airborne flight control software development, and in particular to a device and method for continuous integration and testing of flight control software. Background Technology

[0002] In the process of achieving agile development, airborne flight control system software is characterized by large scale, complex functions, coupled development of design models and manual coding, multiple software partitions, and multiple software configuration items, which makes software integration and testing difficult and inefficient.

[0003] In traditional integration processes for airborne flight control software, after the models or manual coding of each module are completed, software integration engineers need to manually integrate the developed products into the complete project. With the increasing size and complexity of flight control software project code based on model design, a large number of integration, compilation, and testing tasks need to be manually completed.

[0004] Before software integration, the design checks of the model itself, the consistency checks of the generated code, and the static checks of the manually coded code all need to be checked and reports need to be generated before software integration. It is necessary to manually ensure that there are no static problems.

[0005] During software version changes, functional regression testing for different modules' design models and manually coded code requires test engineers to manually execute test cases one by one and manually transmit feedback results, which consumes human resources and is prone to omissions and errors.

[0006] In the digital age, the efficiency of integration and testing of large and complex flight control software projects is crucial to whether research and development units can quickly respond to customer needs and aim to deliver high-quality equipment software products on a milestone-by-mile basis. Traditional methods rely heavily on manual labor, so it is necessary to improve the integration and testing processes of flight control software to enable them to operate automatically. Summary of the Invention

[0007] The purpose of this invention is to provide a continuous integration and testing device and method for flight control software, in order to solve the problems of high human resource consumption, easy omissions and errors, and low efficiency in traditional integration and testing schemes for flight control software due to their high dependence on manual labor.

[0008] The technical solution of the present invention is as follows: In a first aspect, the present invention provides a continuous integration and testing device for flight control software, comprising: a product management and task allocation module, a model and code integration and compilation module, and a model and code testing module connected in sequence; The product management and task allocation module is used to load all models and all code of the flight control software to be integrated and tested, and to perform task decomposition and task push for the automated integration and testing of all models and all code, so as to push the decomposed sub-task models and sub-task codes to the model and code integration and compilation module. The model and code integration compilation module is used to check each subtask model and each subtask code respectively, and to jointly compile all the checked subtask code and the code generated by all subtask models to form executable object code. The model and code testing module is used to perform desktop-level testing on each subtask model, unit-level testing on each subtask code, and virtual simulation testing on the executable object code.

[0009] Optionally, in the continuous integration and testing device for flight control software as described above, the product management and task allocation module includes: a code management unit connected to each other, and a continuous integration and testing task allocation unit. The code management unit is used to load all models and all code of the flight control software to be integrated and tested, and to manage, archive and version of each model and each code. The continuous integration and testing task allocation unit is used to decompose and push the automated integration and testing tasks of all models and all code, and push the decomposed sub-task models and sub-task code to the model and code integration and compilation module.

[0010] Optionally, in the continuous integration and testing device for flight control software as described above, the model and code integration and compilation module includes: a model checking and calculation unit and a code checking and compilation unit respectively connected to the continuous integration and testing task allocation unit; The continuous integration and testing task allocation unit is specifically used to push the decomposed sub-task models to the model checking and calculation unit, and to push the decomposed sub-task code to the code checking and compilation unit. The model checking and calculation unit is used to perform automated checks on each sub-task model, automatically generate the code corresponding to each sub-task model based on the check results, and pass each sub-task model to the model and code testing module, and pass the code corresponding to each sub-task model to the code checking and compilation unit to perform joint compilation of the code. The code inspection and compilation unit is used to perform static analysis inspection on the code of each subtask, and to perform joint compilation on all subtask codes and the code corresponding to each subtask model passed from the model inspection and calculation unit to form executable object code (i.e., compiled into a binary file that can be run by computer hardware); and to pass each subtask code and executable object code to the model and code testing module.

[0011] Optionally, in the continuous integration and testing device for flight control software as described above, the model and code testing module includes: a model and manual coding testing unit connected to the model checking and calculation unit and the code checking and compilation unit respectively, and a virtual simulation testing unit connected to the code checking and compilation unit. The model checking and calculation unit specifically transmits the models of each subtask to the model and manual coding test unit; the code checking and compilation unit specifically transmits the code of each subtask to the model and manual coding test unit, and transmits the executable object code to the virtual simulation test unit. The model and manual coding test unit are used to perform automated desktop simulation tests on each sub-task model and to perform unit-level tests on each pair of sub-task codes. The virtual simulation test unit is used to perform software virtual simulation on the executable target code using a hardware CPU-based virtualization tool to achieve virtual simulation closed-loop testing.

[0012] Optionally, in the continuous integration and testing apparatus for flight control software as described above, The model checking and calculation unit is also used to return the model checking results to the continuous integration and test task allocation unit after the sub-task model is executed. The code inspection and compilation unit is also used to return the code inspection results to the continuous integration and test task allocation unit after the sub-code task is completed; The model and manual coding test unit is also used to return the desktop simulation test results of the model to the continuous integration and test task allocation unit after the sub-code task is completed. The virtual simulation testing unit is also used to return the virtual simulation closed-loop test results to the continuous integration and test task allocation unit after the sub-code task is completed. The continuous integration and testing task allocation unit is also used to achieve unified management of the results returned by each module.

[0013] Secondly, the present invention also provides a continuous integration and testing method for flight control software, comprising using the continuous integration and testing apparatus for flight control software as described in any of the preceding claims to perform the continuous integration and testing method on the flight control software, including: Step 1: Submit all models and code of the flight control software to the product management and task assignment module through the personal terminal of the software development machine; Step 2: Through the product management and task allocation modules, the automated integration and testing of all models and all code are decomposed and pushed to push the decomposed sub-task models and sub-task code to the model and code integration and compilation module. Step 3: The model and code integration compilation module checks each subtask model and each subtask code separately, and then performs joint compilation on all the checked subtask code and the code generated by all the subtask models to form executable object code. Step 4: Perform desktop-level testing on each subtask model, unit-level testing on each subtask code, and virtual simulation testing on the executable object code using the model and code testing modules.

[0014] Optionally, in the continuous integration and testing method for flight control software as described above, the product management and task allocation module includes: a code management unit and a continuous integration and testing task allocation unit connected to each other; the model and code integration compilation module includes: a model checking and calculation unit and a code checking and compilation unit respectively connected to the continuous integration and testing task allocation unit; step 2 includes: Step 21: The continuous integration and testing task allocation unit automatically identifies the type of software product files, distinguishes between model files and code files, and performs the decomposition of integration and testing tasks based on file type; Step 22: When the continuous integration and testing task allocation unit determines that the software product is a design model file, it encapsulates it into a sub-task model and pushes it to the model checking and calculation unit. Step 23: When the continuous integration and testing task allocation unit determines that the software product is a code file, including high-level language encoding and assembly language encoding files, it encapsulates it into sub-task code and pushes it to the code inspection and compilation unit. Step 24: The model inspection and calculation unit and the code inspection and compilation unit receive the sub-task models and sub-task codes pushed by the continuous integration and test task allocation unit, and automatically load the corresponding sub-task models and sub-task codes.

[0015] Optionally, in the continuous integration and testing method for flight control software as described above, the model and code testing module includes: a model and manual coding testing unit connected to the model checking and calculation unit and the code checking and compilation unit respectively, and a virtual simulation testing unit connected to the code checking and compilation unit; step 3 includes: Step 31: After loading the models of each subtask, the model checking and calculation unit performs design error checking, design rule checking, and model calculation for each subtask model. Step 32: After the code inspection and compilation unit loads the code of each subtask, it performs static analysis checks on the code of each subtask. Step 33: When the model checking and calculation unit checks the sub-task models that have passed the check, it performs model calculation and automatically generates the code for each sub-task model, and pushes the code corresponding to each sub-task model to the code checking and compilation unit; otherwise, the results of failure are returned to the continuous integration and test task allocation unit. Step 34: Code inspection and compilation unit determines whether the code of each subtask passes the static check. If so, proceed to step 35; otherwise, return the failed result to the continuous integration and test task allocation unit. Step 35: The code inspection and compilation unit loads the code automatically generated by each sub-task model that has passed the model inspection, and performs joint compilation with the code of each sub-task that has passed the inspection, that is, performs the compilation of the complete software project to form executable object code. Step 36: The code inspection and compilation unit pushes the executable target code generated by the joint compilation to the virtual simulation test unit to execute the software virtual simulation; if an error occurs during the compilation process, the error result is returned to the continuous integration and test task allocation unit.

[0016] Optionally, in the continuous integration and testing method for flight control software described above, step 4 includes: Step 41: The model and manual coding test unit loads the sub-task models pushed by the model inspection and calculation unit, performs automated desktop simulation tests on each sub-task model, completes automatic parsing of the test results, and returns the test results to the continuous integration and test task allocation unit. Step 42: The model and manual coding test unit loads the code of each subtask pushed by the model inspection and calculation unit, performs code unit-level testing on each subtask code, completes automatic parsing of the test results, and returns the test results to the continuous integration and test task allocation unit. Step 43: The virtual simulation testing unit loads the executable target code pushed by the code inspection and compilation unit, uses a hardware CPU-based virtualization tool to perform software virtual simulation on the executable target code, and completes the automatic parsing of the test results, thus realizing virtual simulation closed-loop testing; in addition, the test results are returned to the continuous integration and test task allocation unit. Step 44: The continuous integration and test task allocation unit loads and manages the test results returned by the model, the manual coding test unit, and the virtual simulation test unit. The beneficial effects of this invention are as follows: This invention provides a continuous integration and testing device and method for flight control software. The product management and task allocation module loads all models and codes of the flight control software to be integrated and tested, and performs task decomposition and task pushing for the automated integration and testing of all models and codes. The decomposed sub-task models and sub-task codes are pushed to the model and code integration compilation module. The model and code integration compilation module checks each sub-task model and each sub-task code, and jointly compiles all qualified sub-task codes and the code generated by all sub-task models to form executable object code. Finally, the model and code testing module performs desktop-level testing on each sub-task model, unit-level testing on each sub-task code, and virtual simulation testing on the executable object code. The above technical solution provided by this invention has the following beneficial effects: First, the device and method provided by this invention automate the process of integrating flight control software that combines model design with manual coding, thereby reducing the reliance on manual labor in integration and testing. Second, the technical solution of this invention realizes the automated parsing of the inspection report generated during the integration test and automatically determines whether the inspection is passed; Third, by adopting the technical solution of this invention, the development efficiency of flight control software is improved, and the ability to quickly respond to customer needs is enhanced. Fourth, the technical solution of this invention completes the entire closed loop from software development to testing through automatic product testing and virtual simulation testing. Attached Figure Description

[0017] The accompanying drawings are provided to further understand the technical solutions of the present invention and constitute a part of the specification. They are used together with the embodiments of this application to explain the technical solutions of the present invention and do not constitute a limitation on the technical solutions of the present invention.

[0018] Figure 1 A schematic diagram of the structure of the continuous integration and testing device for flight control software provided in an embodiment of the present invention; Figure 2 This is a flowchart illustrating a continuous integration and testing method for flight control software provided in Embodiment 1 of the present invention. Figure 3 This is a flowchart illustrating a continuous integration and testing method for flight control software provided in Embodiment 2 of the present invention. Figure 4 This is a schematic diagram illustrating the implementation principle of the continuous integration and testing method for flight control software provided in this embodiment of the invention. Detailed Implementation

[0019] To make the objectives, technical solutions, and advantages of the present invention clearer, the embodiments of the present invention will be described in detail below with reference to the accompanying drawings. It should be noted that, unless otherwise specified, the embodiments and features described in this application can be arbitrarily combined with each other.

[0020] As explained in the background section, traditional integration and testing solutions for flight control software suffer from high reliance on manual labor, resulting in high manpower requirements, potential omissions and errors, and low efficiency.

[0021] To address the aforementioned issues, this invention provides a continuous integration and testing apparatus and method for flight control software. The continuous integration solution provided by this invention is a software development practice that can automatically and efficiently perform software integration and complete thorough software testing through the accumulation of test cases. This is of great significance for improving the efficiency of airborne flight control software and ensuring product quality.

[0022] Figure 1 The diagram shows the structural relationship of the continuous integration and testing device for flight control software provided by this invention. The continuous integration and testing device for flight control software provided in this embodiment of the invention can solve the problem of low efficiency in manual software integration and testing when using model design and manual coding in the development of airborne flight control software, through the coordinated operation of three modules and six units.

[0023] It should be noted that in the embodiments of the present invention, by using a software development machine personal terminal, the iterative modification of each model and each code in the flight control software to be integrated and tested is completed and submitted to the product management and task allocation module of the device.

[0024] like Figure 1 As shown, the continuous integration and testing device for flight control software provided in this embodiment of the invention comprises: a product management and task allocation module, a model and code integration and compilation module, and a model and code testing module connected in sequence.

[0025] In this embodiment of the invention, the product management and task allocation module is used to load all models and all code of the flight control software to be integrated and tested, and to perform task decomposition and task push for the automated integration and testing of all models and all code, so as to push the decomposed sub-task models and sub-task codes to the model and code integration and compilation module. In this embodiment of the invention, the model and code integration compilation module is used to check each subtask model and each subtask code respectively, and to jointly compile all the checked subtask code and the code generated by all subtask models to form executable object code; In this embodiment of the invention, the model and code testing module is used to perform desktop-level testing on each sub-task model, unit-level testing on each sub-task code, and virtual simulation testing on the executable object code.

[0026] In one implementation of this invention, such as Figure 1 As shown, the product management and task assignment modules include: a connected code management unit, and a continuous integration and testing task assignment unit.

[0027] In this implementation, the code management unit is used to load all models and all code of the flight control software to be integrated and tested, and to manage, archive, and version of each model and each piece of code. The continuous integration and testing task allocation unit is used to decompose and push the automated integration and testing tasks of all models and all code, and push the decomposed sub-task models and sub-task code to the model and code integration and compilation module.

[0028] In one implementation of this invention, such as Figure 1 As shown, the model and code integration compilation module includes a model inspection and calculation unit and a code inspection and compilation unit, which are respectively connected to the continuous integration and test task allocation unit.

[0029] In this implementation, the continuous integration and test task allocation unit is specifically used to push the decomposed sub-task models to the model checking and calculation unit, and to push the decomposed sub-task code to the code checking and compilation unit. In addition, the model checking and calculation unit is used to perform automated checks on each sub-task model, automatically generate the code corresponding to each sub-task model based on the check results, and pass each sub-task model to the model and code testing module, as well as pass the code corresponding to each sub-task model to the code checking and compilation unit to perform joint compilation of the code; The code inspection and compilation unit performs static analysis checks on the code of each subtask, and performs joint compilation on all subtask codes and the code corresponding to each subtask model passed from the model inspection and calculation unit to form executable object code (i.e., compiled into a binary file that can be run by computer hardware); and passes each subtask code and executable object code to the model and code testing module.

[0030] In one implementation of this invention, such as Figure 1 As shown, the model and code testing module includes: a model and manual coding testing unit connected to the model checking and calculation unit and the code checking and compilation unit, respectively, and a virtual simulation testing unit connected to the code checking and compilation unit.

[0031] In this implementation, the model checking and calculation unit specifically passes each sub-task model to the model and manual coding test unit; the code checking and compilation unit specifically passes each sub-task code to the model and manual coding test unit, and passes the executable object code to the virtual simulation test unit.

[0032] In addition, the model and manual coding test unit are used to perform automated desktop simulation tests on each sub-task model and to perform unit-level tests on each pair of sub-task codes. The virtual simulation test unit is used to perform software virtual simulation on the executable target code using a hardware CPU-based virtualization tool to achieve virtual simulation closed-loop testing.

[0033] Furthermore, in one implementation of the present invention, such as Figure 1 As shown, the model checking and calculation unit is also used to return the model checking results to the continuous integration and test task allocation unit after the sub-task model execution is completed; the code checking and compilation unit is also used to return the code checking results to the continuous integration and test task allocation unit after the sub-code task execution is completed; the model and manual coding test unit is also used to return the model desktop simulation test results to the continuous integration and test task allocation unit after the sub-code task execution is completed; and the virtual simulation test unit is also used to return the virtual simulation closed-loop test results to the continuous integration and test task allocation unit after the sub-code task execution is completed.

[0034] Correspondingly, the continuous integration and testing task allocation unit is also used to achieve unified management of the results returned by each module.

[0035] It should be noted that the modules and units in the continuous integration and testing device for flight control software provided in the embodiments of the present invention are all interconnected using Ethernet networks.

[0036] Based on the continuous integration and testing apparatus for flight control software provided in the embodiments of the present invention, the embodiments of the present invention also provide a continuous integration and testing method for flight control software. The continuous integration and testing method for flight control software is performed using the continuous integration and testing apparatus for flight control software provided in any embodiment, and includes the following steps: Step 1: Submit all models and code of the flight control software to the product management and task assignment module through the personal terminal of the software development machine; Step 2: Through the product management and task allocation modules, the automated integration and testing of all models and all code are decomposed and pushed to push the decomposed sub-task models and sub-task code to the model and code integration and compilation module. Step 3: The model and code integration compilation module checks each subtask model and each subtask code separately, and then performs joint compilation on all the checked subtask code and the code generated by all the subtask models to form executable object code. Step 4: Perform desktop-level testing on each subtask model, unit-level testing on each subtask code, and virtual simulation testing on the executable object code using the model and code testing modules.

[0037] In one implementation of this invention, based on Figure 1 The devices shown are divided into units by each module, and the connection forms between each unit are described. In the continuous integration and testing method for flight control software provided in this embodiment of the invention, the implementation process of step 2 above may include: Model files and code files are used to decompose integration and testing tasks based on file type; Step 22: When the continuous integration and testing task allocation unit determines that the software product is a design model file, it encapsulates it into a sub-task model and pushes it to the model checking and calculation unit. Step 23: When the continuous integration and testing task allocation unit determines that the software product is a code file, including high-level language encoding and assembly language encoding files, it encapsulates it into sub-task code and pushes it to the code inspection and compilation unit. Step 24: The model inspection and calculation unit and the code inspection and compilation unit receive the sub-task models and sub-task codes pushed by the continuous integration and test task allocation unit, and automatically load the corresponding sub-task models and sub-task codes.

[0038] In one implementation of this invention, based on Figure 1 The device shown is divided into units by each module, and the connection between each unit can be included in step 3 above. Step 31: After loading the models of each subtask, the model checking and calculation unit performs design error checking, design rule checking, and model calculation for each subtask model. Step 32: After the code inspection and compilation unit loads the code of each subtask, it performs static analysis checks on the code of each subtask. Step 33: When the model checking and calculation unit checks the sub-task models that have passed the check, it performs model calculation and automatically generates the code for each sub-task model, and pushes the code corresponding to each sub-task model to the code checking and compilation unit; otherwise, the results of failure are returned to the continuous integration and test task allocation unit. Step 34: Code inspection and compilation unit determines whether the code of each subtask passes the static check. If so, proceed to step 35; otherwise, return the failed result to the continuous integration and test task allocation unit. Step 35: The code inspection and compilation unit loads the code automatically generated by each sub-task model that has passed the model inspection, and performs joint compilation with the code of each sub-task that has passed the inspection, that is, performs the compilation of the complete software project to form executable object code. Step 36: The code inspection and compilation unit pushes the executable target code generated by the joint compilation to the virtual simulation test unit to execute the software virtual simulation; if an error occurs during the compilation process, the error result is returned to the continuous integration and test task allocation unit.

[0039] In one implementation of this invention, based on Figure 1 The implementation process of step 4 above may include the division of each module in the device shown into its units, and the connection forms between the units. Step 41: The model and manual coding test unit loads the sub-task models pushed by the model inspection and calculation unit, performs automated desktop simulation tests on each sub-task model, completes automatic parsing of the test results, and returns the test results to the continuous integration and test task allocation unit. Step 42: The model and manual coding test unit loads the code of each subtask pushed by the model inspection and calculation unit, performs code unit-level testing on each subtask code, completes automatic parsing of the test results, and returns the test results to the continuous integration and test task allocation unit. Step 43: The virtual simulation testing unit loads the executable target code pushed by the code inspection and compilation unit, uses a hardware CPU-based virtualization tool to perform software virtual simulation on the executable target code, and completes the automatic parsing of the test results, thus realizing virtual simulation closed-loop testing; in addition, the test results are returned to the continuous integration and test task allocation unit. Step 44: The continuous integration and testing task allocation unit loads and manages the test results returned by the model, the manual coding test unit, and the virtual simulation test unit.

[0040] This invention provides a continuous integration and testing apparatus and method for flight control software. The product management and task allocation module loads all models and code of the flight control software to be integrated and tested, and performs task decomposition and task pushing for the automated integration and testing of all models and code. The decomposed sub-task models and sub-task codes are pushed to the model and code integration compilation module. The model and code integration compilation module checks each sub-task model and each sub-task code, and jointly compiles all qualified sub-task codes and the code generated from all sub-task models to form executable object code. Finally, the model and code testing module performs desktop-level testing on each sub-task model, unit-level testing on each sub-task code, and virtual simulation testing on the executable object code. The above technical solution provided by this invention has the following beneficial effects: First, the device and method provided by this invention automate the process of integrating flight control software that combines model design with manual coding, thereby reducing the reliance on manual labor in integration and testing. Second, the technical solution of this invention realizes the automated parsing of the inspection report generated during the integration test and automatically determines whether the inspection is passed; Third, by adopting the technical solution of this invention, the development efficiency of flight control software is improved, and the ability to quickly respond to customer needs is enhanced. Fourth, the technical solution of this invention completes the entire closed loop from software development to testing through automatic product testing and virtual simulation testing.

[0041] The following describes the specific implementation process of the continuous integration and testing method for flight control software provided in the embodiments of the present invention, including the following steps: Step 1: The software development engineer completes the development of the flight control software and submits all models and all code of the flight control software to the code management unit through the personal terminal of the software development machine; Optionally, the submitted flight control software products may include one or more combinations of design models, high-level language codes, and assembly language codes, and generally multiple combinations.

[0042] Step 2: The continuous integration and testing task allocation unit monitors and receives file change trigger information from the code management unit, and obtains the changed flight control software product; Step 3: Start executing continuous integration and testing tasks. The continuous integration and testing task allocation unit will push software design model products and manually coded products to other units. Step 4: When the software product is determined to be a design model file, push it to the model checking and calculation unit; Step 5: When the software product is determined to be a code file, including high-level language encoded files and assembly language encoded files, push it to the code inspection and compilation unit; Step 6: The model checking and calculation unit loads the software model assigned by the continuous integration and test task allocation unit, and performs design error checks and design rule checks on the model; Step 7: If the model check and calculation unit automatically determines that the model check has passed, it will perform model calculation and automatic code generation operations, and at the same time send the intermediate products such as automatic code and reports generated during the process to the code check and compilation unit; otherwise, the result of failure will be returned to the continuous integration and test task allocation unit. Step 8: Code inspection and compilation unit loads the code automatically generated from the model transmitted by the model inspection and calculation unit; Step 9: Code inspection and compilation unit loading of manual coding delivered by continuous integration and test task allocation units; Step 10: Code inspection and compilation unit combined with automatically generated code from the model and manual coding form a complete software engineering collection; Step 11: The code inspection and compilation unit will use static analysis tools to scan the code of the complete software engineering set described above. If any problems are found during the scan, the process will be returned to the continuous integration and test task allocation unit. Step 12: The code inspection and compilation unit performs the code compilation operation to form executable object code and complete the software integration process. If an error occurs during the compilation process, the report result will be returned to the continuous integration and test task allocation unit. Step 13: Start executing continuous testing tasks. The continuous integration and test task allocation unit pushes the software design model and manually coded products to the model and manually coded test units. The code inspection and compilation unit sends the executable object code to the virtual simulation test unit. Step 14: For the received model products, the model desktop simulation test operation is performed; for the received manual coding products, the unit-level test case operation is performed. Step 15: Model and manual coding test units, complete the automatic parsing of test reports and other results for model and manual coding classes; Step 16: Virtual simulation test unit, performs virtual simulation test operation on the received executable target code; Step 17: Virtual simulation test unit, completes automatic parsing of the executable object code virtual simulation test report; Step 18: The model and manual coding test unit will collect the desktop simulation test results of the model and the test results of the manual coding unit, and the virtual simulation test unit will collect the virtual simulation test results, and return them to the continuous integration and test task allocation unit. Step 19: The continuous integration and test task allocation unit loads the results transmitted by all the above units, including model inspection results, code inspection results, compilation results, model desktop simulation test results, code unit-level test results, and virtual simulation test results, and manages all result files in a unified manner.

[0043] The apparatus and method provided in this embodiment can automate the software integration and software testing processes, automatically parse the inspection reports generated during the integration and testing process, and automatically determine whether the inspection has passed. This improves the efficiency of flight control software development, enhances the ability to quickly respond to customer needs, reduces the low reliability issues caused by manual operation, and improves the quality of the software.

[0044] The following examples illustrate the execution process of the continuous integration and testing method for flight control software provided by the present invention.

[0045] Example 1 like Figure 2 The diagram shows a flowchart of a continuous integration and testing method for flight control software provided in Embodiment 1 of the present invention. This continuous integration and testing method is illustrated using manually coded flight control software as an example, and specifically includes the following steps: Step 1: Based on the R&D task, the software development engineer completes the changes to the manual C language code and submits the manual code to the code unit management unit through the personal terminal of the software development machine. Step 2: The continuous integration and test task allocation unit detects the trigger information of changes to the manually coded files in the code management unit and obtains the changed manually coded files; Step 3: The Continuous Integration and Test Task Allocation Unit begins executing continuous integration tasks and pushes all manually coded products with changes to the Code Inspection and Compilation Unit. Step 4: The code inspection and compilation unit loads the manually coded class files pushed by the continuous integration and test task allocation unit to form a complete software engineering collection; Step 5: Code inspection and compilation unit. A complete code collection project scan is performed using static analysis tools. If problems are found during the scan, the process is returned to the continuous integration and test task allocation unit. Step 6: After the scan passes, the code inspection and compilation unit performs compilation to form executable object code, which is then sent to the virtual simulation test unit to complete the software integration process. If an error occurs during compilation, the process returns to the continuous integration and test task allocation unit. Step 7: Start executing the continuous testing task; Step 8: Model and Manual Coding Test Units. For manually coded products, execute unit-level test case operations and automatically parse the results such as the test reports mentioned above. Step 9: Virtual simulation test unit, which performs virtual simulation test operations on the received executable object code; Step 10: Virtual simulation test unit, completes the automatic parsing of the executable target code virtual simulation test report, and pushes the test results to the model and manual coding test unit; Step 11: The model and manual coding test unit will collect the test results at the manual coding unit level and the virtual simulation test results, and return them to the continuous integration and test task allocation unit in a unified manner. Step 12: The continuous integration and test task allocation unit collects the test results transmitted by all the above units, manages them in a unified manner, and realizes product packaging, executable target code and information release; Example 2: like Figure 3 The diagram shows a flowchart of a continuous integration and testing method for flight control software provided in Embodiment 2 of the present invention. This continuous integration and testing method is illustrated using a flight control software system with model design and manual coding as an example, and specifically includes the following steps: Step 1: Based on the R&D task, the software development engineer completes the design model development and C language code modification, and submits the design model and manual code to the code management unit simultaneously through the software development machine's personal terminal; Step 2: The continuous integration and test task allocation unit detects the trigger information of file changes in the code management unit, obtains the changed products, distinguishes the software product type according to the file extension, and automatically classifies the products into models and code; Step 3: The continuous integration and testing task allocation unit starts executing continuous integration tasks. The continuous integration and testing task allocation unit pushes all changed software design model products to the model inspection and calculation unit, and pushes all changed manually coded products to the code inspection and compilation unit. Step 4: Model checking and calculation unit continuously integrates and tests the software model assigned by the task allocation unit, and performs design error checks and design rule checks on the model; Step 5: When the model checking and calculation unit automatically determines that the model check has passed, it executes the automatic code generation operation and sends the intermediate products such as automatic code and reports generated during the process to the code checking and compilation unit; otherwise, it sends the failed result to the continuous integration and test task allocation unit. Step 6: The code inspection and compilation unit integrates the automatically generated code from the received model with the received manually coded class files to form a complete software engineering collection. Step 7: Code inspection and compilation unit. Use static analysis tools to perform a complete code collection project scan. If problems are found during the scan, return to the continuous integration and test task allocation unit. Step 8: After the scan passes, the code inspection and compilation unit performs compilation to form executable object code, which is then sent to the virtual simulation test unit to complete the software integration process. If an error occurs during compilation, the process returns to the continuous integration and test task allocation unit. Step 9: Begin executing the continuous testing task; Step 10: For model products, execute desktop simulation testing; for manually coded products, execute unit-level test cases and automatically parse the test reports and other results. Step 11: Virtual simulation test unit, performs virtual simulation test operation on the received executable object code; Step 12: Virtual simulation test unit, completes the automatic parsing of the executable target code virtual simulation test report, and pushes the test results to the model and manual coding test unit; Step 13: The model and manual coding test unit will collect the desktop simulation test results, manual coding unit-level test results, and virtual simulation test results and return them to the continuous integration and test task allocation unit. Step 14: The continuous integration and test task allocation unit collects the test results transmitted by all the above units, manages them in a unified manner, and realizes product packaging, executable target code and information release.

[0046] While the embodiments disclosed in this invention are as described above, they are merely illustrative of the embodiments to facilitate understanding of the invention and are not intended to limit the invention. Any person skilled in the art to which this invention pertains may make any modifications and variations in the form and details of the implementation without departing from the spirit and scope disclosed herein; however, the scope of patent protection for this invention shall still be determined by the scope defined in the appended claims.

Claims

1. A continuous integration and testing device for flight control software, characterized in that, include: The product management and task allocation module, the model and code integration and compilation module, and the model and code testing module are connected sequentially. The product management and task allocation module is used to load all models and all code of the flight control software to be integrated and tested, and to perform task decomposition and task push for the automated integration and testing of all models and all code, so as to push the decomposed sub-task models and sub-task codes to the model and code integration and compilation module. The model and code integration compilation module is used to check each subtask model and each subtask code respectively, and to jointly compile all the checked subtask code and the code generated by all subtask models to form executable object code. The model and code testing module is used to perform desktop-level testing on each subtask model, unit-level testing on each subtask code, and virtual simulation testing on the executable object code.

2. The continuous integration and testing device for flight control software according to claim 1, characterized in that, The product management and task allocation module includes: a connected code management unit, and a continuous integration and testing task allocation unit; The code management unit is used to load all models and all code of the flight control software to be integrated and tested, and to manage, archive and version of each model and each code. The continuous integration and testing task allocation unit is used to decompose and push the automated integration and testing tasks of all models and all code, and push the decomposed sub-task models and sub-task code to the model and code integration and compilation module.

3. The continuous integration and testing device for flight control software according to claim 2, characterized in that, The model and code integration and compilation module includes: a model checking and calculation unit and a code checking and compilation unit, which are respectively connected to the continuous integration and test task allocation unit; The continuous integration and testing task allocation unit is specifically used to push the decomposed sub-task models to the model checking and calculation unit, and to push the decomposed sub-task code to the code checking and compilation unit. The model checking and calculation unit is used to perform automated checks on each sub-task model, automatically generate the code corresponding to each sub-task model based on the check results, and pass each sub-task model to the model and code testing module, and pass the code corresponding to each sub-task model to the code checking and compilation unit to perform joint compilation of the code. The code inspection and compilation unit is used to perform static analysis inspection on the code of each subtask, and to perform joint compilation on all subtask codes and the code corresponding to each subtask model passed from the model inspection and calculation unit to form executable object code; and to pass each subtask code and executable object code to the model and code testing module.

4. The continuous integration and testing device for flight control software according to claim 3, characterized in that, The model and code testing module includes: a model and manual coding testing unit connected to the model checking and calculation unit and the code checking and compilation unit, respectively, and a virtual simulation testing unit connected to the code checking and compilation unit; The model checking and calculation unit specifically transmits the models of each subtask to the model and manual coding test unit; the code checking and compilation unit specifically transmits the code of each subtask to the model and manual coding test unit, and transmits the executable object code to the virtual simulation test unit. The model and manual coding test unit are used to perform automated desktop simulation tests on each sub-task model and to perform unit-level tests on each pair of sub-task codes. The virtual simulation test unit is used to perform software virtual simulation on the executable target code using a hardware CPU-based virtualization tool to achieve virtual simulation closed-loop testing.

5. The continuous integration and testing device for flight control software according to claim 4, characterized in that, The model checking and calculation unit is also used to return the model checking results to the continuous integration and test task allocation unit after the sub-task model is executed. The code inspection and compilation unit is also used to return the code inspection results to the continuous integration and test task allocation unit after the sub-code task is completed; The model and manual coding test unit is also used to return the desktop simulation test results of the model to the continuous integration and test task allocation unit after the sub-code task is completed. The virtual simulation testing unit is also used to return the virtual simulation closed-loop test results to the continuous integration and test task allocation unit after the sub-code task is completed. The continuous integration and testing task allocation unit is also used to achieve unified management of the results returned by each module.

6. A method for continuous integration and testing of flight control software, characterized in that, The continuous integration and testing method for flight control software is performed using the continuous integration and testing apparatus for flight control software as described in any one of claims 1 to 5, comprising: Step 1: Submit all models and code of the flight control software to the product management and task assignment module through the personal terminal of the software development machine; Step 2: Through the product management and task allocation modules, the automated integration and testing of all models and all code are decomposed and pushed to push the decomposed sub-task models and sub-task code to the model and code integration and compilation module. Step 3: The model and code integration compilation module checks each subtask model and each subtask code separately, and then performs joint compilation on all the checked subtask code and the code generated by all the subtask models to form executable object code. Step 4: Perform desktop-level testing on each subtask model, unit-level testing on each subtask code, and virtual simulation testing on the executable object code using the model and code testing modules.

7. The continuous integration and testing method for flight control software according to claim 6, characterized in that, The product management and task allocation module includes: a code management unit connected to the continuous integration and testing task allocation unit; the model and code integration and compilation module includes: a model checking and calculation unit and a code checking and compilation unit respectively connected to the continuous integration and testing task allocation unit; step 2 includes: Step 21: The continuous integration and testing task allocation unit automatically identifies the type of software product files, distinguishes between model files and code files, and performs the decomposition of integration and testing tasks based on file type; Step 22: When the continuous integration and testing task allocation unit determines that the software product is a design model file, it encapsulates it into a sub-task model and pushes it to the model checking and calculation unit. Step 23: When the continuous integration and testing task allocation unit determines that the software product is a code file, including high-level language encoding and assembly language encoding files, it encapsulates it into sub-task code and pushes it to the code inspection and compilation unit. Step 24: The model inspection and calculation unit and the code inspection and compilation unit receive the sub-task models and sub-task codes pushed by the continuous integration and test task allocation unit, and automatically load the corresponding sub-task models and sub-task codes.

8. The continuous integration and testing method for flight control software according to claim 7, characterized in that, The model and code testing module includes: a model and manual coding testing unit connected to the model checking and calculation unit and the code checking and compilation unit, respectively, and a virtual simulation testing unit connected to the code checking and compilation unit; step 3 includes: Step 31: After loading the models of each subtask, the model checking and calculation unit performs design error checking, design rule checking, and model calculation for each subtask model. Step 32: After the code inspection and compilation unit loads the code of each subtask, it performs static analysis checks on the code of each subtask. Step 33: When the model checking and calculation unit checks the sub-task models that have passed the check, it performs model calculation and automatically generates the code for each sub-task model, and pushes the code corresponding to each sub-task model to the code checking and compilation unit; otherwise, the results of failure are returned to the continuous integration and test task allocation unit. Step 34: Code inspection and compilation unit determines whether the code of each subtask passes the static check. If so, proceed to step 35; otherwise, return the failed result to the continuous integration and test task allocation unit. Step 35: The code inspection and compilation unit loads the code automatically generated by each sub-task model that has passed the model inspection, and performs joint compilation with the code of each sub-task that has passed the inspection, that is, performs the compilation of the complete software project to form executable object code. Step 36: The code inspection and compilation unit pushes the executable target code generated by the joint compilation to the virtual simulation test unit to execute the software virtual simulation; if an error occurs during the compilation process, the error result is returned to the continuous integration and test task allocation unit.

9. A continuous integration and testing method for flight control software according to claim 8, characterized in that, Step 4 includes: Step 41: The model and manual coding test unit loads the sub-task models pushed by the model inspection and calculation unit, performs automated desktop simulation tests on each sub-task model, completes automatic parsing of the test results, and returns the test results to the continuous integration and test task allocation unit. Step 42: The model and manual coding test unit loads the code of each subtask pushed by the model inspection and calculation unit, performs code unit-level testing on each subtask code, completes automatic parsing of the test results, and returns the test results to the continuous integration and test task allocation unit. Step 43: The virtual simulation testing unit loads the executable target code pushed by the code inspection and compilation unit, uses a hardware CPU-based virtualization tool to perform software virtual simulation on the executable target code, and completes the automatic parsing of the test results, thus realizing virtual simulation closed-loop testing; in addition, the test results are returned to the continuous integration and test task allocation unit. Step 44: The continuous integration and testing task allocation unit loads and manages the test results returned by the model, the manual coding test unit, and the virtual simulation test unit.