Software design method and system of space-based network intelligent satellite

By generating the application architecture and calling the target components in the reusable component library, and assembling the standardized software bus, the problem of insufficient universality of intelligent satellite software design in the space-based information network is solved, and higher universality and scalability are achieved.

CN120066492APending Publication Date: 2025-05-30XINGHAN SPACE TIME (SHENZHEN) AEROSPACE INTELLIGENT TECHNOLOGY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411966775.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-30
Publication Date
2025-05-30

AI Technical Summary

Technical Problem

The software application design of smart satellites in space-based information networks is insufficient in general, which makes it impossible to adapt to diversified application needs.

Method used

By obtaining design requirements data, generating application architectures, and calling target components from the reusable component library, assembling components through standardized software buses to generate software data and apply to space-based network intelligent satellites.

Benefits of technology

It improves the universality of the space-based information network, realizes good scalability of the software architecture, and provides information services to different users more flexibly.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120066492A_ABST
    Figure CN120066492A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a software design method and system for a space-based network intelligent satellite, and the method can generate an application system structure according to design demand data after the design demand data is obtained. And according to the application system structure, calling a target component from the reusable component library, and assembling the target component through a standardized software bus to generate software data and apply the software data to the space-based network intelligent satellite. According to the method, a software architecture can be designed based on a design thought taking data exchange as a center, and a component interface is simplified into a data read-write and communication form. All software components are unified to a standardized software bus through a standardized interface, and data interaction between the components is achieved. And by utilizing a standardized efficient data exchange mechanism, coupling among software components is reduced, so that a software system structure has good expandability, and the universality of the space-based information network is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of space-based information networks, and in particular, to a software design method and system for intelligent satellites in a space-based network. Background Art

[0002] A space-based information network is a network system based on satellite communication. It can utilize the high coverage, high communication capacity, and high security of satellites to achieve global communication and information services. A space-based information network can include a space segment and a ground segment. Among them, the space segment can be interconnected through inter-satellite links between satellites to build a space-based network and provide global information services for users. The ground segment includes gateway stations that are interconnected with space-based network satellites on the ground to realize the connection and information interaction between the space-based network and the ground network, enabling the space-based information network to obtain information, provide services, and cooperate for guarantee.

[0003] Satellites in a space-based information network, as service nodes that make up the space-based information network, need to have the capabilities of autonomous operation, multiple functions, and intelligent collaboration. However, due to the disadvantages of long manufacturing cycle, high cost, poor generality, and single application mode and function in satellite design, satellites cannot meet the application requirements of space-based information networks.

[0004] In order to meet the application requirements of space-based information networks, intelligent satellites (iSAT) in a space-based network can be constructed. As service nodes of the space-based information network, intelligent satellites in a space-based network can share computing, storage, communication, sensing, and execution resources through the space-based network and cooperate with each other to provide flexible and accurate information services for different users, improving the utilization rate of space resources. When an intelligent satellite provides information services, it needs to rely on the coordinated cooperation of hardware devices and software systems. However, the software application design of intelligent satellites still remains in the state of single-function development following satellite components, resulting in insufficient generality of space-based information networks. Summary of the Invention

[0005] In view of this, embodiments of the present application provide a software design method and system for intelligent satellites in a space-based network to solve the problem of insufficient generality of space-based information networks.

[0006] According to one aspect of the present application, there is provided a software design method for intelligent satellites in a space-based network, the method comprising:

[0007] Obtaining design requirement data;

[0008] Generating an application architecture according to the design requirement data, the application architecture being generated according to the design requirement data and a reference architecture in the field to which the design requirement data belongs;

[0009] According to the application architecture, a target component is called from a reusable component library, wherein the target component is at least one reusable component in the reusable component library; the reusable component is a software component constructed by localizing the change points after performing variability analysis on the application sample to determine the change points; the reusable component includes a standardized interface;

[0010] Assembling the target components through a standardized software bus to generate software data, wherein the standardized software bus is used to establish a data connection relationship between standardized interfaces of the target components;

[0011] The software data is applied to space-based network intelligent satellites.

[0012] Optionally, the method further includes:

[0013] Acquire application sample data, wherein the application sample data includes application samples for multiple application fields;

[0014] Extracting candidate components from a plurality of the application samples, wherein the candidate components are common software parts and / or similar software parts in the plurality of the application samples;

[0015] Extract the application architecture of the target domain based on the candidate components;

[0016] Setting reducible items and extensible items for the application architecture to generate the benchmark architecture;

[0017] Finding the change points of the candidate components in different application samples;

[0018] A reusable component is generated according to the change point.

[0019] Optionally, generating a reusable component according to the change point includes:

[0020] Acquire configuration parameters, where the configuration parameters are used to generalize the change point into a common point;

[0021] According to the configuration parameters, the change points in the candidate components are limited to the intervals corresponding to the configuration parameters to generate reusable components.

[0022] Optionally, generating a reusable component according to the change point includes:

[0023] Creating a new class component according to the change point, wherein the new class component inherits the properties and processing method of the candidate component;

[0024] A restriction interval of the change point in the new class component is set to generate a reusable component.

[0025] Optionally, the method further includes:

[0026] Set a standardized interface for the reusable component, where the standardized interface includes a data read / write interface and a communication interface;

[0027] Obtain the requirements information of the reusable component library;

[0028] Package the reusable component according to the requirements information of the reusable component library;

[0029] Use the reusable component library to classify and store the packaged reusable component.

[0030] Optionally, the method further includes:

[0031] Obtain component test data, where the component test data is the input data of the application field to which the application sample belongs;

[0032] Input the component test data into the data read / write interface of the reusable component, so that the reusable component processes the test data according to the reference architecture and generates a component test result;

[0033] Read the component test result through the data read / write interface of the reusable component to verify the reusable component according to the component test result.

[0034] Optionally, the types of the reusable components include: one or more combinations of a process management component, an interface communication component, a clock management component, a bus management component, and a telemetry and telecontrol component; calling a target component from the reusable component library according to the application architecture includes:

