System and method for automated integration of models

By receiving software component models, integration requirements, partition blocks and model reference blocks, and generating and converting system models, the problems of complexity and inefficiency of software component integration in the prior art are solved, automated integration is achieved, and integration efficiency and system clarity are improved.

CN119536632APending Publication Date: 2025-02-28STEERING SOLUTIONS IP HOLDING CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411209634.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-08-30
Filing Date
2024-08-30
Publication Date
2025-02-28

AI Technical Summary

Technical Problem

Existing software component integration tools are difficult to use, limited components are supported, and a lot of manual work is required when integrating larger systems, resulting in complexity and inefficiency.

Method used

Automatic integration is achieved by receiving software component models, integration requirements, partition blocks and model reference blocks, generating system models and converting them into software models representing system models.

Benefits of technology

Simplifies integration of component models, reduces manual work, improves integration efficiency and system clarity, making components more portable and easy to integrate.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119536632A_ABST
    Figure CN119536632A_ABST
Patent Text Reader

Abstract

The invention discloses a method for automatically integrating software models. The method comprises the following steps: receiving at least one software component model; receiving at least one integration requirement; and receiving at least one partition block and at least one model reference block. The method further includes generating a system model based on the at least one software component model, the at least one integration requirement, the at least one partition block, and the at least one model reference block. The method also includes converting the system model into at least one programming language.
Need to check novelty before this filing date? Find Prior Art

Description

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This patent application claims priority to U.S. Provisional Patent Application No. 63 / 579,581, filed on August 30, 2023, which is incorporated herein by reference in its entirety. Technical Field

[0002] The present disclosure relates to software model integration, and more particularly, to a system and method for automatic software model integration. Background Art

[0003] Vehicles (such as cars, trucks, SUVs, crossovers, minivans, boats, airplanes, ATVs, recreational vehicles, or other suitable forms of transportation) typically include various systems, such as a steering system (which may include an electric power steering (EPS) system, a steer-by-wire (SbW) steering system, a hydraulic steering system, or other suitable steering systems), and / or other suitable systems (e.g., such as a braking system, a propulsion system, etc.). These systems of the vehicle typically control various aspects of vehicle steering (e.g., including providing steering assistance to an operator of the vehicle, controlling a steering wheel of the vehicle, etc.), vehicle propulsion, vehicle braking, etc. Summary of the invention

[0004] The present disclosure generally relates to steering systems.

[0005] An aspect of an embodiment of the present disclosure includes a method for automatic integration of software models. The method includes: receiving at least one software component model, receiving at least one integration requirement, receiving at least one partition block, and receiving at least one model reference block. The method also includes generating a system model based on the at least one software component model, the at least one integration requirement, the at least one partition block, and the at least one model reference block. The method also includes converting the system model into at least one software model representing the system model.

[0006] Another aspect of the disclosed embodiment includes a system for automatic software model integration. The system includes a processor and a memory including instructions, which, when executed by the processor, enable the processor to: receive at least one software component model; receive at least one integration requirement; receive at least one partition block; receive at least one model reference block; generate a system model based on at least one software component model, at least one integration requirement, at least one partition block, and at least one model reference block; and convert the system model into at least one software model representing the system model.

[0007] Another aspect of the disclosed embodiment includes an apparatus for automatically integrating software models. The apparatus includes a computer system configured to: receive at least one software component model; receive at least one integration requirement; receive at least one partition block; receive at least one model reference block; use at least one model reference block to propagate integration parameters associated with at least one partition block; generate a system model based on at least one software component model, at least one integration requirement, at least one partition block, and the integration parameters; and convert the system model into at least one software model representing the system model.

[0008] These and other aspects of the present disclosure are disclosed in the following detailed description of the embodiments, the appended claims and the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0009] The present disclosure can be better understood by reading the following detailed description in conjunction with the accompanying drawings. It should be emphasized that, according to convention, the various features of the drawings are not drawn to scale. On the contrary, the sizes of the various features are arbitrarily enlarged or reduced for clarity.

