Component fusion type test launch control software architecture based on localized system
Through the component-integrated software architecture, the problem of inconsistent interfaces of aerospace ground launch control software during the domestic production process is solved, and cross-platform software universalization and flexibility are realized, reducing development and maintenance costs.
Patent Information
- Application Number
- CN202411565148.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-05
- Publication Date
- 2025-08-01
AI Technical Summary
The existing aerospace ground launch control software faces the problems of diversified equipment and inconsistent software interfaces during the domestic production process, which leads to complex modification and maintenance of software systems, making it difficult to adapt to the transplantation of different operating systems.
It adopts a component-converged software architecture, including hardware device layer, operating system layer, Qt kernel layer, software kernel layer and component layer. It realizes component loading, unloading and interface layout management through component manager and interface manager. It is developed in the Qt language to support multiple operating systems, and has a unified interface between components.
It improves the flexibility and adaptability of the software system, shortens the development cycle, reduces maintenance costs, and realizes cross-platform software universalization and economic benefits.
Smart Images

Figure CN120406905A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the field of ground test launch control system design in the aerospace field, and particularly relates to a component fusion type test launch control software architecture based on a domestic system. Background Art
[0002] In the field of aerospace engineering, the current situation faced by the research and development of aerospace ground launch control software is mainly the localization of equipment, the diversification of software interface design, the non-uniform application protocols of each project, and the large number of elements involved in the software from three dimensions: communication interface, data processing, and interface display.
[0003] Component technology is an important technology for extensible software research in recent years. A component refers to an independent software module that realizes a specified function and has a clearly defined interface in a system; a component can independently complete a specified task or be assembled with other components into a complete application system to realize more complex functions; at the same time, the component encapsulates its internal structure and implementation details and realizes communication with other components and systems by providing component interfaces. Component-based design has the characteristics of separating implementation from interfaces and interface immutability, which is conducive to the modification, maintenance of software systems, and transplantation between different operating systems.
[0004] The research on component-based software architecture technology is relatively extensive, but the software projects in practical applications only target specific fields and cannot meet the special requirements of ground software for test launch control in the aerospace field. Therefore, it is of great significance and practical value to develop a dynamically assemblable aerospace test launch control software that adopts component technology under a domestic system. Summary of the Invention
[0005] By studying the requirements of various types of ground launch control systems, the present invention provides a component fusion type test launch control software architecture based on a domestic system.
[0006] The present invention provides a component fusion type test launch control software architecture based on a domestic system, including: a hardware device layer, an operating system layer, a Qt kernel layer, a software kernel layer, and a component layer;
[0007] A variety of control devices are arranged in the hardware device layer, and the control devices receive instructions sent by the host computer software and report test status information;
[0008] The operating system layer is used to provide an operating system for the operation of application software;
[0009] The Qt kernel layer is used to provide modules and frameworks for the development of application software;
[0010] The software kernel layer includes: a software platform and a software management module. The software platform has multiple built-in application software. The software management module includes: a component manager and an interface manager. The component manager is used for loading and unloading application software, and the interface manager is used for generating the interface layout of application software.
[0011] The component layer includes multiple application components, and the application components have a unified interface.
[0012] Further, the application component has a built-in component information file, which is used to record the basic information, file association information, and running environment information of the software. The basic information includes: the name, version, developer, function, and software platform information of the application component. The file association information includes: the name of the application component's so dynamic library file, the website address of the application component library, the author's email address, the change log of the application component, and the link status of the application component information file. The running environment information includes: the type of operating system running and the minimum version of the operating system kernel.
[0013] Further, the number of the component managers is 1, and it includes interfaces such as loadPlugins(), registerPlugin(), initializePlugins(), removePlugin(), shutdown(), stopExp(), and startExp(), which are used to implement functions such as loading, registering, initializing, unloading, software shutdown, starting, and stopping experiments of application software.
[0014] Further, the interface manager manages the local part of the application software interface through the following steps: records each application component and its layout information, and connects them through connect; when the interface layout manager receives the signal of the application component layout change, it performs the interface layout update operation and modifies the layout record.
[0015] Further, the component manager also includes: a monitoring interface manager, which is used to manage the monitoring interface of the application software.
[0016] Further, the monitoring interface manager includes:
[0017] A sub-page manager: used to manage the sub-pages of the monitoring interface, including creating or batch creating controls within the sub-page, deleting sub-pages, renaming the sub-page name, and adjusting the layout within the sub-page;
[0018] A control manager, which is used to manage the controls of the monitoring interface, including: setting the control binding parameters, setting the basic attributes of the control: duration, refresh period, label position, and diameter.
[0019] Further, the monitoring interface control includes: C3I control, LCD, curve control, label, tab control, monitoring lamp, and table.
[0020] The beneficial effects of the present invention are as follows:
[0021] a) Based on component definition, a software system componentization process is proposed. Component-based design has the characteristics of separating implementation from interfaces and interface immutability, which is beneficial to software system modification, maintenance, and transplantation between different operating systems.
[0022] b) The basic model of the component is designed, and the standard interface functions of the component are defined. Using the object-oriented system design method, based on the UML language and PowerDesigner tool, the implementation of the component is uniformly and standardly constrained, improving the readability and maintainability of the code in the software system.
[0023] c) The ground launch control software developed based on the traditional mode has a rigid structure, complex upgrading and maintenance, and extremely high development and maintenance costs. Using component dynamic assembly to produce a configurable software system greatly improves the flexibility of the software product structure, can better adapt to new requirements emerging in the development process of the software, and can quickly and timely handle changes in requirements, increasing the adaptability of the software in the new environment.
[0024] All components are developed based on the Qt language. Depending on its WOCA feature, it can support multiple operating systems such as Windows and Linux, meeting the needs of future software localization and cross-platform for the model. The feature of "write once, compile anywhere" further improves the generalization degree of the software, achieving the maximization of economic benefits.
[0025] Adopting a layered architecture, the functions of the launch measurement and control software are componentized. By standardizing component descriptions, unifying interfaces, and customizing interface layouts, relevant components can be loaded into a software system by packaging common components and loading private component description files, shortening the software development cycle and improving software reuse rate. BRIEF DESCRIPTION OF THE DRAWINGS
[0026] The accompanying drawings that form a part of this application are used to provide a further understanding of the present invention. The schematic embodiments of the present invention and their descriptions are used to explain the present invention and do not constitute an improper limitation to the present invention. In the drawings:
[0027] Figure 1 is a schematic diagram of a component fusion-based launch measurement and control software architecture under a domestic system according to an embodiment of the present invention;
[0028] Figure 2 is a process diagram of the application software componentization according to an embodiment of the present invention;
[0029] Figure 3 is a screenshot of the component readme information file according to an embodiment of the present invention; Figure 3
[0030] Figure 4 is a screenshot of the component changeLog information file according to an embodiment of the present invention; Figure 4
[0031] Figure 5 is a schematic diagram of the structure of the component manager according to an embodiment of the present invention; Figure 5
[0032] Figure 6 is a screenshot of the component loading file according to an embodiment of the present invention;
[0033] Figure 7 is a screenshot of the private component loading file according to an embodiment of the present invention;
[0034] Figure 8 is a schematic diagram of the working principle of the interface layout management according to an embodiment of the present invention;
[0035] Figure 9 is a schematic diagram of the monitoring interface manager according to an embodiment of the present invention;
[0036] Figure 10 is a screenshot of the Figure 10 control parameter binding interface according to an embodiment of the present invention;
[0037] Figure 11 is a schematic diagram of the control attribute management interface according to an embodiment of the present invention. Detailed implementation manners
[0038] In order to enable those skilled in the art to better understand the solution of the present invention, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only a part of the embodiments of the present invention, rather than all of the embodiments. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present invention without creative efforts shall fall within the protection scope of the present invention.
[0039] Embodiment 1
[0040] This embodiment provides a component fusion type test, launch and control software architecture based on a domestic system, and its composition schematic diagram is as Figure 1 shown, including: a hardware device layer 1, an operating system layer 2, a Qt kernel layer 3, a software kernel layer 4, and a component layer 5;
[0041] A variety of control devices are arranged in the hardware device layer 1. The control devices receive instructions sent by the host computer software and report test status information.
[0042] The operating system layer 2 is used to provide an operating system for the operation of application software.
[0043] The Qt kernel layer 3 is used to provide modules and frameworks for the development of application software.
[0044] The software kernel layer 4 includes: a software platform and a software management module. The software platform has a variety of application software built-in. The software management module includes: a component manager and an interface manager. The component manager is used for the loading and unloading of application software, and the interface manager is used for the generation of the interface layout of application software.
[0045] The component layer 5 includes a variety of application components, and the application components have a unified interface.
[0046] The application components have component information files built-in. The component information files are used to record the basic information, file association information, and running environment information of the software. The basic information includes: the name, version, developer, function, and software platform information of the application component. The file association information includes: the name of the application component so dynamic library file, the application component library website, the author's email address, the application component change log, and the link status of the application component information file. The running environment information includes: the type of operating system running and the lowest version of the operating system kernel.
[0047] The number of the component managers is 1, and it includes interfaces such as loadPlugins(), registerPlugin(), initializePlugins(), removePlugin(), shutdown(), stopExp(), and startExp() for implementing functions such as the loading, registration, initialization, unloading, software shutdown, startup, and stop of tests of application software.
[0048] The interface manager manages the local part of the application software interface through the following steps: records each application software and its layout information, and makes connections through connect; when the interface layout manager receives a signal of a change in the application software layout, performs an interface layout update operation and modifies the layout record.
[0049] The component manager also includes: a monitoring interface manager for managing the monitoring interface of application software.
[0050] The monitoring interface manager includes:
[0051] Subpage Manager: used to manage subpages of the monitoring interface, including creating new or batch creating controls in subpages, deleting subpages, renaming subpages, and adjusting the layout of subpages;
[0052] The control manager is used to manage the monitoring interface controls, including setting control binding parameters and basic control properties: hold time, refresh cycle, label position and diameter.
[0053] The monitoring interface controls include: C3I controls, LCD, curve controls, labels, tab controls, monitoring lights and tables.
[0054] Example 2
[0055] 1. Overall architecture design of test, launch and control software under domestic system
[0056] The design of the test, launch and control software system architecture under the domestic system adopts a layered design concept. The purpose of layering is to analyze the ground test, launch and control system more clearly and to clarify the design object. The basic idea of layering is: the size of the value determines the level of the layer, and the smaller the value of the layer, the lower the position of the layer in the entire system. Each layer provides more advanced value-added services based on the services of its lower layer, and the highest layer provides services that can run applications. The advantage of a layered structure is that each layer implements a relatively independent function. Each layer does not need to know how the lower layer is implemented. As long as it knows what services the lower layer provides through the inter-layer interface and what services the current layer provides to the upper layer, it can be designed independently. After the system is layered, the functions of each layer are relatively simple and easy to implement and maintain. In addition, if a layer needs to be modified or replaced, as long as the interface service relationship between it and the upper and lower layers is not changed, the other layers will not be affected. Therefore, a layered structure is conducive to communication, understanding and standardization. The component-integrated software system under the domestic system can be divided into 5 layers, such as Figure 1 As shown, it includes: ground test, launch and control hardware equipment layer 1; layer II is the operating system layer 2; layer III is the Qt kernel layer 3; layer IV is the software kernel layer 4; layer V is the component layer 5.
[0057] a) Ground test, launch and control hardware equipment layer
[0058] The ground test, launch and control hardware equipment layer is the object of centralized control of the ground test, launch and control. Generally, it is some equipment that needs to send instructions and monitor the test status through the host computer software, such as ground power supply, memory integrated console, equivalent device and other equipment.
[0059] b) Operating system layer
[0060] The operating system layer provides a basic operating system for software operation. The software is developed in Qt language and relies on its WOCA feature to meet cross-platform functional requirements, and can well adapt to domestic operating systems based on Linux such as Zhongbiao Kylin and Galaxy Kylin.
[0061] c) Qt Kernel Layer
[0062] The Qt kernel consists of many class libraries and modules. For example, the Qt GUI class provides the basic classes for GUI interface development, the QtNetWork class library provides basic network communication functions, and the Qt SQL class library provides database operation functions. The Qt kernel layer provides rich modules and frameworks for upper-layer application software development.
[0063] d) Software Kernel Layer
[0064] The software kernel layer mainly includes a software platform and two major software management modules, namely the component management module and the interface management module. The component management module is used for operations such as component loading and unloading, and the interface management module is used for generating the software interface layout.
[0065] e) Component Layer
[0066] The component layer provides rich components with unified interfaces. Each component exists in the form of a zip compressed package, containing the basic component so dynamic library file and the XML configuration file that identifies the basic information of the component.
[0067] 2. Componentization
[0068] Space ground software generally has the characteristics of diverse communication interfaces, complex data processing, and diverse interface display methods, and involves many elements in the three dimensions of communication interface, data processing, and interface display. Software components originate from software system elements. Componentization is a process of performing a series of processes on elements, that is, generalizing and abstracting elements with the same or similar characteristics, and encapsulating them with a set of clear and standardized interfaces.
[0069] 3. Component Information
[0070] The component plugin.xml information file describes the component, and describes the component characteristics. When the component manager loads the component, it obtains the component characteristics through the component information file. In addition, when the component is reused, the component matching can be performed according to the description information of the component. In order to facilitate the accurate description of the component, a unified convention is made for the component description file, and the component is mainly described from the following aspects.
[0071] a) Basic Information: including the attribute information of the component, such as component name, component developer author, component version version, component function description description, and the development environment of the component.
[0073] b) File Association: It includes the name of the component's so dynamic library file, the component library website, the author's email address, the change log of the component, and whether the component's readme is linked.
[0074]
[0075] The readme.html information file of the component describes information such as the name, version, developer, function, and software platform of the component. The component manager provides an interface to view the readme information file of the component.
[0076] The changeLog.html file is used to describe the update time, fixed issues, or function enhancements of each version of the component development. As Figure 4 shown.
[0077] c) Operating Environment: It describes the environmental requirements for the component to run, including the operating system and the minimum version of the software system kernel.
[0078]
[0079] 4. Component Manager
[0080] The component manager is the core of the test launch and control software architecture and is used to load, unload, etc. components. The component manager runs in a singleton mode, and there is only one component manager in the test launch and control software architecture to manage all components in the system. The component manager includes interfaces such as loadPlugins(), registerPlugin(), initializePlugins(), removePlugin(), shutdown(), stopExp(), startExp(), etc., to implement functions such as component loading, registration, initialization, unloading, software shutdown, startup, and stopping of tests.
[0081] a) Component Loading
[0082] Before loading a component, the component manager first checks and confirms the software platform, Qt version, and operating system on which the component development depends, obtains the basic information of the component: component name, version, author, description, development log, etc., and then loads the component after confirming its correctness. Then the component manager needs to perform component registration registerPlugin(), adding the component object to the public component pool (storing component objects, component basic information, and component paths) for system calls.
[0083] b) Component Initialization
[0084] After all components are loaded and registered, the component manager obtains component objects from the common component pool and calls the initialize() interfaces of each component to complete the initialization of all components.
[0085] c) Component unloading
[0086] When the component manager receives a component unloading signal, it modifies the status information of the component and deletes the object registered by the component from the common component pool list.
[0087] d) Component closing, starting, and stopping tests
[0088] When the component manager receives software closing, starting, and stopping test signals, it obtains component objects from the common component pool and calls the shutdown(), startExp(), and startExp() interfaces of each component to perform closing, starting, and stopping tests on all components.
[0089] 5. Component loading
[0090] The dynamically loadable software system requires components to clarify their loading characteristics, mainly including the position information of the component interface in the software system, the generated files of the component interface, the attributes of relevant controls in the component interface, etc. The component loading file is an ini file, and the file description is as Figure 6 shown.
[0091] 6. System loading
[0092] After the common components have the basic component elements: so dynamic link library, readme.html and changeLog.html information files, plugin.xml basic information file, and component ini loading file, all component elements are compressed and packaged, named with the component name and version number, and the component package is placed in the specified call folder plugin of the software system for the component manager to call and load.
[0093] The private component description file is plugins.xml, which describes all private components that need to be loaded. The order in which components are loaded by the component manager is according to the order in which the components are written in the plugins.xml file. The private component loading description file is as Figure 7 shown.
[0094] By packing the common components and loading the private component description file, the relevant components can be assembled into a software system.
[0095] 7. Interface layout manager
[0096] The location information of components in the software main interface is described in the configuration file of the components. When the software is initialized, the interface layout manager generates the software interface layout according to the location information of the components in the configuration file. After the software interface is generated, the interface layout manager records each component object and their layout information, and connects them through connect. When the interface layout manager receives the signal of component object layout change, it performs the corresponding interface layout update operation and modifies the layout record. The working principle of the interface layout manager is as Figure 8 shown.
[0097] 8. Monitoring Interface Manager
[0098] The monitoring interface manager is used to manage the monitoring interface of the launch, measurement and control software, including sub-page management and control management.
[0099] Controls are the basic elements of the monitoring interface. The basic controls include: C3I controls, LCDs, curves, labels, tab controls, monitoring lights, tables, and the monitoring data information can be displayed in different forms through different basic controls; the separating controls include: group boxes, blank containers, which are used to separate and group the basic controls. A sub-page is a container of the monitoring interface. A sub-page can contain multiple basic controls and separating controls, and a monitoring interface can contain multiple sub-pages.
[0100] The monitoring interface manages sub-pages through the sub-page manager, including creating or batch creating controls within a sub-page, deleting sub-pages, renaming sub-page names, and adjusting the layout within a sub-page. The control manager is used to manage several controls such as C3I controls, LCDs, curves, monitoring lights, and tables, and set the control binding parameters and the basic properties of the controls: holding duration, refresh period, label position, diameter (pixels).
[0101] The above description of the disclosed embodiments enables those skilled in the art to implement or use the present invention. Various modifications to these embodiments will be apparent to those skilled in the art, and the general principles defined herein can be implemented in other embodiments without departing from the scope of the present invention. Therefore, the present invention will not be limited to these embodiments shown herein, but rather to the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. A component fusion-based test launch control software architecture under a domesticated system, characterized in that, It includes: Hardware device layer, operating system layer, Qt kernel layer, software kernel layer and component layer; A variety of control devices are arranged in the hardware device layer. The control devices receive instructions sent by the host computer software and report test status information; The operating system layer is used to provide an operating system for the operation of application software; The Qt kernel layer is used to provide modules and frameworks for application software development; The software kernel layer includes: a software platform and a software management module. The software platform has a variety of application software built-in; The software management module includes: a component manager and an interface manager; The component manager is used for the loading and unloading of application software, and the interface manager is used for the generation of the interface layout of application software; The component layer includes a variety of application components, and there is a unified interface between the application components.
2. The component fusion type test launch control software architecture based on a domestic system according to claim 1, wherein, The application component has a component information file built-in, and the component information file is used to record the basic information, file association information and running environment information of the software; The basic information includes: the name, version, developer, function and software platform information of the application component; The file association information includes: the name of the application component so dynamic library file, the application component library website, the author's email address, the application component change log and the link status of the application component information file; The running environment information includes: the type of operating system running and the lowest version of the operating system kernel.
3. The component fusion type test launch control software architecture based on a domestic system according to claim 1, characterized in that, The number of the component managers is 1, and it includes: loadPlugins(), registerPlugin(), initializePlugins(), removePlugin(), shutdown(), stopExp() and startExp() interfaces, which are used to implement the functions of loading, registering, initializing, unloading, software shutdown, starting and stopping tests of application software.
4. A component integration-based test, launch, and control software architecture under a domestic system according to claim 1 or 3, characterized in that The interface manager manages the local area of the application software interface through the following steps: records each application component and its layout information, and connects through connect; When the interface layout manager receives the application component layout change signal, it performs an interface layout update operation and modifies the layout record..
5. The component fusion-based test launch control software architecture under a domestic system according to claim 4, wherein The component manager also includes: a monitoring interface manager, which is used to manage the monitoring interface of application software.
6. The component fusion type test launch control software architecture based on a domestic system according to claim 5, characterized in that The monitoring interface manager includes: Sub-page manager: used to manage the sub-pages of the monitoring interface, including creating or batch creating controls within the sub-page, deleting sub-pages, renaming the sub-page names, and adjusting the layout within the sub-page; Control manager, used to manage the monitoring interface controls, including: setting control binding parameters, setting the basic properties of the controls: holding duration, refresh period, label position and diameter.
7. The component fusion-based test, launch and control software architecture under the domestic system according to claim 6, characterized in that, The monitoring interface controls include: C3I controls, LCDs, curve controls, labels, tab controls, monitoring lights and tables.