[0035] Extract the requirement type from the design requirement data;

[0036] In the reusable component library, extract the reusable component corresponding to the requirement type to obtain the target component.

[0037] Optionally, the method further includes:

[0038] Extract the specialized requirement items that do not meet the application architecture from the design requirement data;

[0039] Perform component specialization on the target component according to the specialized requirement items to obtain a specialized component;

[0040] Obtain a newly developed component developed according to the specialized requirement items;

[0041] Assemble the target component, the specialized component, and the newly developed component to generate the software data.

[0042] Optionally, the method further includes:

[0043] Obtain software test data, where the software test data includes original data and expected result data;

[0044] Invoke the component combination corresponding to the software data, where the component combination includes the target component and the standardized software bus;

[0045] Input the software test data into the component combination to obtain test output data output by the component combination for the software test data;

[0046] If the expected result data is the same as the test output data, perform the step of applying the software data to the space-based network intelligent satellite.

[0047] According to another aspect of the present application, there is provided a software design system for a space-based network intelligent satellite, the system includes:

[0048] A requirement input module for obtaining design requirement data;

[0049] An architecture module for generating an application architecture according to the design requirement data, where the application architecture is generated according to the design requirement data and a reference architecture in the field to which the design requirement data belongs;

[0050] A component invocation module for invoking a target component from a reusable component library according to the application architecture, where the target component is at least one reusable component in the reusable component library; the reusable component is a software component constructed by localizing the change points after performing variability analysis on the application sample; the reusable component includes a standardized interface;

[0051] A component assembly module for assembling the target component through a standardized software bus to generate software data, where the standardized software bus is used to establish a data connection relationship between the standardized interfaces of the target components;

[0052] A software application module for applying the software data to the space-based network intelligent satellite.

[0053] According to yet another aspect of the present application, there is provided a computer device, including a storage medium, a processor, and a computer program stored on the storage medium and executable on the processor, where when the processor executes the program, it implements the above-mentioned software design method for a space-based network intelligent satellite.

[0054] According to still another aspect of the present application, there is provided a storage medium, on which a computer program is stored, and when the program is executed by a processor, it implements the above-mentioned software design method for a space-based network intelligent satellite.

[0055] With the above technical solutions, the embodiments of the present application provide a software design method and system for a space-based network intelligent satellite. After obtaining the design requirement data, the method can generate an application architecture according to the design requirement data. Then, according to the application architecture, target components are called from the reusable component library, and the target components are assembled through a standardized software bus to generate software data and apply it to the space-based network intelligent satellite. Among them, the target component is a reusable component constructed by localizing the change points after performing variability analysis on the application samples in the reusable component library, and includes a standardized interface. The method can design the software architecture based on the design idea centered on data exchange, simplify the component interface into the form of data reading, writing and communication. Through the standardized interface, each software component is unified to the standardized software bus to realize data interaction between components. And by using the standardized and efficient data exchange mechanism, the coupling between software components is reduced, so that the software architecture has good scalability and improves the universality of the space-based information network.

[0056] The above description is only an overview of the technical solutions of the present application. In order to be able to understand the technical means of the present application more clearly, it can be implemented according to the content of the specification. And in order to make the above and other purposes, features and advantages of the present application more obvious and understandable, the specific embodiments of the present application are hereinafter specifically exemplified. BRIEF DESCRIPTION OF THE DRAWINGS

[0057] The drawings described herein are used to provide a further understanding of the present application, and constitute a part of the present application. The schematic embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation to the present application. In the drawings:

[0058] Figure 1 It is a schematic diagram of the space-based information network structure provided by the embodiment of the present application;

[0059] Figure 2 It is a schematic diagram of the space-based information network software system provided by the embodiment of the present application;

[0060] Figure 3 It is a schematic flowchart of a software design method for a space-based network intelligent satellite provided by the embodiment of the present application;

[0061] Figure 4 It is a schematic flowchart of the process for generating reusable components provided by the embodiment of the present application;

[0062] Figure 5 It is a schematic flowchart of the process for constructing a reusable component library provided by the embodiment of the present application;

[0063] Figure 6 It is a schematic diagram of the structure of the satellite demonstration system provided by the embodiment of the present application;

[0064] Figure 7Schematic diagram of the software bus structure provided by the embodiments of the present application;

[0065] Figure 8 Schematic diagram of the software data generation process provided by the embodiments of the present application;

[0066] Figure 9 Schematic diagram of the software application system development process provided by the embodiments of the present application;

[0067] Figure 10 Schematic diagram of the structure of a software design system for a space-based network intelligent satellite provided by the embodiments of the present application. Detailed implementation manners

[0068] The present application will be described in detail below with reference to the accompanying drawings and in conjunction with the embodiments. It should be noted that, without conflict, the embodiments in the present application and the features in the embodiments may be combined with each other.

[0069] In the embodiments of the present application, the space-based network, also known as the space-based information network, refers to a communication network constructed by using satellites or other spacecraft located in the Earth's orbit. As Figure 1 shown, the space-based network may include a space-based backbone network, a space-based access network, a ground-based node network, etc. The space-based network can be interconnected with the terrestrial Internet and mobile communication networks to achieve communication connections and data interactions.

[0070] The operation of the space-based network depends on hardware devices and software systems. Among them, the hardware devices include data relay satellites operating in the Geosynchronous Earth Orbit (GEO) and low Earth orbit (LEO) satellite systems, as well as communication devices deployed on the ground. Through satellite systems such as relay, remote sensing, communication, and navigation positioning, and high-altitude platforms, aircraft, ground network devices, etc., a service carrier of the space-based network is formed.