[0010] Figure 1 A vehicle in accordance with the principles of the present disclosure is generally shown.

[0011] Figure 2 A controller according to the principles of the present disclosure is generally shown.

[0012] Figure 3A and Figure 3B The conventional approach for model integration is generally shown.

[0013] Figure 4A and Figure 4B An automatic model integration method according to the principles of the present disclosure is generally shown.

[0014] Figures 5A-5C A block diagram generally illustrates automatic model integration according to the principles of the present disclosure.

[0015] Figure 6 is a flow chart generally illustrating an automatic model integration method according to the principles of the present disclosure.

[0016] Figure 7 A computing device in accordance with the principles of the present disclosure is generally shown. DETAILED DESCRIPTION

[0017] Various embodiments of the present disclosure are discussed below. Although one or more of these embodiments may be preferred, the disclosed embodiments should not be interpreted or otherwise used to limit the scope of disclosure including the claims. In addition, those skilled in the art will understand that the following description has broad applicability, and the discussion of any embodiment is only meant to be exemplary of that embodiment, and is not intended to imply that the scope of disclosure including the claims is limited to that embodiment.

[0018] As described above, vehicles (such as cars, trucks, SUVs, crossovers, minivans, boats, airplanes, all-terrain vehicles, recreational vehicles, or other suitable forms of transportation) typically include various systems, such as a steering system (which may include an electric power steering (EPS) system, a steer-by-wire (SbW) steering system, a hydraulic steering system, or other suitable steering systems), and / or other suitable systems (e.g., such as a braking system, a propulsion system, etc.). These systems of the vehicle typically control various aspects of vehicle steering (e.g., including providing steering assistance to an operator of the vehicle, controlling the steering wheels of the vehicle, etc.), vehicle propulsion, vehicle braking, etc.

[0019] Typically, such systems may rely on various software programs to provide control of various aspects of the vehicle system. Such software programs may include embedded software and / or other suitable software. The complexity of embedded software in the automotive industry has increased dramatically, with modern programs consisting of hundreds of thousands of lines of code. In order to manage complexity, software is broken down into multiple components that are then integrated together to form a complete software product.

[0020] However, software component integration can be relatively complex and require specialized knowledge and / or skills. For example, in addition to understanding where different components belong within the context of a software application, a significant amount of manual work is required to connect inputs and outputs, route specialized component requirements to locations within the application where they can be met, and ensure that system resources are allocated correctly.

[0021] Typical integration tools can be difficult to use and can be relatively limited in supporting components, including code (e.g., written in C or other suitable programming languages) and configuration files (e.g., written in Extensible Markup Language (XML) or other suitable programming languages).

[0022] To compensate for the shortcomings of such integrated tools, a component model can be created and the model can be converted into C and / or XML, or other suitable programming languages, using automatic coding. Such a model includes information that is irrelevant to the functionality of the associated components. Figure 3A and Figure 3BThe traditional model integration is generally shown. Such models necessarily include information that is not relevant to the function, and it becomes increasingly difficult to model and test component interactions for relatively large systems.

[0023] Therefore, systems and methods, such as described herein, configured to provide automatic integration of such models would be desirable. In some embodiments, the systems and methods described herein can be configured to supplement various software architectures using a modeling interface layer. Figure 4A and 4B Generally speaking, the systems and methods described herein can be configured to provide integration of component models to create and automatically code complete systems.

[0024] like Figure 5A-Figure 5C As shown, in some embodiments, the systems and methods described herein can be configured to use a library of building blocks, which includes at least one partition block used in the first layer of the model. The partition block can include dedicated subsystem blocks that can contain other blocks as sub-blocks. The partition block contains information about how to integrate the associated sub-blocks, including parameters for execution rate, MPU allocation, and task priority. The model can be built in a parameter block, or the model reference block of the library can be used to include the model, which can propagate the specific requirements of the model to the associated parent (for example, and can work in the same manner as the standard model reference block). All other blocks included in the partition block can contain useful integration parameters (for example, execution rate, MPU designation, priority, and / or similar parameters).

