A model development-based software architecture generation method and device, a terminal, and a storage medium
By using a model-based development approach to automatically generate software architectures, the problems of low efficiency and low reliability in manual creation are solved, achieving efficient and reliable software architecture generation that is suitable for the rapid iteration needs of electric vehicles.
Patent Information
- Application Number
- CN202210623756.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-06-02
- Publication Date
- 2025-12-30
- Estimated Expiration
- 2042-06-02
AI Technical Summary
In existing technologies, manually creating software architectures is inefficient, has a long development cycle, and low reliability, making it difficult to meet the software version iteration requirements, especially during the period of rapid development of electric vehicles.
By using a model-based development approach, functional modules are divided, interface attributes and interaction relationships are defined, a software implementation model framework is automatically generated, and interface association matching is performed to generate an architecture code file package.
It improves the efficiency of software architecture creation, shortens the development cycle, reduces human error, enhances software reliability, and meets the requirements of rapid iteration.
Smart Images

Figure CN115220699B_ABST
Abstract
Description
Technical Field
[0001] This invention discloses a software architecture generation method, apparatus, terminal, and storage medium based on model development, belonging to the field of computer technology. Background Technology
[0002] With the rise of new energy vehicles, the "new four modernizations" trend of intelligence, connectivity, electrification, and automation is driving a transformation in automotive electronic architecture. Software has become crucial in defining vehicles, and in the future, software will be a key factor in the competitiveness of major OEMs. The current electric vehicle market demand is growing rapidly, with an increasing number of models, placing higher demands on the reliability of software architecture. In the future era of software-defined vehicles, software architecture will be one of the key elements in the evolution of electronic and electrical architectures. Currently, model-based software architecture creation is mostly done manually. However, with numerous interfaces for different functional modules, manual creation is prone to errors, inefficient, and time-consuming due to the need to configure many parameters. Especially during the current period of rapid development of electric vehicles, the increasing number of models requires faster software version iterations. Manual creation not only fails to solve these problems, but human error is also a significant factor affecting software quality and development cycles. Therefore, a method for rapidly creating software architectures is needed to address these issues. Summary of the Invention
[0003] To address the shortcomings of existing technologies, this invention proposes a software architecture generation method, apparatus, terminal, and storage medium based on model development, thereby solving the problems of low efficiency, long development cycle, and low software reliability associated with manually creating software architectures based on models.
[0004] The technical solution of the present invention is as follows:
[0005] According to a first aspect of the present invention, a software architecture generation method based on model development is provided, comprising:
[0006] When a software architecture generation request is received, the software-related data in the request is obtained, and the software-related data is divided into several initial functional modules corresponding to different functional requirements and corresponding principles.
[0007] By defining the signal input / output interfaces of several initial functional modules and determining the interface attributes and interface interaction relationships, several functional modules to be built are obtained.
[0008] The software implementation model framework is obtained by processing and configuring several functional modules to be built.
[0009] An empty architecture model conforming to the attributes of an open automotive system architecture is obtained based on several functional modules to be built, and associated with the software implementation model framework.
[0010] The interfaces of the software implementation model framework and the empty architecture model are matched and associated to obtain the architecture code file package of the software architecture.
[0011] Preferably, the interface attributes include at least: the data type, maximum value, minimum value, dimension, unit, signal description, input signal interface, and output signal interface of the signal interface.
[0012] Preferably, the step of processing and configuring several of the functional modules to be built to obtain the software implementation model framework includes:
[0013] Obtain the name and empty model frame of the functional module to be built, and perform name matching on the empty model frame according to the name of the functional module to be built;
[0014] Obtain the interface name and interface attributes of the functional module to be built, create external input interfaces and output interfaces for the interface names of the functional module to be built, and create internal input interfaces and output interfaces for the interface names of the empty model framework functional modules, and associate them with the external input interfaces and output interfaces respectively.
[0015] Configure the internal input and output interfaces according to the interface attributes described above;
[0016] Obtain the parameters of the functional modules to be built, and configure the empty model framework functional modules according to the parameters of the functional modules to be built;
[0017] Repeat the above process steps until all the functional modules to be built are configured to obtain the software implementation model framework.
[0018] Preferably, the process of associating and matching the interfaces of the software implementation model framework and the empty architecture model includes:
[0019] The association matching mode is determined based on the toolchain configuration, which includes: the toolchain supports interfaces with the same name and the toolchain does not support interfaces with the same name.
[0020] Association matching is performed based on the association matching pattern, the software implementation model framework, and the interface of the empty architecture model.
[0021] Preferably, when the toolchain is configured to support interfaces with the same name, the association matching based on the association matching mode, the software implementation model framework, and the interface of the empty architecture model includes:
[0022] Obtain the names of the input and output interfaces of several functional modules to be built;
[0023] For each input interface name, a corresponding output interface is found. The location is achieved by matching the corresponding output interface with the corresponding functional module name of the input interface. This process continues until several input interfaces correspond to the corresponding output interfaces, thereby automatically matching the interfaces of the associated functional modules to obtain the architecture code file package of the software architecture.
[0024] Preferably, when the toolchain is configured to not support interfaces with the same name, the association matching based on the association matching mode, the software implementation model framework, and the empty architecture model interfaces includes:
[0025] Obtain the input interface and output interface names of several functional modules to be built, and perform heteronymization on the several input interface names to obtain several heteronymized input interface names;
[0026] Identify keywords in the interface names of all heteronymous input signals and locate keywords in the heteronymous interface names;
[0027] The keywords in each heteronymed input interface name are identified and searched to find the output interface with the same name. The location is achieved by matching the output interface with the functional module name corresponding to the heteronymed input interface. This process continues until several heteronymed input interfaces correspond to the output interfaces, thereby automatically matching the interfaces of the associated functional modules to obtain the architecture code file package of the software architecture.
[0028] According to a second aspect of the present invention, a software architecture generation apparatus based on model development is provided, comprising:
[0029] The data segmentation module is used to obtain software-related data from the software architecture generation request data when the software architecture generation request data is received, and to divide the software-related data into several initial functional modules corresponding to different functional requirements and corresponding principles.
[0030] The interface management module is used to define the signal input and output interfaces of several initial functional modules and determine the interface attributes and interface interaction relationships to obtain several functional modules to be built.
[0031] The model framework creation module is used to process and configure several functional modules to be built to obtain the software implementation model framework.
[0032] The software architecture creation module is used to obtain an empty architecture model that conforms to the attributes of an open automotive system architecture based on several functional modules to be built, and associate it with the software implementation model framework.
[0033] The interaction association module is used to associate and match the interfaces of the software implementation model framework and the empty architecture model to obtain the architecture code file package of the software architecture.
[0034] Preferably, the software architecture creation module is used for:
[0035] Obtain the names and empty model frames of several functional modules to be built, and perform name matching on the empty model frames according to the names of several functional modules to be built;
[0036] Obtain the interface names and interface attributes of several functional modules to be built, create several external input interfaces and output interfaces for the interface names of several functional modules to be built, create several internal input interfaces and output interfaces for the interface names of several functional modules in the empty model framework, and associate them with several external input interfaces and output interfaces respectively.
[0037] Configure several internal input and output interfaces according to several interface attributes;
[0038] Obtain the parameters of several functional modules to be built, and configure the several functional modules of the empty model framework according to the parameters of the several functional modules to be built to obtain the software implementation model framework.
[0039] According to a third aspect of the present invention, a terminal is provided, comprising:
[0040] One or more processors;
[0041] Memory used to store one or more processor-executable instructions;
[0042] The one or more processors are configured as follows:
[0043] Perform the method described in the first aspect of the embodiments of the present invention.
[0044] According to a fourth aspect of the present invention, a non-transitory computer-readable storage medium is provided, wherein when instructions in the storage medium are executed by a processor of a terminal, the terminal is enabled to perform the method described in the first aspect of the present invention.
[0045] According to a fifth aspect of the present invention, an application product is provided that, when the application product is running on a terminal, causes the terminal to execute the method described in the first aspect of the present invention.
[0046] The beneficial effects of this invention are as follows:
[0047] This patent provides a software architecture generation method, device, terminal, and storage medium based on model development. It can create corresponding implementation model frameworks according to the requirements of different functional modules and implement the corresponding parameter configuration requirements. Based on the implementation model framework, it automatically generates software architecture, associates different functional modules, and automatically matches interfaces with interactive relationships between different functional modules. This not only greatly improves work efficiency and shortens the development cycle, meeting the requirements of rapid software version iteration, but also reduces problems introduced by human operation and improves the reliability of software architecture through automatic creation.
[0048] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit the invention. Attached Figure Description
[0049] Figure 1 This is a flowchart illustrating a model-based software architecture generation method according to an exemplary embodiment;
[0050] Figure 2 This is a partial flowchart illustrating a model-based software architecture generation method according to an exemplary embodiment;
[0051] Figure 3 This is a partial flowchart illustrating a model-based software architecture generation method according to an exemplary embodiment;
[0052] Figure 4 This is a schematic block diagram illustrating the structure of a model-based software architecture generation device according to an exemplary embodiment;
[0053] Figure 5 This is a schematic block diagram of a terminal structure according to an exemplary embodiment. Detailed Implementation
[0054] The technical solution of the present invention will now be clearly and completely described with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0055] In the description of this invention, it should be noted that the terms "center", "upper", "lower", "left", "right", "vertical", "horizontal", "inner", "outer", etc., indicate the orientation or positional relationship based on the orientation or positional relationship shown in the accompanying drawings. They are only for the convenience of describing this invention and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation. Therefore, they should not be construed as limitations on this invention.
[0056] This invention provides a model-based software architecture generation method, which is implemented by a terminal, such as a desktop computer or a laptop computer, and includes at least a CPU.
[0057] Example 1
[0058] Figure 1 This is a flowchart illustrating a model-based software architecture generation method according to an exemplary embodiment. The method is used in a terminal and includes the following steps:
[0059] Step 101: When software architecture generation request data is received, obtain software-related data from the software architecture generation request data, and divide the software-related data into several initial functional modules corresponding to different functional requirements and corresponding principles. The specific content is as follows:
[0060] When a software architecture generation request is received, software-related data is retrieved from it. This data is then divided according to the overall functional requirements and relevant principles of the software to reduce interdependencies between different modules. This prevents changes in one module from affecting other modules, and clarifies the timelines and other requirements for different modules.
[0061] Step 102 involves defining signal input / output interfaces and determining interface attributes and interaction relationships for several initial functional modules to obtain several functional modules to be built. The specific details are as follows:
[0062] First, define the signal input / output interfaces for several initial functional modules. Then, determine the interface attributes for the signal input / output interfaces defined for these initial functional modules. The interface attributes must include at least: the data type, maximum value, minimum value, dimension, unit, signal description, input signal interface, and output signal interface.
[0063] After several initial functional modules have defined the interface attributes of the signal input and output interfaces, the interface interaction relationships are then determined. The interaction relationships of the signal interfaces are represented by the destination of the output signals of different functional modules and the source of the input signals of different functional modules. Here, the actual signal flow and the above interface definitions are used for verification.
[0064] Step 103: Process and configure the several functional modules to be built to obtain the software implementation model framework, such as... Figure 2 As shown, the specific content is as follows:
[0065] Get the name of the functional module to be built and the empty model frame. Perform name matching on the empty model frame based on the name of the functional module to be built, and start counting from 1.
[0066] Obtain the interface name and interface attributes of the functional modules to be built. The input and output interfaces of each functional module need to be extracted separately, and the attributes of each interface need to be extracted synchronously, including but not limited to interface description, data type, dimension, maximum value, minimum value, unit, etc., and the number of input interfaces and output interfaces should be recorded separately.
[0067] For the interface names of the functional modules to be built, create external input interfaces and output interfaces. For the interface names of the functional modules in the empty model framework, create internal input interfaces and output interfaces and associate them with the external input interfaces and output interfaces respectively, so as to facilitate the addition and maintenance of subsequent functional logic.
[0068] Configure several internal input and output interfaces according to the interface attributes. This is used to restrict the interface attributes and to verify and check the signal content of the functional module during subsequent testing and compilation.
[0069] Obtain the parameters of the functional modules to be built. These parameters include, but are not limited to, the module's runtime, hardware device type, and model reference count. Configure the empty model framework functional modules according to the parameters of the functional modules to be built.
[0070] Repeat the above steps, incrementing the count by 1, until the count reaches the total number of functional modules. Then, repeat the above process until all functional modules to be built are configured to obtain the software implementation model framework.
[0071] Step 104: Obtain an empty architecture model that conforms to the attributes of an open automotive system architecture based on several functional modules to be built, and associate it with the software implementation model framework.
[0072] Step 105: Associate and match the interfaces of the software implementation model framework and the empty architecture model to obtain the architecture code file package of the software architecture, such as... Figure 3 As shown, the specific content is as follows:
[0073] The association matching mode is determined based on the toolchain configuration, which includes: toolchain supports interfaces with the same name and toolchain does not support interfaces with the same name. If the toolchain supports interfaces with the same name, and the output interface of a functional module has the same name as the input interface of a related functional module, the output interface name is directly referenced. If the toolchain does not support interfaces with the same name, and the output interface of a functional module has the same name as the input interface of a related functional module, then the interface name needs to be differentiated by adding a corresponding suffix, such as adding an underscore followed by the input functional module name after the interface name.
[0074] Then, association matching is performed based on the association matching pattern, the software implementation model framework, and the interface of the empty architecture model.
[0075] The following describes the steps for associating interfaces based on the association matching mode, software implementation model framework, and empty architecture model when the toolchain is configured to support interfaces with the same name, i.e., the output interface of a functional module and the input interface of an associated functional module can use the same interface name:
[0076] Obtain the input and output interface names of several functional modules to be built, and record the total number as j and k respectively. The difference between this and step 103 above is that step 103 extracts the names for each functional module individually to facilitate adding interfaces, while here it is necessary to extract the input and output interface names of all functional modules to facilitate automatic matching of signals from associated modules in the future.
[0077] The name of the functional module corresponding to each input and output interface is recorded to ensure accurate location during subsequent automatic matching. For each input interface name, starting from the first to the kth, a search is performed to find the corresponding output interface. The output interface with the same name is then matched with the corresponding functional module name of the input interface to achieve location. This process is repeated j times until several input interfaces correspond to output interfaces with the same name, thus automatically matching the interfaces of the associated functional modules to obtain the software architecture code file package.
[0078] The following describes the specific steps for interface association matching based on the association matching mode, software implementation model framework, and empty architecture model when the toolchain is configured to not support interface name conflicts, i.e., when the output interface of a functional module and the input interface of an associated functional module cannot use the same interface name:
[0079] Obtain the input and output interface names of several functional modules to be built, and record the total number as n and m respectively. Perform heteronymization on several input interface names to obtain several heteronymized input interface names, ensuring that when an output interface signal is referenced by multiple modules, no two interfaces will have the same name.
[0080] The functional module names corresponding to each heteronymous input and output interface are recorded to ensure accurate location during subsequent automatic matching. Since interface names are not supported, direct judgment cannot be performed as in the previous steps. Therefore, it is necessary to identify keywords in the interface names of all heteronymous input signals and locate these keywords, extracting the first character of the interface name up to the character preceding the keyword for easier subsequent judgment.
[0081] The keyword in each heteronymed input interface name is identified and searched to find the output interface with the same name. The location is achieved by matching the output interface with the functional module name corresponding to the heteronymed input interface. This process is repeated m times until several heteronymed input interfaces correspond to the output interfaces, thereby automatically matching the interfaces of the associated functional modules to obtain the architecture code file package of the software architecture.
[0082] Example 2
[0083] Figure 4 This is a schematic block diagram illustrating the structure of a model-based software architecture generation apparatus according to an exemplary embodiment, comprising:
[0084] The data partitioning module 210 is used to obtain software-related data from the software architecture generation request data when receiving software architecture generation request data, and to divide the software-related data into several initial functional modules corresponding to different functional requirements and corresponding principles.
[0085] The interface management module 220 is used to define the signal input and output interfaces of several initial functional modules and determine the interface attributes and interface interaction relationships to obtain several functional modules to be built.
[0086] The model framework creation module 230 is used to process and configure several functional modules to be built to obtain a software implementation model framework.
[0087] The software architecture creation module 240 is used to obtain an empty architecture model that conforms to the attributes of an open system architecture for automobiles based on several functional modules to be built, and associate it with the software implementation model framework.
[0088] The interaction association module 250 is used to associate and match the interfaces of the software implementation model framework and the empty architecture model to obtain the architecture code file package of the software architecture.
[0089] Preferably, the software architecture creation module 230 is used for:
[0090] Obtain the names and empty model frames of several functional modules to be built, and perform name matching on the empty model frames according to the names of several functional modules to be built;
[0091] Obtain the interface names and interface attributes of several functional modules to be built, create several external input interfaces and output interfaces for the interface names of several functional modules to be built, create several internal input interfaces and output interfaces for the interface names of several functional modules in the empty model framework, and associate them with several external input interfaces and output interfaces respectively.
[0092] Configure several internal input and output interfaces according to several interface attributes;
[0093] Obtain the parameters of several functional modules to be built, and configure the several functional modules of the empty model framework according to the parameters of the several functional modules to be built to obtain the software implementation model framework.
[0094] Example 3
[0095] Figure 5 This is a structural block diagram of a terminal provided in an embodiment of this application. The terminal can be the terminal in the above embodiments. The terminal 300 can be a portable mobile terminal, such as a tablet computer. The terminal 300 may also be referred to as user equipment, portable terminal, or other names.
[0096] Typically, terminal 300 includes a processor 301 and a memory 302.
[0097] Processor 301 may include one or more processing cores, such as a quad-core processor or an octa-core processor. Processor 301 may be implemented using at least one hardware form selected from DSP (Digital Signal Processing), FPGA (Field-Programmable Gate Array), and PLA (Programmable Logic Array). Processor 301 may also include a main processor and a coprocessor. The main processor, also known as a CPU (Central Processing Unit), is used to process data in the wake-up state; the coprocessor is a low-power processor used to process data in the standby state. In some embodiments, processor 301 may integrate a GPU (Graphics Processing Unit), which is responsible for rendering and drawing the content to be displayed on the screen. In some embodiments, processor 301 may also include an AI (Artificial Intelligence) processor, which is used to handle computational operations related to machine learning.
[0098] Memory 302 may include one or more computer-readable storage media, which may be tangible and non-transitory. Memory 302 may also include high-speed random access memory and non-volatile memory, such as one or more disk storage devices or flash memory devices. In some embodiments, the non-transitory computer-readable storage media in memory 302 is used to store at least one instruction, which is executed by processor 301 to implement a model-based software architecture generation method provided in this application.
[0099] In some embodiments, the terminal 300 may also optionally include: a peripheral device interface 303 and at least one peripheral device. Specifically, the peripheral device includes at least one of: a radio frequency circuit 304, a touch display screen 305, a camera 306, an audio circuit 307, a positioning component 308, and a power supply 309.
[0100] The peripheral device interface 303 can be used to connect at least one I / O (Input / Output) related peripheral device to the processor 301 and the memory 302. In some embodiments, the processor 301, memory 302, and peripheral device interface 303 are integrated on the same chip or circuit board; in some other embodiments, any one or two of the processor 301, memory 302, and peripheral device interface 303 can be implemented on separate chips or circuit boards, which is not limited in this embodiment.
[0101] The radio frequency (RF) circuit 304 is used to receive and transmit RF (Radio Frequency) signals, also known as electromagnetic signals. The RF circuit 304 communicates with communication networks and other communication devices via electromagnetic signals. The RF circuit 304 converts electrical signals into electromagnetic signals for transmission, or converts received electromagnetic signals back into electrical signals. Optionally, the RF circuit 304 includes: an antenna system, an RF transceiver, one or more amplifiers, a tuner, an oscillator, a digital signal processor, a codec chipset, a user identity module card, etc. The RF circuit 304 can communicate with other terminals through at least one wireless communication protocol. This wireless communication protocol includes, but is not limited to: the World Wide Web, metropolitan area networks, intranets, various generations of mobile communication networks (2G, 3G, 4G, and 5G), wireless local area networks, and / or WiFi (Wireless Fidelity) networks. In some embodiments, the RF circuit 304 may also include circuitry related to NFC (Near Field Communication), which is not limited in this application.
[0102] The touch display screen 305 is used to display a UI (User Interface). This UI may include graphics, text, icons, videos, and any combination thereof. The touch display screen 305 also has the ability to collect touch signals on or above its surface. These touch signals can be input as control signals to the processor 301 for processing. The touch display screen 305 is used to provide virtual buttons and / or a virtual keyboard, also known as soft buttons and / or a soft keyboard. In some embodiments, there may be one touch display screen 305, which is located on the front panel of the terminal 300; in other embodiments, there may be at least two touch display screens, respectively located on different surfaces of the terminal 300 or in a folded design; in still other embodiments, the touch display screen 305 may be a flexible display screen, located on a curved or folded surface of the terminal 300. Furthermore, the touch display screen 305 may be configured as a non-rectangular, irregular shape, i.e., a non-rectangular screen. The touch display screen 305 may be made of materials such as LCD (Liquid Crystal Display) or OLED (Organic Light-Emitting Diode).
[0103] Camera assembly 306 is used to acquire images or videos. Optionally, camera assembly 306 includes a front-facing camera and a rear-facing camera. Typically, the front-facing camera is used for video calls or selfies, and the rear-facing camera is used for taking photos or videos. In some embodiments, there are at least two rear-facing cameras, which are any one of a main camera, a depth-sensing camera, and a wide-angle camera, to achieve background blurring by fusion of the main camera and the depth-sensing camera, and panoramic shooting and VR (Virtual Reality) shooting by fusion of the main camera and the wide-angle camera. In some embodiments, camera assembly 306 may also include a flash. The flash can be a single-color temperature flash or a dual-color temperature flash. A dual-color temperature flash is a combination of a warm light flash and a cool light flash, which can be used for light compensation at different color temperatures.
[0104] Audio circuit 307 provides an audio interface between the user and terminal 300. Audio circuit 307 may include a microphone and a speaker. The microphone is used to collect sound waves from the user and the environment, converting the sound waves into electrical signals that are input to processor 301 for processing, or input to radio frequency circuit 304 for voice communication. For stereo sound acquisition or noise reduction purposes, multiple microphones may be used, each located at a different part of terminal 300. The microphone may also be an array microphone or an omnidirectional microphone. The speaker is used to convert electrical signals from processor 301 or radio frequency circuit 304 into sound waves. The speaker may be a conventional diaphragm speaker or a piezoelectric ceramic speaker. When the speaker is a piezoelectric ceramic speaker, it can convert electrical signals not only into audible sound waves but also into inaudible sound waves for purposes such as distance measurement. In some embodiments, audio circuit 307 may also include a headphone jack.
[0105] The positioning component 308 is used to determine the current geographic location of the terminal 300 in order to enable navigation or LBS (Location Based Service). The positioning component 308 can be a positioning component based on the US GPS (Global Positioning System), China's BeiDou system, or Russia's Galileo system.
[0106] The power supply 309 is used to power the various components in the terminal 300. The power supply 309 can be AC power, DC power, a disposable battery, or a rechargeable battery. When the power supply 309 includes a rechargeable battery, the rechargeable battery can be a wired rechargeable battery or a wireless rechargeable battery. A wired rechargeable battery is a battery that is charged via a wired connection, while a wireless rechargeable battery is a battery that is charged via a wireless coil. The rechargeable battery can also be used to support fast charging technology.
[0107] Example 4
[0108] In an exemplary embodiment, a computer-readable storage medium is also provided, on which a computer program is stored, which, when executed by a processor, implements a model-based software architecture generation method as provided in all embodiments of the present application.
[0109] Any combination of one or more computer-readable media may be used. A computer-readable medium can be a computer-readable signal medium or a computer-readable storage medium. A computer-readable storage medium can be, for example—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples (a non-exhaustive list) of computer-readable storage media include: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this document, a computer-readable storage medium can be any tangible medium that contains or stores a program that can be used by or in connection with an instruction execution system, apparatus, or device.
[0110] Computer-readable signal media may include data signals propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals may take various forms, including—but not limited to—electromagnetic signals, optical signals, or any suitable combination thereof. Computer-readable signal media may also be any computer-readable medium other than computer-readable storage media, capable of transmitting, propagating, or transmitting programs for use by or in connection with an instruction execution system, apparatus, or device.
[0111] The program code contained on a computer-readable medium may be transmitted using any suitable medium, including—but not limited to—wireless, wire, optical fiber, RF, etc., or any suitable combination thereof.
[0112] Computer program code for performing the operations of this invention can be written in one or more programming languages or a combination thereof, including object-oriented programming languages such as Java, Smalltalk, and C++, as well as conventional procedural programming languages such as "C" or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0113] Example 5
[0114] In an exemplary embodiment, an application product is also provided, including one or more instructions that can be executed by the processor 301 of the aforementioned device to complete the aforementioned model-based software architecture generation method.
[0115] Although embodiments of the present invention have been disclosed above, they are not limited to the applications listed in the specification and embodiments. It can be applied to various fields suitable for the present invention. Other modifications can be readily made by those skilled in the art. Therefore, without departing from the general concept defined by the claims and their equivalents, the present invention is not limited to the specific details and examples shown and described herein.
Claims
1. A model-based software architecture generation method, characterized by, The application relates to a software architecture generation method and system. When receiving software architecture generation request data, software related data in the software architecture generation request data is acquired, the software related data is divided into a plurality of initial function modules corresponding to different function requirements and corresponding principles; Signal input and output interfaces of the plurality of initial function modules are defined, and interface attributes and interface interaction relationships are determined to obtain a plurality of to-be-built function modules; A software implementation model framework is obtained by processing and configuring the plurality of to-be-built function modules; An empty architecture model conforming to the automobile open system architecture attribute is obtained according to the plurality of to-be-built function modules, and is associated with the software implementation model framework; The interfaces of the software implementation model framework and the empty architecture model are associated and matched to obtain an architecture code file package of the software architecture; The association and matching mode is determined according to the tool chain configuration, the tool chain configuration including tool chain support interface homonymy and tool chain non-support interface homonymy; The interfaces of the software implementation model framework and the empty architecture model are associated and matched according to the association and matching mode; When the tool chain configuration is tool chain support interface homonymy, the association and matching of the interfaces of the software implementation model framework and the empty architecture model according to the association and matching mode includes: The input interface and output interface names of the plurality of to-be-built function modules are acquired; The same-name output interface is obtained by searching each input interface name, and the same-name output interface and the function module name corresponding to the input interface are used to realize positioning, until the plurality of input interfaces are all matched with the same-name output interface, the interface automatic matching of the associated function modules is realized, and the architecture code file package of the software architecture is obtained. The interface attributes at least include the data type, maximum value, minimum value, dimension, unit, signal description, input signal interface and output signal interface of the signal interface.
2. The method of claim 1, wherein, The processing and configuration of the plurality of to-be-built function modules to obtain the software implementation model framework include:
3. The method of claim 2, wherein, The name of the to-be-built function module and the empty model framework are acquired, and the empty model framework is processed according to the name of the to-be-built function module; The interface name and interface attribute of the to-be-built function module are acquired, the external input interface and output interface are respectively created according to the interface name of the to-be-built function module, the internal input interface and output interface of the function module of the empty model framework are created and are respectively associated with the external input interface and output interface; The internal input interface and output interface are configured according to the interface attribute; The parameters of the to-be-built function module are acquired, and the function module of the empty model framework is respectively configured according to the parameters of the to-be-built function module; The above process steps are repeated until the plurality of to-be-built function modules are configured to obtain the software implementation model framework. When the tool chain configuration is tool chain non-support interface homonymy, the association and matching of the interfaces of the software implementation model framework and the empty architecture model according to the association and matching mode includes:
4. The method of claim 3, wherein, Obtaining the input interface and output interface names of the to-be-built function modules, performing aliasing processing on the input interface names to obtain a plurality of aliased input interface names; Identifying the keywords in the interface names of all the aliased input signals, and locating the keywords in the aliased interface names; Identifying the keywords in each of the aliased input interface names to obtain the output interfaces with the same name, and realizing positioning through the function module names corresponding to the output interfaces with the same name and the aliased input interfaces, until the plurality of aliased input interfaces correspond to the output interfaces, realizing automatic matching of the interfaces of the associated function modules to obtain the architecture code file package of the software architecture.
5. A model development based software architecture generation apparatus, characterized by, Comprise: The division data module is used for obtaining software related data in the software architecture generation request data when receiving the software architecture generation request data, dividing the software related data into a plurality of initial function modules corresponding to different function requirements and corresponding principles; The interface management module is used for defining the signal input and output interfaces of the plurality of initial function modules, and determining the interface attributes and interface interaction relationships to obtain a plurality of to-be-built function modules; The model framework creation module is used for processing and configuring the plurality of to-be-built function modules to obtain a software implementation model framework; The software architecture creation module is used for obtaining an empty architecture model conforming to the automobile open system architecture attribute according to the plurality of to-be-built function modules, and associating the empty architecture model with the software implementation model framework; The interactive association module is used for associating and matching the interfaces of the software implementation model framework and the empty architecture model to obtain the architecture code file package of the software architecture; The association and matching of the interfaces of the software implementation model framework and the empty architecture model comprises: Determining the association and matching mode according to the tool chain configuration, wherein the tool chain configuration comprises: tool chain supporting interface aliasing and tool chain not supporting interface aliasing; According to the association and matching mode, the interfaces of the software implementation model framework and the empty architecture model are associated and matched; When the tool chain configuration is tool chain supporting interface aliasing, the association and matching of the interfaces of the software implementation model framework and the empty architecture model according to the association and matching mode comprises: Obtaining the input interface and output interface names of the to-be-built function modules; Finding the output interfaces with the same name according to the input interface names, and realizing positioning through the function module names corresponding to the output interfaces with the same name and the input interfaces, until the plurality of input interfaces correspond to the output interfaces with the same name, realizing automatic matching of the interfaces of the associated function modules to obtain the architecture code file package of the software architecture.
6. The model-based development software architecture generation apparatus according to claim 5, wherein, The software architecture creation module is used for: Obtaining the names of the to-be-built function modules and the empty model framework, and performing aliasing processing on the empty model framework according to the names of the to-be-built function modules; Obtaining the interface names and interface attributes of the to-be-built function modules, respectively creating external input interfaces and output interfaces for the interface names of the to-be-built function modules, creating internal input interfaces and output interfaces for the interface names of the function modules of the empty model framework, and respectively associating the external input interfaces and output interfaces with the internal input interfaces and output interfaces; According to the interface attribute, the internal input interface and the output interface are configured; Obtaining the parameters of the to-be-built function module, and respectively configuring the empty model framework function module according to the parameters of the to-be-built function module; Repeating the above process steps until the software implementation model framework is obtained after the configuration of the to-be-built function module.
7. A terminal, characterized by comprising: Comprise: One or more processors; Memory for storing instructions executable by the one or more processors; Wherein, the one or more processors are configured to: Execute a model-based software architecture generation method as claimed in any one of claims 1 to 4.
8. A non-transitory computer-readable storage medium, comprising: When the instructions in the storage medium are executed by the processor of the terminal, the terminal can execute a model-based software architecture generation method as claimed in any one of claims 1 to 4.
Citation Information
Patent Citations
Archtecture skeleton generation device and method for automotive open system architecture application software
KR1020100062787A
Method and system for generating a software component
US20190258460A1