[0071] The software system includes multiple software modules with specific functions. The software modules can be divided into different levels according to their functions. For example, as Figure 2 shown, the software system may include a functional application layer, a basic application layer, and an operating system layer, etc. Among them, the operating system layer can run the iSAT satellite microkernel operating system and establish a data connection relationship with the basic application layer by setting standardized interfaces. For example, data can be transmitted between the operating system layer and the basic application layer based on the Action Process Object Schema (APOS), enabling the operating system layer to call and control the applications in the basic application layer.

[0072] The basic application layer refers to the layer that provides basic services and functions in the space-based network architecture. The services and functions provided by the basic application layer are the foundation for building more advanced applications and services. Therefore, in some embodiments, the basic application layer may include software components of multiple basic applications. For example, the basic application layer may include a process management component, a communication interface component, a clock component, a bus management component, a telecommand and telemetry component, etc.

[0073] The functional application layer refers to the layer that is above the basic application layer in the space-based network architecture and directly faces users or provides specific business functions. The functional application layer may include application programs and services that implement specific business logics and user interactions. Functional modules can be deployed in the functional application layer according to specific functional requirements. For example, the functional application layer includes functional module 1, functional module 2,..., functional module N, etc.

[0074] In some embodiments, the software applications involved in the software system can be assembled from one or more software components. A software component is a functionally clear part of a software system that can be independently deployed and replaced. A software component can encapsulate data and the methods for processing data, hiding the internal implementation details from the outside. By defining the interface of the software component, the input and output parameters and behaviors of the software component are defined to enable the software component to interact with the outside world.

[0075] Software components can be classified and stored in a component library and called from the component library according to specific design requirements. Among them, the component library is an infrastructure that supports software reuse and a management facility for software assets. The component library can provide functions such as description, classification, storage, and retrieval of software components. The component library can display the component functions through component descriptions. A component description is a description information stored in a database. Before using a component, the functions implemented by the component, the ways of the interfaces, etc. can be known through the component description. The component description may include the basic information of the component, the classification information of the component, and the interface information of the component, etc.

[0076] Components in the component library can be stored, managed, retrieved, and used according to component classifications. A component library can adopt multiple classification methods to meet the specific needs of different fields. In practical applications, component retrieval can be performed in the component library through requirement information and component descriptions.

[0077] To improve the generality of the space-based information network, in this embodiment, a software design method for an intelligent satellite of a space-based network is provided, as Figure 3 shown, and the method includes:

[0078] S101. Obtain design requirement data.

[0079] When performing software design, users can input design requirement data according to the functional requirements of the space-based network intelligent satellite during a specific period. Among them, the design requirement data can include the functional items specified for a specific period and the corresponding execution order of each functional item, etc. For example, users can specify design requirement items such as navigation, radio frequency communication, temperature and humidity detection, image detection, wireless communication, etc. in the design requirement data.

[0080] The design requirement data can be presented as a file in a specific format. For example, the design requirement data is a table file generated according to the input on the design interface. When performing software design, users can execute interaction actions based on the control interface of the space-based information network to specify design requirements. Then, the control system of the space-based information network can convert the design requirements into functional items according to the user's interaction actions, and determine the corresponding execution order of each functional item according to the execution order of the user's interaction actions and the default execution order of the functional items. Then, generate a requirement table based on the functional items to obtain the design requirement data.

[0081] In some embodiments, to facilitate users to input design requirement data, a requirement analysis process can be built into the operating system of the space-based information network. The requirement analysis process is used to perform analysis and processing on input signals in multiple modalities such as text, images, audio, and video, and generate design requirement data according to the requirement analysis results. For example, the operating system interface of the space-based information network can be provided with a file upload interface. When performing software design, users can upload files in text format such as project proposals based on the file upload interface. The requirement analysis process can call a natural language processing model and perform natural language processing on the uploaded project proposal through the natural language processing model to extract the required functional items and the corresponding execution order from the project proposal, and then generate a requirement table based on the functional items to obtain the design requirement data.

[0082] For input signals in modalities such as images, audio, and video, the requirement analysis process can call the processing model corresponding to the modality signal to perform corresponding signal processing to extract the design requirement items and the corresponding execution order from the input signal. For example, when the user inputs an audio-form input signal by voice, the requirement analysis process can call voice recognition models such as Whisper, SpeechRecognition, SenseVoice, etc. to first convert the audio-form input signal into text form, and then perform natural language processing based on the natural language processing model to extract the design requirement items and the corresponding execution order from the project proposal.

[0083] S102. Generate an application architecture according to the design requirement data.

[0084] After obtaining the design requirement data, the data processing device of the space-based information network can generate an application architecture according to the design requirement data. Among them, the Application Architecture, also known as the application framework, refers to the structure of a software system. The application architecture can define the organization and arrangement of components in the software system, as well as the interaction methods between them.

[0085] The application architecture can divide the software system into different software components. The software components involved in the application architecture can be services, modules, classes, etc. Multiple software components can cooperate with each other to achieve the overall function of the software system. The application architecture can also describe how different software components communicate and cooperate with each other, including data flow, control flow, and possible synchronization mechanisms, etc.

[0086] In addition, the application architecture can also define the technology stack used when building the software system, including programming languages, frameworks, databases, middleware, etc. Build a deployment view by describing the deployment method of the software system in the hardware and network environment, such as the deployment view of the software system for servers, network topologies, and deployment units, etc. The application architecture can show the behavior of the software system during operation, including the life cycle, state, and dynamic interaction during operation of the components. For software systems with data management requirements, the storage, access, and management methods of data in the software system can also be defined through the application architecture. For example, data models, database designs, and data flows, etc.

[0087] For different application fields, the application architecture can be presented in different forms. For example, for navigation function items, there are significant differences in aspects such as the type, accuracy requirements, and transmission methods of navigation data in the field of intelligent satellite autonomous navigation and in the field of providing navigation functions for ground users. Therefore, when determining the application architecture, it is necessary to first determine the application field of the software system according to the design requirement data, and then determine the specific application architecture according to the application field. That is, the application architecture can be generated according to the design requirement data and the reference architecture of the field to which the design requirement data belongs.