[0025] The systems and methods described herein can be configured to provide for the creation of modular models. The systems and methods described herein can be configured to provide for relatively simple components (e.g., requiring fewer non-functional blocks). The systems and methods described herein can be configured to provide for a more portable solution (e.g., where the components specify fewer integration parameters).

[0026] The systems and methods described herein can be configured to infer integration parameters from a model after automatically encoding a larger system. The systems and methods described herein can be configured to allow scripting (eg, automatic) of integration based on model parameters.

[0027] In some embodiments, a modeling interface layer is used to supplement the usual software architecture to correct many of the previous problems. For example, the systems and methods described herein can be configured to use a modeling interface layer to integrate models to create a complete system at the modeling level, rather than automatically coding individual components and integrating code / xml files. The systems and methods described herein can be configured to automatically code the entire system.

[0028] In some embodiments, the systems and methods described herein can be configured to provide a component model that is greatly simplified compared to traditional methods. Components can be designed without specific integration information (such as execution rate). Instead, the functionality of the component can be used, thereby improving clarity (e.g., by removing non-functional integration blocks). Additionally or alternatively, because the design of the component can be done without considering execution rate, memory protection unit (MPU) allocation, or most other integration issues, the component is more portable (e.g., a component can be moved from one partition to another without changing the component model even if the execution rate is different).

[0029] In some embodiments, the systems and methods described herein can be configured to use custom blocks so that the information for integration is inherent in the model. The systems and methods described herein can be configured to access the information within the blocks after the system is automatically coded using the model interface layer to assign the generated code to the appropriate location and configure the lower level software (e.g., RTE, operating system, communication channel).

[0030] In some embodiments, the systems and methods described herein can be configured to integrate component models and / or improve the representation of the final product of the model. The systems and methods described herein can be configured to include information such as execution rate into the model to automatically integrate the generated code as the system is coded from the integrated model.

[0031] In some embodiments, the systems and methods described herein can be configured to provide automatic software model integration. The systems and methods described herein can be configured to receive at least one software component model. The systems and methods described herein can be configured to receive at least one integration requirement. The systems and methods described herein can be configured to receive at least one partition block. The systems and methods described herein can be configured to receive at least one model reference block.

[0032] The systems and methods described herein can be configured to generate a system model based on at least one software component model, at least one integration requirement, at least one partition block, and at least one model reference block. The systems and methods described herein can be configured to convert the system model into at least one programming language.

[0033] Figure 1A vehicle 10 is generally shown in accordance with the principles of the present disclosure. Vehicle 10 may include any suitable vehicle, such as a car, truck, sport utility vehicle, minivan, crossover, any other passenger vehicle, any suitable commercial vehicle, or any other suitable vehicle. Although vehicle 10 is shown as a passenger vehicle having wheels and used on a road, the principles of the present disclosure may be applicable to other vehicles, such as airplanes, boats, trains, drones, or other suitable vehicles.

[0034] The vehicle 10 includes a vehicle body 12 and a hood 14. The vehicle body 12 at least partially defines a passenger compartment 18. Another portion of the vehicle body 12 defines an engine compartment 20. The hood 14 may be removably attached to a portion of the vehicle body 12 such that when the hood 14 is in a first or open position, the hood 14 provides access to the engine compartment 20, and when the hood 14 is in a second or closed position, the hood 14 covers the engine compartment 20. In some embodiments, the engine compartment 20 may be disposed at the rear of the vehicle 10, rather than in the location generally shown.