[0088] The reference architecture is determined by analyzing the architectures of multiple software systems in the same field, and then according to the similar or identical parts of the corresponding architectures of the multiple software systems. Such as Figure 4As shown, in order to determine the reference architecture for a specific application domain, in some embodiments, the control device of the space-based information network may obtain application sample data. Among them, the application sample data includes application samples for multiple application domains. Then, extract the alternative components in the multiple application samples, that is, extract the common software parts and / or similar software parts in the multiple application samples. Then, extract the application architecture of the target domain according to the alternative components, and set the items that can be trimmed and the items that can be expanded for the application architecture to generate the reference architecture.

[0089] That is, the control device of the space-based information network can collect representative application samples in the domain and analyze the common parts or similar parts in the application samples, so as to extract the application architecture of the domain. On the basis of domain analysis, construct the reference architecture of the domain. The constructed reference architecture can be trimmed and expanded and can be reused by the applications in the domain.

[0090] S103. According to the application architecture, call the target component from the reusable component library.

[0091] After determining the application architecture, the control device of the space-based information network can perform component matching in the reusable component library based on the application architecture, so as to call the target component from the reusable component library according to the application architecture. Among them, the reusable component library can store multiple reusable components classified according to the application domain. The target component is at least one reusable component in the reusable component library.

[0092] After determining the application architecture, the control device can read the software components required for designing the software system from the application architecture and call the corresponding software components in the reusable component library, that is, call the target components. For example, when designing a satellite demonstration software system, through the analysis of the control operation modes of modules such as UM220, RFID, Zedboard, DHT11, and cameras, combined with the domain model and the reference architecture, analyze the reusable components of the software system, and determine that the software components that need to be called include the UM220 function module, the RFID function module, the Zedboard function module, the DHT11 function module, the camera function module, and the wireless communication function module. Then, according to the determined software components that need to be called, call the target components from the reusable component library.

[0093] In order to be able to call the target components, before software design, it is necessary to establish a reusable component library, that is, generate reusable components for multiple domains according to the application samples. Among them, the reusable component is a software component constructed by localizing the change points after determining the change points through variability analysis of the application samples, and the reusable component includes a standardized interface.

[0094] Such as Figure 5As shown, in some embodiments, the control device may first obtain application sample data in multiple application fields, and then extract alternative components from the multiple application samples, that is, extract the common software parts and / or similar software parts in the multiple application samples, and find the change points of the alternative components in different application samples, so as to generate reusable components according to the change points.

[0095] The control device of the space-based information network can collect representative application samples in the field, analyze the common parts or similar parts in the applications, and extract the application architecture of the field. On the basis of field analysis and the field benchmark architecture model, in order to improve the generality of the components, the control device can also find the change points of the components in different applications. By means such as setting parameters and inheritance, localize its variable parts, laying a foundation for the specialization and modification of components in component integration.

[0096] In some embodiments, in order to generate reusable components, the control device may obtain configuration parameters, where the configuration parameters are used to generalize the change points into common points, and then according to the configuration parameters, limit the change points in the alternative components to the interval corresponding to the configuration parameters to generate reusable components.

[0097] When constructing reusable software components, the change points of the components in different application samples can be found to determine where the components need to change in different application samples. Among them, the change points can be one or a combination of parameter change points, function change points, performance change points, and interaction mode change points.

[0098] After determining the change points, the change points can be generalized by setting parameters. For example, according to the common variables specified by the set parameters, the determined quantity corresponding to the change point can be modified into a common variable. By providing configuration parameters for the component, its behavior or function can be adjusted without changing the component code. For example, for a database connection component, the type of the connected database, the server address, the port number, etc. can be configured by setting parameters. By setting parameters, the change points of the component in different applications can also be localized, that is, the changed parts can be restricted to a specific area or level to reduce the impact on other parts.

[0099] In some embodiments, the control device may create a new class component according to the change points, and the new class component inherits the attributes and processing methods of the alternative component, and then set the limit interval of the change points in the new class component to generate reusable components.

[0100] After determining the change points, new class components can also be created through inheritance. That is, based on object-oriented programming, the control device can, after generating alternative components, extract the corresponding attribute information and processing method information of the alternative components, and then create new class components through inheritance, and set the extracted attribute information and processing method information to the created new class components, so that the created new class components (subclasses) can inherit the attributes and processing methods of the alternative components (parent classes) corresponding to the change points. Then, set the limit interval of the change points in the new class components to localize the variable part to generate reusable components, and then meet specific requirements by adding or overriding the change points.

[0101] In addition to setting parameters and inheritance, the control device can also use other means to localize the variable part of the alternative components. For example, other means can include using design patterns and technologies such as interfaces, abstract classes, factory patterns, and strategy patterns to achieve the flexibility and configurability of the components.

[0102] By means such as setting parameters or inheritance, the complexity of the reusable components can be reduced, making the components easier to manage and maintain. When the change points are localized, the modification of the software components will not affect other parts of the entire system, thus improving the stability and maintainability of the software system. It is also possible to identify and isolate the parts that may change in the components and use technical means such as parameterization and inheritance to implement these changes to improve the flexibility of the software.

[0103] Based on generalization and variability analysis, the control device can also reconstruct the components based on the analysis results to make them reusable components. When constructing components, ideas and principles such as abstraction, stepwise refinement, information hiding, functional independence, and structured programming can be followed. Since object-oriented methods have characteristics such as encapsulation and inheritance and can support component reuse, object-oriented programming methods can be used in the embodiments of this application to generate reusable components.

[0104] In some embodiments, after generating the reusable components, a standardized interface can also be set for the reusable components. Among them, the standardized interface includes a data reading and writing interface and a communication interface. The data reading and writing interface can define the data transfer method and format between components. The data reading and writing interface can be used to specify the structure, fields, and transfer method of the data to ensure that data can be correctly transferred and parsed between components, enabling different systems or application programs to be interconnected and exchange data to achieve data sharing and information intercommunication.