[0035] The passenger compartment 18 may be disposed rearward of the engine compartment 20; however, in embodiments where the engine compartment 20 is disposed at the rear of the vehicle 10, the passenger compartment 18 may be disposed forward of the engine compartment 20. The vehicle 10 may include any suitable propulsion system, including an internal combustion engine, one or more electric motors (e.g., an electric vehicle), one or more fuel cells, and a hybrid propulsion system (e.g., a hybrid vehicle) that includes a combination of an internal combustion engine, one or more electric motors, and / or any other suitable propulsion system.

[0036] In some embodiments, the vehicle 10 may include a gasoline or kerosene fuel engine, such as a spark ignition engine. In some embodiments, the vehicle 10 may include a diesel engine, such as a compression ignition engine. The engine compartment 20 houses and / or encloses at least some components of the propulsion system of the vehicle 10. Additionally or alternatively, propulsion controls, such as an accelerator actuator (e.g., an accelerator pedal), a brake actuator (e.g., a brake pedal), a steering wheel, and other such components are disposed in the passenger compartment 18 of the vehicle 10. The propulsion controls may be driven or controlled by an operator of the vehicle 10 and may be directly connected to corresponding components of the propulsion system, such as a throttle, a brake, a vehicle axle, a vehicle transmission, etc., respectively. In some embodiments, the propulsion controller may communicate a signal to an onboard computer (e.g., via a drive-by-wire), which in turn may control corresponding propulsion components of the propulsion system. Thus, in some embodiments, the vehicle 10 may be an autonomous vehicle.

[0037] In some embodiments, the vehicle 10 includes a transmission that communicates with the crankshaft via a flywheel or a clutch or a fluid coupling. In some embodiments, the transmission includes a manual transmission. In some embodiments, the transmission includes an automatic transmission. The vehicle 10 may include one or more pistons that work in conjunction with the crankshaft to generate force in the case of an internal combustion engine or a hybrid vehicle, which is transmitted through the transmission to one or more shafts that rotate the wheels 22. When the vehicle 10 includes one or more electric motors, the vehicle battery and / or fuel cell provides energy to the electric motors to rotate the wheels 22.

[0038] The vehicle 10 may include an automatic vehicle propulsion system, such as cruise control, adaptive cruise control, automatic braking control, other automatic vehicle propulsion systems, or combinations thereof. The vehicle 10 may be an autonomous or semi-autonomous vehicle, or other suitable type of vehicle. The vehicle 10 may include additional or fewer features than those generally shown and / or disclosed herein.

[0039] In some embodiments, the vehicle 10 may include an Ethernet component 24, a controller area network (CAN) bus 26, a media oriented system transport component (MOST) 28, a FlexRay component 30 (e.g., a wire control brake system, etc.), and a local interconnect network component (LIN) 32. The vehicle 10 may communicate various information, such as sensors inside or outside the vehicle, to various processors or controllers, such as inside or outside the vehicle, using the CAN bus 26, MOST 28, FlexRay component 30, LIN 32, other suitable networks or communication systems, or combinations thereof. The vehicle 10 may include additional or fewer features than those generally shown and / or disclosed herein.

[0040] In some embodiments, the vehicle 10 may include a steering system, such as an EPS system, a steer-by-wire steering system (e.g., which may include or communicate with one or more controllers that control steering system components without using a mechanical connection between a steering wheel and wheels 22 of the vehicle 10), a hydraulic steering system (e.g., which may include a magnetic actuator incorporated into a valve assembly of the hydraulic steering system), or other suitable steering systems.

[0041] The steering system may include an open-loop feedback control system or mechanism, a closed-loop feedback control system or mechanism, or a combination thereof. The steering system may be configured to receive various inputs, including but not limited to steering wheel position, input torque, one or more wheel positions, other suitable inputs or information, or a combination thereof.

[0042] Additionally or alternatively, the input may include steering wheel torque, steering wheel angle, motor speed, vehicle speed, estimated motor torque command, other suitable inputs, or combinations thereof. The steering system may be configured to provide steering functionality and / or control to the vehicle 10. For example, the steering system may generate assist torque based on various inputs. The steering system may be configured to selectively control a motor of the steering system using the assist torque to provide steering assistance to the operator of the vehicle 10.

[0043] like Figure 2 As generally shown, in some embodiments, the vehicle 10 may include a controller, such as the controller 100. The controller 100 may include any suitable controller, such as an electronic control unit or other suitable controller. The controller 100 may be configured to control, for example, various functions of the steering system and / or various functions of the vehicle 10. The controller 100 may include a processor 102 and a memory 104. The processor 102 may include any suitable processor, such as the processor described herein. Additionally or alternatively, in addition to the processor 102, the controller 100 may include any suitable number of processors. The memory 104 may include a single disk or multiple disks (e.g., a hard disk drive), and include a storage management module that manages one or more partitions within the memory 104. In some embodiments, the memory 104 may include flash memory, semiconductor (solid-state) memory, etc. The memory 104 may include a random access memory (RAM), a read-only memory (ROM), or a combination thereof. The memory 104 may include instructions that, when executed by the processor 102, cause the processor 102 to control at least various aspects of the vehicle 10.

[0044] The controller 100 may receive one or more signals from various measurement devices or sensors 106 indicating sensed or measured characteristics of the vehicle 10. The sensors 106 may include any suitable sensors, measurement devices, and / or other suitable mechanisms. For example, the sensors 106 may include one or more torque sensors or devices, one or more steering wheel position sensors or devices, one or more motor position sensors or devices, one or more position sensors or devices, one or more radar sensors or devices, one or more lidar sensors or devices, one or more sonar sensors or devices, one or more image capture sensors or devices, other suitable sensors or devices, or combinations thereof. The one or more signals may indicate steering wheel torque, steering wheel angle, motor speed, vehicle speed, other suitable information, or combinations thereof.

[0045] In some embodiments, the controller 100 may be configured to provide automatic software model integration. The controller 100 may receive at least one software component model. The controller 100 may receive at least one integration requirement. The controller 100 may receive at least one partition. The controller 100 may receive at least one model reference block.

[0046] The controller 100 may generate a system model based on at least one software component model, at least one integration requirement, at least one partition, and at least one model reference block. The controller 100 may convert the system model into at least one programming language.

[0047] like Figure 7 As generally shown in FIG. 5 , in some embodiments, a computing device, such as computing device 500, can be configured to provide automatic model integration. Computing device 500 can include any suitable computing device, such as a mobile computing device, a desktop computing device, a laptop computing device, a server computing device, other suitable computing devices, or a combination thereof.

[0048] The computing device 500 may include a processor 530 configured to control the overall operation of the computing device 500. The processor 530 may include any suitable processor, such as the processors described herein. The computing device 500 may also include a user input device 532 configured to receive input from a user of the computing device 500 and to communicate a signal representing the input received from the user to the processor 530. For example, the user input device 532 may include a button, a keyboard, a dial, a touch screen, an audio input interface, a visual / image capture input interface, input in the form of sensor data, etc.

[0049] The computing device 500 may include a display 536 that may be controlled by the processor 530 to display information to a user. A data bus 538 may be configured to facilitate data transfer between at least a storage device 540 and the processor 530. The computing device 500 may also include a network interface 542 configured to couple or connect the computing device 500 to various other computing devices or network devices via a network connection (such as a wired or wireless connection). In some embodiments, the network interface 542 includes a wireless transceiver.

[0050] The storage device 540 may include a single disk or multiple disks (e.g., a hard disk drive), one or more solid-state drives, one or more hybrid hard disk drives, etc. The storage device 540 may include a storage management module that manages one or more partitions within the storage device 540. In some embodiments, the storage device 540 may include flash memory, semiconductor (solid-state) memory, etc. The computing device 500 may also include a memory 544. The memory 544 may include a random access memory (RAM), a read-only memory (ROM), or a combination thereof. The memory 544 may store programs, utilities, or processes executed by the processor 530. The memory 544 may provide volatile data storage and store instructions related to the operation of the computing device 500.