[0105] The communication interface can define the control flow and coordination work between components, specify the call relationship, call method, and call parameters between components, and ensure that components can correctly cooperate and control. In the software communication architecture, the communication interface can also define the format, method, and path of data transmission, etc.

[0106] For example, as Figure 6 shown, the UM220 function module, RFID function module, Zedboard function module, and the main control Raspberry Pi can all be set to communicate via serial ports, and data interaction and control are both carried out in the form of file reading and writing. The communication control of the DHT11 function module is based on the Serial Peripheral Interface (SPI), that is, data transmission and control are both carried out through the system's operation on the General Purpose Input / Output (GPIO) interface. The communication and control between the camera function module and the Raspberry Pi are based on the USB VideoClass (UVC) without driver protocol. The control of the camera function module by third-party software can be achieved by calling shell instructions through the system() function, that is, controlling the camera to turn on and off. Among them, the Shell instruction is a series of commands used to execute commands in the Shell environment of the space-based network intelligent satellite operating system. The Shell can be the command-line interface of the operating system, allowing users to interact with the system, and the shell instructions are stored in the form of files in the specified path.

[0107] It can be seen that by setting the data reading and writing interface and the communication interface, the software architecture can be designed based on the design idea centered on data exchange, and the component interface can be simplified to data reception and transmission. By designing standardized interfaces, data interaction between components can be achieved.

[0108] After setting the standardized interface, the generated reusable components can also be tested. That is, in some embodiments, the control device can obtain component test data. Among them, the component test data is the input data of the application field to which the application sample belongs. Then, the component test data is input into the data reading and writing interface of the reusable component, so that the reusable component processes the test data according to the reference architecture and generates a component test result. The component test result is read through the data reading and writing interface of the reusable component to verify the reusable component according to the component test result.

[0109] By conducting component tests on reusable components, it can be ensured that the components meet the expected functions and quality standards. During the test process, after the control device obtains the component test data, it can input the component test data into the data reading and writing interface of the reusable component. The reusable component can then, after receiving the component test data, execute the corresponding data processing function of the current component according to the component test data to generate a component test result for the component test data.

[0110] For example, the component test data may include test cases designed according to the functional requirements of the component, including normal process test cases and abnormal process test cases, etc. On the premise of considering boundary conditions and potential error situations, determine the test data, including static data and dynamic data, to ensure the integrity and validity of the data. Then check out the test version of the component from the reusable component library, build the component and deploy it to the test environment. And through the deployed test environment, run the test cases and record the test results.

[0111] After obtaining the component test results, defect tracking and management can be performed according to the component test results. That is, record the defects found during testing and classify and prioritize them. For reusable components, different levels of test items can be carried out according to the functions of the reusable components. For example, the component test process may include performance testing, security testing, regression testing, etc. Among them, performance testing refers to performing performance testing on the component in terms of response time, throughput, resource usage, etc. to ensure that it meets the performance requirements. Security testing refers to checking the security of the component to ensure that there are no security vulnerabilities. Regression testing is to re-execute the test cases when the component is modified or repaired to ensure that the modification does not introduce new problems.

[0112] After performing tests on the reusable component, the component test results can be read through the data read / write interface of the reusable component to verify the reusable component according to the component test results, that is, to verify whether the reusable component meets the expected functions and quality standards. According to the component test results output by the reusable component, a test report can be written to summarize the test results and problems found, and provide a detailed analysis of the test coverage and test results.

[0113] For example, when test data D T is input into the reusable module M 1 after that, the reusable module M 1 can process the test data D T to generate component test result D TR . After the control device obtains the component test result D 1 through the data read / write interface of the reusable module M TR , it can obtain the expected result D T of the test data D TE , and by comparing the component test result D TR with the expected result D TE . When the component test result D TR is the same as the expected result D TE , it means that the reusable component passes the test, so a test report indicating that the test has passed can be written. And when the component test result D TR is different from the expected result D TEWhen they are different, it means that the reusable component fails the test, so a test report including the failed test can be compiled.

[0114] By testing the components, it can be ensured that the reusable components are robust, reliable, and meet the predetermined quality standards before being stored in the reusable component library. The component testing process helps to discover and fix problems, reducing the cost and complexity of later repairs.

[0115] In some embodiments, after generating the reusable component and performing component testing, the control device can classify and store the reusable components that pass the component testing. To this end, the control device can obtain the reusable component library requirement information, and according to the reusable component library requirement information, encapsulate the reusable component. And use the reusable component library to classify and store the encapsulated reusable component.

[0116] For a space-based information network, the reusable component library requirement information can be set according to the design requirements. The reusable component library requirement information can include the organizational structure, version control, metadata management, dependency management, access control, retrieval mechanism, compatibility, and interoperability of the reusable component during storage. By setting the reusable component library requirement information, the effectiveness and practicality of the reusable component library can be improved, and the efficient reuse and sharing of software components can be achieved.

[0117] After the reusable component passes the component testing, the reusable component can be encapsulated according to the reusable component library requirement information and classified and stored. For example, after abstractly designing the functions and standardized interfaces of the file reading and writing components of the space-based network satellite system, the input of the file reading and writing components can be set as the file path name and the data address of the file to be written / read according to the reusable component library requirement information, and the output can be the file pointer, the number of characters written / read to the file, and the data address of the read file. Among them, the file path name and the file pointer are the basic items of the component, and the rest are default items that can be modified and specialized according to the requirements of the functional component.

[0118] It can be seen that by strictly testing the reusable components, the reliability of the reusable components can be improved. The reusable components that pass the test can be encapsulated according to the requirements of the reusable component library so that the reusable component library can classify, store, and retrieve the reusable components. The packaged components can then be stored in the library for management.

[0119] After constructing the reusable component library in the manner of the above embodiments, when performing software design, the control device can perform component matching in the reusable component library based on the application architecture to call the target component from the reusable component library according to the application architecture.