[0051] In some embodiments, the computing device 500 using the processor 530 may be configured to execute instructions stored on the memory 544 to at least perform the systems and methods described herein. For example, the computing device 500 may receive at least one software component model. The computing device 500 may receive at least one integration requirement. The computing device 500 may receive at least one partition block. The computing device 500 may receive at least one model reference block. The computing device 500 may generate a system model based on the at least one software component model, the at least one integration requirement, the at least one partition block, and the at least one model reference block. The computing device 500 may convert the system model into at least one software model representing the system model.

[0052] In some embodiments, the controller 100 may receive the software model from the computing device 500. The controller 100 may control various aspects of the vehicle 10 using the software model.

[0053] In some embodiments, the controller 100 and / or the computing device 500 may implement the methods described herein. However, the methods described herein being performed by the controller 100 and / or the computing device 500 is not meant to be limiting, and any type of software executed on a controller or processor may be capable of performing the methods described herein without departing from the scope of the present disclosure. For example, a controller (such as a processor executing software within a computing device) may be capable of performing the methods described herein.

[0054] Figure 6 is a flow chart of an automatic model integration method 300 generally shown according to the principles of the present disclosure. At 302, the method 300 receives at least one software component model. For example, the controller 100 may receive at least one software component model.

[0055] At 304, the method 300 receives at least one integration requirement. For example, the controller 100 may receive at least one integration requirement.

[0056] At 306, the method 300 receives at least one partition block. For example, the controller 100 may receive at least one partition block.

[0057] At 308, the method 300 receives at least one model reference block. For example, the controller 100 may receive at least one model reference block.

[0058] At 308, the method 300 generates a system model based on at least one software component model, at least one integration requirement, at least one partition block, and at least one model reference block. For example, the controller 100 may generate a system model based on at least one software component model, at least one integration requirement, at least one partition, and at least one model reference block.

[0059] At 310, the method 300 converts the system model into at least one programming language. For example, the controller 100 may convert the system model into at least one programming language.

[0060] In some embodiments, a method for automatic software model integration includes receiving at least one software component model, receiving at least one integration requirement, and receiving at least one partition and model reference block. The method also includes generating a system model based on the at least one software component model, the at least one integration requirement, and the at least one partition and model reference block. The method also includes converting the system model into at least one programming language.

[0061] In some embodiments, the system model is associated with a steering system of a vehicle. In some embodiments, the steering system includes an electric power steering system. In some embodiments, the steering system includes a steer-by-wire steering system. In some embodiments, the steering system includes a hydraulic steering system.

[0062] In some embodiments, a system for automatic software model integration includes a processor and a memory. The memory includes instructions that, when executed by the processor, enable the processor to: receive at least one software component model; receive at least one integration requirement; receive at least one partition and model reference block; generate a system model based on at least one software component model, at least one integration requirement, and at least one partition and model reference block; and convert the system model into at least one programming language.

[0063] In some embodiments, the system model is associated with a steering system of a vehicle. In some embodiments, the steering system includes an electric power steering system. In some embodiments, the steering system includes a steer-by-wire steering system. In some embodiments, the steering system includes a hydraulic steering system.

[0064] In some embodiments, a method for automatic software model integration includes receiving at least one software component model, receiving at least one integration requirement, receiving at least one partition block, and receiving at least one model reference block. The method also includes generating a system model based on the at least one software component model, the at least one integration requirement, the at least one partition block, and the at least one model reference block. The method also includes converting the system model into at least one software model representing the system model.

[0065] In some embodiments, the system model is associated with a steering system of a vehicle. In some embodiments, the steering system includes an electric power steering system. In some embodiments, the steering system includes a steer-by-wire steering system. In some embodiments, the steering system includes a hydraulic steering system. In some embodiments, at least one integration requirement includes an execution rate. In some embodiments, at least one integration requirement includes a memory protection unit allocation. In some embodiments, at least one integration requirement includes a priority. In some embodiments, at least one model reference block is configured to propagate integration parameters associated with at least one partition block. In some embodiments, the system model integrates models associated with at least one software component model, and at least one other model. In some embodiments, at least one software model is configured to model various aspects of at least one vehicle component.

[0066] In some embodiments, a system for automatic integration of software models includes a processor and a memory including instructions; when the processor executes the instructions, the processor is enabled to: receive at least one software component model; receive at least one integration requirement; receive at least one partition block; receive at least one model reference block; generate a system model based on at least one software component model, at least one integration requirement, at least one partition block and at least one model reference block; and convert the system model into at least one software model representing the system model.

[0067] In some embodiments, the system model is associated with a steering system of a vehicle. In some embodiments, at least one integration requirement includes an execution rate. In some embodiments, at least one integration requirement includes a memory protection unit allocation. In some embodiments, at least one integration requirement includes a priority. In some embodiments, at least one model reference block is configured to propagate an integration parameter associated with at least one partition block. In some embodiments, the system model integrates a model associated with at least one software component model, and at least one other model. In some embodiments, at least one software model is configured to model various aspects of at least one vehicle component.

[0068] In some embodiments, an apparatus for automatic integration of software models includes a computer system configured to: receive at least one software component model; receive at least one integration requirement; receive at least one partition block; receive at least one model reference block; use at least one model reference block to propagate integration parameters associated with at least one partition block; generate a system model based on at least one software component model, at least one integration requirement, at least one partition block, and the integration parameters; and convert the system model into at least one software model representing the system model.

[0069] The above discussion is intended to illustrate the principles and various embodiments of the present disclosure. Once the above disclosure is fully understood, many changes and modifications will be apparent to those skilled in the art. The following claims are intended to be interpreted as covering all such changes and modifications.

[0070] The word "example" as used herein means as an example, instance or illustration. Any aspect or design described herein as an "example" is not necessarily to be construed as superior to other aspects or designs. On the contrary, the use of the word "example" is intended to present concepts in a concrete way. When used in this application, the term "or" is intended to mean an inclusive "or" rather than an exclusive "or". That is, unless otherwise specified or it is clear from the context, "X includes A or B" is intended to mean any natural inclusive arrangement. That is, if X includes A; X includes B; or X includes both A and B, then "X includes A or B" is satisfied in any of the above cases. In addition, the articles "one" and "an" used in this application and the appended claims should generally be interpreted as "one or more" unless otherwise specified or clearly indicated from the context to point to a singular form. In addition, unless so described, the use of the term "one embodiment" or "an implementation" is not intended to mean the same embodiment or implementation.

[0071] The implementation of the systems, algorithms, methods, instructions, etc. described herein can be implemented in hardware, software, or any combination thereof. For example, the hardware can include a computer, an intellectual property (IP) core, an application specific integrated circuit (ASIC), a programmable logic array, an optical processor, a programmable logic controller, microcode, a microcontroller, a server, a microprocessor, a digital signal processor, or any other suitable circuit. In the claims, the term "processor" should be understood to cover any of the above hardware, whether alone or in combination. The terms "signal" and "data" can be used interchangeably.

[0072] As used herein, the term module can include a packaged functional hardware unit designed for use with other components, an instruction set that can be executed by a controller (e.g., a processor executing software or firmware), a processing circuit configured to perform a specific function, and a self-contained hardware or software component that interfaces with a larger system. For example, a module can include an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a circuit, a digital logic circuit, an analog circuit, a combination of discrete circuits, a gate circuit, and other types of hardware or combinations thereof. In other embodiments, a module can include a memory that stores instructions that can be executed by a controller to implement the features of the module.