[0120] In some embodiments, in order to call a target component from a reusable component library according to the application architecture, the control device may extract the requirement type from the design requirement data, and then extract the reusable component corresponding to the requirement type in the reusable component library to obtain the target component.

[0121] For example, the types of the reusable components include one or more combinations of a process management component, an interface communication component, a clock management component, a bus management component, and a telemetry and telecommand component. Among them, the process management component is used to manage software components, dynamically link the components required for tasks, manage and schedule the satellite operation status, and autonomously complete the given tasks. The interface communication component is used to implement the communication of each module node based on the system bus, receive the data information of each node, receive the execution data and inject instructions, and organize the transmission of the satellite operation status and data files.

[0122] The clock management component is used to regularly publish the clock topic and provide external incentives for time synchronization and control of the hardware module and software components. The bus management component is used to complete the sending and receiving of bus data, classify and store the received data, and manage and schedule the bus resources according to the satellite operation status. The telemetry and telecommand component is used to provide the basic function of satellite attitude calculation, determine the satellite attitude and orbit according to the status of each attitude sensor and engineering data, and adjust the satellite operation orbit according to the satellite mission and flight status.

[0123] After obtaining the design requirement data, the requirement type can be extracted from the design requirement data. For example, if the requirement item included in the design requirement data is satellite attitude adjustment. Then the corresponding requirement type can be determined according to this requirement item, that is, satellite attitude control. Furthermore, the target component can be matched in the reusable component library according to the requirement type, that is, match the telemetry and telecommand component that meets the satellite attitude control.

[0124] S104. Assemble the target component through a standardized software bus to generate software data.

[0125] After calling the target component, the control device can assemble the called target component based on the standardized software bus. Among them, the standardized software bus is used to establish a data connection relationship between the standardized interfaces of the target components. The standardized software bus is a standardized mechanism used to realize the communication and data exchange between reusable components in the software architecture. As a standardized and efficient data exchange mechanism, the software bus makes the software architecture have good scalability by reducing the coupling between software components.

[0126] The standardized software bus can define mechanical structure specifications, functional specifications, electrical specifications, data transmission types, etc. Among them, the mechanical structure specifications include unified regulations on module dimensions, bus plugs, bus connectors, and installation dimensions. The functional specifications involve unified regulations on each signal line (pin name), function, and working process of the bus. The electrical specifications include regulations on electrical characteristics such as the effective level, dynamic transition time, and load capacity of each signal line of the bus. The data transmission type is the type of data transmission stipulated by the bus standard, such as single-cycle mode and burst mode, etc.

[0127] By means of the standardized software bus, it can be ensured that the software bus can provide a reliable and efficient communication mechanism in different software and hardware environments. For example, when multiple master modules are connected to the software bus and multiple master modules apply to occupy the bus, bus arbitration can also be carried out to hand over the bus control right to a master module.

[0128] After the target component is assembled through the standardized software bus, the control device can also record the assembly content of the target component and generate software data. Among them, the software data can include the type, quantity, and interface sequence of the target components for component assembly. A data processing device with data processing functions and access rights to the reusable component library can call the target components based on the software data and assemble the target components according to the standardized software bus to obtain a software system with preset functions.

[0129] For example, the application program modules that need to be called corresponding to the design requirement data can include application program module 1, application program module 2,..., application program module N. Then, the system service components called in the reusable component library through the design requirement data can include process management components, communication interface components, clock components, bus management components, and telemetry and remote control components. After calling the corresponding components, based on the software bus, the application program modules and system service components can be assembled to generate software data. The connection methods between each application program module and system service component and the software bus can be recorded in the software data, such as Figure 7 shown. Thus, when any program module in the application program module is executed, the corresponding system service component can be called according to the software data to achieve specific software functions.

[0130] S105. Apply the software data to the space-based network intelligent satellite.

[0131] After generating software data, the control device can apply the software data to the space-based network intelligent satellite, so that the space-based network intelligent satellite can execute corresponding software functions according to the software data. For example, after generating software data, the control device can send the software data to the intelligent satellite. After receiving the software data, the intelligent satellite can deploy corresponding target components according to the software data, so that the intelligent satellite can realize the functions corresponding to the software data within the design cycle.

[0132] It can be seen that by applying the technical solutions provided in the above embodiments, the way of defining software data can be adopted to enable the intelligent satellite to assemble reusable components in different ways based on existing standardized components, so as to obtain software application systems with different functions. Based on the reuse of the system service components in the basic application layer, the design and development of the functional module in the system function application layer are realized, without repeated satellite development and launch, and the coupling between software components is reduced, making the software architecture have good scalability.

[0133] Further, as a refinement and extension of the specific implementation manner of the above embodiments, in order to completely illustrate the specific implementation process of this embodiment, some embodiments of this application also provide a software design method for a space-based network intelligent satellite. The method generates an application architecture according to the design requirement data in the above embodiments. On the basis of generating software data and applying it to the space-based network intelligent satellite by further calling target components from the reusable component library according to the application architecture and assembling the target components through a standardized software bus, special requirements in the design requirement data are specially modified and developed to meet more design requirements. As Figure 8 、 Figure 9 shown, the method includes:

[0134] S201. Extract the specialized requirement items in the design requirement data that do not meet the application architecture.

[0135] In this embodiment, after obtaining the design requirement data, the control device can traverse all the requirement items in the design requirement data, so as to extract the specialized requirement items in the design requirement data that do not meet the application architecture.

[0136] In some embodiments, it is possible to determine the specialization requirement items that do not meet the application architecture based on whether the output functions of the software components in the reusable component library can satisfy the design requirement items in the design requirement data. To this end, the control device can traverse the design requirement items in the design requirement data and match the target component in the reusable component library based on the functional requirement data of the design requirement items. If the target component is matched in the reusable component library, it means that the corresponding design requirement item is not a specialization requirement item, and the target component can be directly called. If the target component is not matched in the reusable component library, it means that the corresponding design requirement item is a specialization requirement item, and the target component cannot be directly called.