[0073] Furthermore, for example, in one aspect, the systems described herein can be implemented using a general purpose computer or general purpose processor with a computer program that, when executed, performs any corresponding method, algorithm and / or instruction described herein. Additionally or alternatively, for example, a special purpose computer / processor can be utilized that can include other hardware for performing any method, algorithm or instruction described herein.

[0074] In addition, all or part of the embodiments of the present invention can take the form of a computer program product that can be obtained from, for example, a computer-usable or computer-readable medium. A computer-usable or computer-readable medium can be any device that can, for example, tangibly contain, store, communicate or transmit for use by or in connection with any processor. The medium can be, for example, an electronic, magnetic, optical, electromagnetic or semiconductor device. Other suitable media are also available.

[0075] The embodiments, implementation modes and aspects described above are for facilitating the understanding of the present disclosure and are not intended to limit the present disclosure. Instead, the present disclosure is intended to cover various modifications and equivalent arrangements included within the scope of the appended claims, which are consistent with the broadest interpretation so as to cover all such modifications and equivalent structures permitted by law.

Claims

1. A method for automatic integration of software models, the method comprising: receiving at least one software component model; receiving at least one integration requirement; receiving at least one partition block; receiving at least one model reference block; generating a system model based on the at least one software component model, the at least one integration requirement, the at least one partition block, and the at least one model reference block; as well as The system model is converted into at least one software model representing the system model.

2. The method according to claim 1, wherein: The system model is associated with a steering system of a vehicle.

3. The method according to claim 2, wherein: The steering system includes an electric power steering system.

4. The method according to claim 2, wherein: The steering system comprises a steer-by-wire steering system.

5. The method according to claim 2, wherein: The steering system includes a hydraulic steering system.

6. The method according to claim 1, wherein: The at least one integration requirement includes an execution rate.

7. The method according to claim 1, wherein: The at least one integration requirement includes a memory protection unit allocation.

8. The method according to claim 1, wherein: The at least one integration requirement includes a priority.

9. The method according to claim 1, wherein: The at least one model reference block is configured to propagate an integration parameter associated with the at least one partition block.

10. The method according to claim 1, wherein: The system model integrates a model associated with the at least one software component model, and at least one other model.

11. The method according to claim 1, wherein: The at least one software model is configured to model aspects of at least one vehicle component.

12. A system for automatic software model integration, the system comprising: processor; as well as a memory comprising instructions which, when executed by the processor, enable the processor to: receiving at least one software component model; receiving at least one integration requirement; receiving at least one partition block; receiving at least one model reference block; generating a system model based on the at least one software component model, the at least one integration requirement, the at least one partition block, and the at least one model reference block; and The system model is converted into at least one software model representing the system model.

13. The system according to claim 12, wherein: The system model is associated with a steering system of a vehicle.

14. The system according to claim 12, wherein: The at least one integration requirement includes an execution rate.

15. The system of claim 12, wherein: The at least one integration requirement includes a memory protection unit allocation.

16. The system of claim 12, wherein: The at least one integration requirement includes a priority.

17. The system of claim 12, wherein: The at least one model reference block is configured to propagate an integration parameter associated with the at least one partition block.

18. The system of claim 12, wherein: The system model integrates a model associated with the at least one software component model, and at least one other model.

19. The system of claim 12, wherein: The at least one software model is configured to model aspects of at least one vehicle component.

20. A device for automatic integration of software models, the device comprising: A computer system configured to: receiving at least one software component model; receiving at least one integration requirement; receiving at least one partition block; receiving at least one model reference block; propagating integration parameters associated with the at least one partition block using the at least one model reference block; generating a system model based on the at least one software component model, the at least one integration requirement, the at least one partition block, and the integration parameter; and The system model is converted into at least one software model representing the system model.