[0137] For example, the design requirement data includes requirement item A, requirement item B, and requirement item C. Among them, requirement item A can be directly implemented by the UM220 function module. That is, for requirement A, the reusable component related to the UM220 function module can be directly extracted from the reusable component library. However, for requirement item B and requirement item C, the reusable components that meet the requirements cannot be directly extracted from the reusable component library. Therefore, it can be determined that the specialization requirement items are requirement item B and requirement item C.

[0138] S202. Perform component specialization on the target component according to the specialization requirement item to obtain a specialized component.

[0139] After extracting the specialization requirement items that do not meet the application architecture from the design requirement data, component specialization and modification can be performed on the target component according to the specialization requirement items to obtain a specialized component. For example, the design requirement corresponding to requirement item B is similar to the function of the camera function module, but there are differences in the corresponding data output results, such as different image formats. Therefore, for requirement item B, the reusable component related to the camera function module can be specialized and modified so that the reusable component related to the camera function module can output the data output requirements corresponding to requirement item B, that is, a specialized component is obtained.

[0140] S203. Obtain a newly developed component developed according to the specialization requirement item.

[0141] For specialized requirement items, when the differences between the software components in the reusable component library and the design requirement items are relatively large, components that are not found can be developed for the specialized requirement items to obtain newly developed components. In some embodiments, to develop new software components, the control device can, in the manner described in the above embodiments, develop new software components based on the common parts, similar parts, and change points in the application samples. For example, after failing to find a software component in the reusable component library that is suitable for the specialized requirement item C, representative application samples in the field can be collected, and the common parts or similar parts in the applications can be analyzed to extract the application architecture of the field. Then, the change points of the components in different applications are found, and through means such as parameter setting and inheritance, the variable parts are localized to obtain newly developed components developed according to the specialized requirement items.

[0142] S204. Assemble the target component, the specialized component, and the newly developed component to generate the software data.

[0143] After matching the target component in the reusable component library, obtaining the specialized component by specializing and modifying some of the reusable components, and developing the newly developed component for the specialized requirement item, the target component, the specialized component, and the newly developed component can be assembled based on the standardized software bus to generate software data, so as to apply the software data to the space-based network intelligent satellite.

[0144] In some embodiments, before applying the software data to the space-based network intelligent satellite, the software design result can also be tested, that is, the control device can obtain software test data. The software test data includes original data and expected result data. Then, the component combination corresponding to the software data is called, and the component combination includes the target component and the standardized software bus. By inputting the software test data into the component combination, the test output data output by the component combination for the software test data is obtained.

[0145] Then, the expected result data is compared with the test output data. If the expected result data is the same as the test output data, that is, the software design result passes the test, then the step of applying the software data to the space-based network intelligent satellite is executed. If the expected result data is different from the test output data, that is, the software design result fails the test, a software test report can be generated based on the software data, and the specific requirement items and software controls that fail the test can be marked in the software test report, so that developers can make corresponding adjustments according to the software test report.

[0146] For example, in combination with the software design requirements of the iSAT demonstration system, the software design method of the space-based network intelligent satellite can be used for the integration and testing of each functional module. During the specialization and assembly of the standardized interfaces of the file reading / writing component and the interface communication component, the computing resources, storage resources, and shared data of the system need to be uniformly scheduled and managed to ensure the correctness of the operation of each component and the high efficiency of the operation of the system software.

[0147] Furthermore, as a specific implementation of the software design method of the space-based network intelligent satellite in the above embodiment, the embodiment of the present application provides a software design system for a space-based network intelligent satellite, as Figure 10 shown. This system includes:

[0148] A requirements input module for obtaining design requirements data;

[0149] An architecture module for generating an application architecture according to the design requirements data, where the application architecture is generated according to the design requirements data and the reference architecture in the field to which the design requirements data belongs;

[0150] A component calling module for calling target components from a reusable component library according to the application architecture, where the target components are at least one reusable component in the reusable component library; the reusable components are software components constructed by localizing the variable points after performing variability analysis on application samples; the reusable components include standardized interfaces;

[0151] A component assembly module for assembling the target components through a standardized software bus to generate software data, where the standardized software bus is used to establish a data connection relationship between the standardized interfaces of the target components;

[0152] A software application module for applying the software data to the space-based network intelligent satellite.

[0153] By applying the technical solutions provided in the above embodiments, a software design system for a space-based network intelligent satellite provided by an embodiment of the present application can generate an application architecture according to the design requirement data after obtaining the design requirement data. Then, according to the application architecture, target components are called from the reusable component library, and the target components are assembled through a standardized software bus to generate software data and apply it to the space-based network intelligent satellite. Among them, the target component is a reusable component constructed by localizing the change points after performing variability analysis on the application samples in the reusable component library, and includes a standardized interface. The system can design the software architecture based on the design idea centered on data exchange, simplify the component interface into the form of data reading, writing and communication. Each software component is unified to the standardized software bus through the standardized interface to realize data interaction between components. And by using the standardized and efficient data exchange mechanism, the coupling between software components is reduced, so that the software architecture has good scalability and improves the generality of the space-based information network.

[0154] It should be noted that for other corresponding descriptions of each functional unit involved in the software design system for a space-based network intelligent satellite provided by an embodiment of the present application, reference can be made to the corresponding descriptions in the software design method for a space-based network intelligent satellite provided in the above embodiments, which will not be elaborated here.

[0155] An embodiment of the present application further provides a computer device, which can specifically be a personal computer, a server, a network device, etc. The computer device includes a bus, a processor, a memory, and a communication interface, and may further include an input / output interface and a display device. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program, and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the computer device is used to store location information. The network interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, the steps in the method embodiments are implemented.

[0156] Those skilled in the art can understand that the structure of the above computer device is only a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components, or combine some components, or have different component arrangements.

[0157] In one embodiment, a computer-readable storage medium is further provided. The computer-readable storage medium may be non-volatile or volatile, and stores a computer program. When the computer program is executed by the processor, the steps in the above method embodiments are implemented.

[0158] In one embodiment, a computer program product is further provided, including a computer program which, when executed by a processor, implements the steps in the above method embodiments.

[0159] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data for analysis, stored data, displayed data, etc.) involved in this application are all information and data that have been authorized by the user or fully authorized by all parties.

[0160] Those of ordinary skill in the art can understand that all or part of the processes of implementing the methods in the above embodiments can be completed by instructing relevant hardware through a computer program. The computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the above method embodiments.

[0161] Among them, any reference to a memory, database or other medium used in the embodiments provided in this application may include at least one of non-volatile and volatile memories. Non-volatile memories may include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetoresistive random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc.

[0162] Volatile memories may include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM), etc.

[0163] The databases involved in the embodiments provided in this application may include at least one of relational databases and non-relational databases. Non-relational databases may include distributed databases based on blockchain, etc., without limitation. The processors involved in the embodiments provided in this application may be general-purpose processors, graphics processors, digital signal processors, programmable logic devices, data processing logics based on quantum computing, etc., without limitation.

[0164] The technical features of the above embodiments can be combined arbitrarily. For the sake of brevity of description, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, it should be considered as falling within the scope described in this specification.

[0165] The above-described embodiments merely represent several implementation manners of the present application. The description is relatively specific and detailed, but it should not be construed as a limitation on the scope of the patent of the present application. It should be noted that for those of ordinary skill in the art, without departing from the concept of the present application, several modifications and improvements can still be made, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the appended claims.

Claims

1. A software design method for a space-based network intelligent satellite, characterized in that: The method comprises: Obtain design requirement data; Generate an application architecture according to the design requirement data, wherein the application architecture is generated according to the design requirement data and a benchmark architecture of the field to which the design requirement data belongs; According to the application architecture, a target component is called from a reusable component library, wherein the target component is at least one reusable component in the reusable component library; the reusable component is a software component constructed by localizing the change points after performing variability analysis on the application sample to determine the change points; the reusable component includes a standardized interface; Assembling the target components through a standardized software bus to generate software data, wherein the standardized software bus is used to establish a data connection relationship between standardized interfaces of the target components; The software data is applied to space-based network intelligent satellites.

2. The method according to claim 1, characterized in that The method further comprises: Acquire application sample data, wherein the application sample data includes application samples for multiple application fields; Extracting candidate components from a plurality of the application samples, wherein the candidate components are common software parts and / or similar software parts in the plurality of the application samples; Extract the application architecture of the target domain based on the candidate components; Setting reducible items and extensible items for the application architecture to generate the benchmark architecture; Finding the change points of the candidate components in different application samples; A reusable component is generated according to the change point.

3. The method according to claim 2, characterized in that Generating a reusable component according to the change point includes: Acquire configuration parameters, where the configuration parameters are used to generalize the change point into a common point; According to the configuration parameters, the change points in the candidate components are limited to the intervals corresponding to the configuration parameters to generate reusable components.

4. The method according to claim 2, characterized in that: Generating a reusable component according to the change point includes: Creating a new class component according to the change point, wherein the new class component inherits the properties and processing method of the candidate component; A restriction interval of the change point in the new class component is set to generate a reusable component.

5. The method according to claim 2, characterized in that: The method further comprises: Setting a standardized interface for the reusable component, wherein the standardized interface includes a data reading and writing interface and a communication interface; Obtaining the reusable component library requirement information; Encapsulating the reusable component according to the reusable component library requirement information; The reusable component library is used to classify and store the encapsulated reusable components.

6. The method according to claim 1, characterized in that The method further comprises: Acquire component test data, where the component test data is input data of the application field to which the application sample belongs; Inputting the component test data into the data read / write interface of the reusable component so that the reusable component processes the test data according to the benchmark architecture to generate a component test result; The component test result is read through the data reading and writing interface of the reusable component to verify the reusable component according to the component test result.

7. The method according to claim 1, characterized in that The types of the reusable components include: one or more combinations of process management components, interface communication components, clock management components, bus management components, and remote control and telemetry components; calling the target component from the reusable component library according to the application architecture includes: Extracting a requirement type from the design requirement data; In the reusable component library, the reusable component corresponding to the requirement type is extracted to obtain the target component.

8. The method according to claim 1, characterized in that The method further comprises: Extracting specialized requirement items that do not satisfy the application architecture from the design requirement data; According to the specialization requirement item, performing component specialization on the target component to obtain a specialized component; Acquire a new development component developed according to the specialized requirement item; The target component, the specialized component, and the newly developed component are assembled to generate the software data.

9. The method according to claim 1, characterized in that: The method further comprises: Acquire software test data, wherein the software test data includes original data and expected result data; Calling a component combination corresponding to the software data, wherein the component combination includes the target component and the standardized software bus; Inputting the software test data into the component combination to obtain test output data output by the component combination for the software test data; If the expected result data is the same as the test output data, the step of applying the software data to the space-based network intelligent satellite is performed.

10. A software design system for a space-based network intelligent satellite, characterized in that: The system comprises: Demand input module, used to obtain design demand data; An architecture module, used to generate an application architecture according to the design requirement data, wherein the application architecture is generated according to the design requirement data and a benchmark architecture in the field to which the design requirement data belongs; A component calling module is used to call a target component from a reusable component library according to the application architecture, wherein the target component is at least one reusable component in the reusable component library; the reusable component is a software component constructed by localizing the change points after performing variability analysis on the application sample to determine the change points; the reusable component includes a standardized interface; A component assembly module, used for assembling the target component through a standardized software bus to generate software data, wherein the standardized software bus is used for establishing a data connection relationship between standardized interfaces of the target component; The software application module is used to apply the software data to the space-based network intelligent satellite.