Performance-based system configuration as a preprocessing for system performance simulation
By introducing interpretable recommendation modules in system engineering design, generating and sorting performance-based system configurations, the problem of time-consuming iteration of system component performance optimization and iterative in the prior art is solved, and more efficient system design and simulation setup optimization are achieved.
Patent Information
- Application Number
- CN202080061177.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-08-29
- Filing Date
- 2020-08-26
- Publication Date
- 2025-05-02
- Estimated Expiration
- 2040-08-26
AI Technical Summary
During the existing system engineering design process, the performance optimization of system components requires multiple manual iterations, resulting in huge time consumption and the optimization of simulation settings is difficult to effectively accelerate.
Using an interpretable recommendation module, a performance-based system configuration list is generated by receiving seed design and system design requirements, each configuration includes a collection of components that meet system goals and requirements. The system performance values are determined based on the performance values of each system component, and the system configuration is sorted and presented to the user to optimize the simulation settings.
Through automated system component selection and performance evaluation, the number of design performance simulation iterations is reduced, the system design cycle time is significantly shortened, and engineering design efficiency is improved.
Smart Images

Figure CN114365079B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to engineering design software. More particularly, the present application relates to a user interactive engineering software tool for generating a performance-based system configuration as a preprocessing for system performance simulation. Background Art
[0002] The purpose of systems engineering (including software engineering) is to design systems and their system architectures and system components to meet defined system goals. The overall performance of a system is the result of its subsystems and their interactions. Performance considerations apply to all levels of the system (e.g., system, subsystem, component). Furthermore, improvements in the performance of system components can improve the performance of the entire system.
[0003] Today, the process of designing systems and subsystems is highly manual and often requires multiple time-consuming iterations of manual simulation setup and simulation operations through simulation software to achieve a design that meets system performance goals. If it is known during the initial system design which system elements contribute most significantly to system performance, candidate system designs for simulation setup can be selected more efficiently, thereby greatly reducing the number of simulation iterations. Determining the resulting system performance of each system element before simulation is a time-consuming manual process. In addition, when complex systems are modeled for simulation to predict the performance of candidate designs, virtual models are generated, and simulation software can take days to complete a single simulation and produce results. Many system engineering projects require multiple iterations of simulation setup, simulation, and redesign, which further prolongs the time consumption. Since the time consumption of simulation cycles is so large, it is necessary to ensure that the simulation setup provides strong candidates for system configurations, and to accelerate and optimize the simulation setup to reduce the number of simulation cycles. Summary of the invention
[0004] A system and method for generating a performance-based system design configuration for a simulation setting includes an interpretable recommendation module configured to generate a list of one or more system configurations, each system configuration including a unique set of components that meet system goals and system requirements. The system configurations are based on a received seed design and a specification of the system design requirements. For each system configuration, a system performance value is determined based on the performance enabled by each system component. The system configurations are sorted according to the system performance values. A design dashboard presents the system configurations in sorted order, and for each system configuration, a system performance value for each system configuration component is presented. BRIEF DESCRIPTION OF THE DRAWINGS
[0005] Non-limiting and non-exhaustive embodiments of the present invention are described with reference to the following figures, wherein like reference numerals refer to like elements throughout the various figures unless otherwise specified.
[0006] Figure 1 An example of a system for a performance-based system design configuration process as a pre-process for optimal system performance simulation according to an embodiment of the present disclosure is shown.
[0007] Figure 2 An example flowchart of a performance-based system design configuration process as a pre-processing for optimal system performance simulation according to an embodiment of the present disclosure is shown.
[0008] Figure 3 An example of an interactive dashboard for displaying and modifying performance-based system configuration according to an embodiment of the present disclosure is shown.
[0009] Figure 4 An example of an alternative dashboard view including a graphical representation of a system configuration according to an embodiment of the present disclosure is shown.
[0010] Figure 5 An example of a computing environment is shown in which the disclosed embodiments can be implemented. DETAILED DESCRIPTION
[0011] A method and system for an engineering design system is disclosed that automatically determines a performance-based selection of system components for an optimal simulation setup in a system engineering project. A graphical user interface presents predicted performance of system components of a candidate system design prior to a system performance simulation. Unlike conventional system engineering systems, the disclosed solution automatically performs a multivariate evaluation of candidate design components for a system design based on multiple design goals and performance requirements to predict a performance score for each contributing component of a proposed system configuration and a ranked list of system configurations, from which the highest ranked system configurations can be used for the setup of a performance simulation. An advantage of the performance-based evaluation process is that design performance simulation iterations are reduced by improving the selection of system configuration components for the simulation setup.
[0012] The disclosed system automatically (1) determines system performance predictions for various system design configurations; (2) determines the predicted system performance for each system component; (3) selects compatible system components for simulation setup and enables maximum system performance for each system design; (4) provides system element options in response to evaluation results with lower system performance; and (5) displays request prompts for all components of the system configuration that result in system performance below the maximum system performance prediction - this identifies which system components are "performance constrained", allowing refocusing efforts on better system components for simulation setup and ultimately accelerating system design simulations.
[0013] Figure 1An example of a system for a performance-based system design configuration process as a preprocessing of an optimal system performance simulation according to an embodiment of the present disclosure is shown. In an embodiment, a design engineering project is performed for a target object or system. The computing device 110 includes a processor 115 and a memory 111 (e.g., a non-transient computer-readable medium), on which various computer applications, modules, or executable programs are stored, including AI modules 140-144 and a design configuration module 148. The engineering application 112 can include software for one or more of a modeling tool, a simulation engine, a computer-aided design (CAD) tool, and other engineering tools that a user can access via a display device 130 and a user interface module 114, which drives the display feed of the display device 130 and processes the user input returned to the processor 115, all of which can be used to perform computer-aided design. The design engineering tool 112 can perform CAD operations, such as in the form of 2D or 3D rendering of a physical design, and system design analysis, such as high-dimensional design space visualization of design parameters, performance parameters, and objectives. A network 160 , such as a local area network (LAN), a wide area network (WAN), or an Internet-based network connects the computing device 110 to the design data repository 145 .
[0014] In an embodiment, the engineering data generated by the application software of the engineering tool 112 is monitored and organized into system design data stored by the design data repository 145. The system design data is the accumulation of system components and component attributes output from the engineering tool 112 during the design project and design revision. In some embodiments, the system design data of the components is obtained from suppliers, such as suppliers or manufacturers of components related to the designed system. For example, the system design data can include technical design parameters, sensor signal information, operating range parameters (e.g., voltage, current, temperature, stress, etc.). In the example of simulation performed by the engineering tool 112, the simulation result data can be attached to the system design data of the corresponding element, which is useful for selecting competitive design elements. As a practical example, the battery performance of different batteries can be recorded through several simulations of various designs of battery-powered drones. In other aspects, the testing and experimentation of prototypes can generate system design data, which can be attached to the design elements in the system design data and stored in the design data repository 145. Therefore, the design data repository 145 can contain structured and static domain knowledge about various designs.
[0015] AI modules 140-144 are provided to improve engineering system design efficiency and significantly shorten design cycle time by presenting intuitive context-specific design comparisons and enabling recommendations for quick decision making, and by using a conversational style to help designers navigate complex design spaces in a collaborative and parallel manner. This provides an integrated design environment that enables engineers from different disciplines to share knowledge and support others' design work, while providing fast and simple decision-making capabilities in joint multi-domain and multi-disciplinary design problems.
[0016] The conversational AI assistant module 140 is an algorithmic module for design space navigation and is configured to operate an interactive dialog box that allows direct access to desired content of system design information using a multimodal dialog manager that guides the user through a context-based question clarification mechanism.
[0017] The user preference learning module 141 is used for design space exploration and is configured to generate user-specific recommendations based on inferred user preferences and provide an interactive and intuitive interface for reviewing recommended designs.
[0018] The high-dimensional space visualization module 142 and the sensitivity analysis module 143 are used for design space construction. The high-dimensional space visualization module 142 is configured to provide a visual representation of the automatically constructed design space and multi-domain design constraints / relationships that form the identified dependency "regions" and indicate the aggregated indicators for each region. An indication of the expected improvement in system performance resulting from region exploration is achieved by developing an embedded representation of the design space. The sensitivity analysis module 143 is configured to calculate the sensitivity of component performance to design parameters.
[0019] The explainable recommendation module 144 is used for design composition and is configured to generate a list of automatically constructed designs highlighting designs that failed to evaluate and a list of recommendations on how to fix these designs. These functions are achieved by generating an ordered arrangement of combination rules and generating explainable recommendations for modifications based on user-specified traces and standard errors generated by the executable file.
[0020] like Figure 1As shown, the AI modules 140-144 are deployed locally on the computing device 110. However, in some embodiments, one or more AI modules can be deployed as cloud-based or network-based operations accessible via the network 160. In one aspect, when one or more engineering tools 112 are running in the background, the AI modules 140-144 provide an active interface for the user, allowing the user to perform queries and modifications to the design using the system design view without having to switch between two or more software applications during the design activity. In this way, the user can indirectly operate the application software for the engineering tool 112 through the graphical user interface generated by the GUI engine 113 driven by the AI modules 140-144.
[0021] In one aspect, depending on the task, one or more of the AI modules 140-144 manages the engineering tool 112 operating in the background. For example, a user can interact directly with a graphical user interface (GUI) (presented to the user as a dashboard 131 and a design dialog box 135 on a display device 130) to request a design component analysis. The AI module then passes the request to the design space controlled by the engineering tool 112, which performs the analysis in the background and returns the results to the AI module for analysis and translation for presentation to the user via the GUI.
[0022] The design configuration module 148 is configured to receive a seed design and requirements specification for a system design from the data repository 145 and generate various and unique combinations of system components as a set of system design configurations. Each system design configuration includes a unique set of components that meet user-defined system goals and system requirements.
[0023] The user interface module 114 provides an interface between the system application software modules 112, 120 and user devices such as a display device 130, a user input device 126, and an audio I / O device 127. The design dashboard 131 and the design dialog box 135 are generated by the GUI engine 113 as an interactive GUI during operation and are presented to the display device 130, such as a computer monitor or a mobile device screen. The user input device 126 receives user input in the form of a plain text string using a keyboard or other text mechanism. User requests for design data can be submitted to the conversational AI assistant 140 as a plain text string in the design dialog box 135, while viewing various aspects of the system design on the design dashboard 131. The audio device 127 can be configured with a voice sensor (e.g., a microphone) and a playback device (audio speaker). The voice user request can be received by the audio device 127 and processed by the user interface module 114 to be translated into a text string request, which can be displayed in a dialog box. The conversational AI assistant 140 is configured to translate the test string request, map the request to the system design data, and retrieve the design view from the design repository 145. The conversational AI assistant 140 extracts response information from the retrieved data and generates a dialog response in the form of a plain text string for viewing in the design dialog box 135, a voice response for playing audio to the user on the audio device 127, or a combination of both. The design dashboard 131 is configured as a graphical display of design view elements (e.g., 2D or 3D renderings) having properties and metrics associated with the design view elements generated by the engineering application 112.
[0024] The conversational AI assistant 140 is configured for translation functionality, performing conversion of design space object context to conversational dialogue, and vice versa. Depending on the modality of the dialogue, various translation algorithms can be applied, such as automatic speech recognition (ASR), natural language understanding (NLU), natural language generation, and text-to-speech. User input during the system design process is processed in a conversational form to improve the user experience, allowing designers to explore and find design alternatives with reduced interaction complexity and cognitive load. The advantage of processing queries issued at the user interface in a conversational form eliminates the need to learn and / or memorize complex interaction languages, thereby reducing the cognitive load of designers.
[0025] Figure 2 An example flowchart of a performance-based system design configuration process as a pre-process for optimal system performance simulation is shown in accordance with the disclosed embodiments. Figure 3 An example of an interactive dashboard for displaying and modifying performance-based system configuration according to a disclosed embodiment is shown. Figure 2As shown, system goals and requirements 201 are retrieved from a repository such as the design data repository 145. For example, during design space construction, a user, such as a design engineer, can use a GUI application to submit system goals and requirements, which are stored in the data repository. Figure 3 As shown, the GUI dashboard 300 provides an interactive area 301 in which a user can prioritize a set of system configuration goals (e.g., by setting a sliding scalar for each goal), including but not limited to performance, cost, and time. The requirements file 302 contains various requirements data uploaded to the AI module for analysis. In an embodiment, the setting of the goal can be higher than the minimum system requirement, and the system configuration performance evaluation can define a performance rating score on a discrete linear scale (e.g., such as [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]). For example, the minimum requirement of the aggregation (based on all system requirements) can be derived as a first score (e.g., a value of 2), the score of the system's aggregated goal is 5, and any score between 6 and 10 exceeds the aggregated goal and aggregated demand. In such an instance, the range of the system performance evaluation score can be between the minimum performance score and the maximum performance score, and the result can be compared with the requirement score and the target score.
[0026] The system components 202 can be retrieved from a seed design stored in a data repository that is stored by a user during the construction of the design space. The design configuration module 148 creates multiple system configurations 205 using different combinations of system elements 202. Each system configuration includes a unique set of compatible system components that can interact with each other to achieve an effective system. In one aspect, the system configuration module 148 selects components 202 that meet the goals and system requirements 201 and generates a system configuration list 206.
[0027] In an embodiment, the interpretable recommendation module 144 evaluates each system configuration according to the requirements and goals 201 to perform a requirements decomposition 207. In one aspect, the requirements and goals 201 include a specification document that specifies the high-level architecture and system requirements to implement the design. In an embodiment, the interpretable recommendation module 144 performs a function for physically decomposing the architecture to identify the constituent elements of the architecture. For example, the requirements are decomposed into functional and physical block representations that can be mapped to system components 202. In parallel, from the specification document, the interpretable recommendation module 144 builds a requirement traceability chain to achieve effective requirements decomposition 207. When all requirements can be mapped to the identified functional or physical block representations of the system components, the requirements decomposition is effective. In one aspect, the decomposition is effective under the condition that all requirements must be related to the physical blocks through one or more "satisfy" relationships (i.e., whether a particular block satisfies the requirements). Next, the interpretable recommendation module 144 evaluates the system performance of each configuration using a requirements decomposition analysis (step 208), which is based on the overall performance of the system, which is a function of the individual performance of each system configuration component. Parameters described in the requirement specification (e.g., overall system efficiency) are extracted, and the properties of the decomposed blocks (e.g., battery efficiency, weight, input rating, output rating, geometry, other physical and performance characteristics) are tracked as contributions to the requirements through certain parameter equations or simulations. In one aspect, the interpretable recommendation module 144 implements a machine learning based model that is trained to predict the performance of the system configuration based on the input of the component specifications and using network parameters (weights) optimized for the design goals and requirements. The performance prediction output is the contributed system component performance value 209, where each component of the system design configuration is rated according to a score representing the impact or contribution to the performance of the entire system. In one aspect, the performance value 209 can be added as a data field in the system configuration list 206.
[0028] In an embodiment, it can be explained that the recommendation module 144 ranks the system configurations at 215 based on the performance values 208. The output of the ranking step 215 includes the ranked system configurations 216, the minimum and maximum system performance values 217. For example, the system configuration list 206 can be sorted according to the representative performance values of the system design configurations (e.g., the minimum performance value or the maximum system performance value). As an illustrative example, Figure 3The system design display 331 in presents the system design configurations in order of highest minimum performance value 332. The minimum performance value of the system design configuration is defined by the one or more components of the system having the lowest performance rating (i.e., the weakest predicted performance contribution) in the configuration. The maximum performance value of the system design configuration is based on the one or more components of the system having the highest predicted performance value. The actual performance value 335 of the system configuration determined by the full simulation is expected to be between the minimum performance value 332 and the maximum performance value 334. For example, the system design of an aerial drone with 10 components can be evaluated by the weight parameter of each component, and heavier components can have lower performance ratings than lighter components based on their respective contributions to flight (e.g., propulsion) relative to the drag effect of the flight performance of the entire system (e.g., gravity). Therefore, the performance value of a system component does not describe the system component performance, but rather the performance value represents the resulting system performance that it activates or affects. The evaluated system performance is analyzed by considering all system performance goals and requirements for each system component for a particular system configuration. In an embodiment, the maximum performance value of system configuration 334 is determined by the highest performance value (eg, 324) among the system components, and the minimum performance value of system configuration 324 is determined by the minimum performance value (eg, 322) among the system components.
[0029] like Figure 3 As shown, minimum and maximum performance values 332 and 334 are presented on a dashboard 300 associated with a corresponding system design display 321. Actual performance values 335 present the results obtained from a full simulation of the system configuration data and are displayed on the dashboard along with prediction confidence values 340 generated by the full simulation tool. From this display of information available when the full simulation is completed, a preliminary assessment of minimum and maximum system performance 322, 324 can be compared side by side with the actual simulation results 335, 340. For each system configuration, the same type of performance information is associated with each system component.
[0030] The recommendation module 144 can explain that the system configurations are ranked, such as the system design 331 displayed on the dashboard 300, from top to bottom according to the system performance value. In an embodiment, the ranking can be performed according to one or more of several performance parameters, such as the system performance that can be achieved (e.g., the "maximum performance" value 334), the system performance that can be improved (e.g., the "minimum performance" value 332), and the evaluated system performance (e.g., the "actual" system performance value 335 obtained from the full system simulation). The system configurations are ranked to maximize the system performance, so the system can be further optimized by redesigning or replacing one or more poorly performing system components. For example, the top-ranked system configuration according to the evaluated system performance indicates which component is responsible for the minimum performance rating, such as the rating 322, and can then be replaced by the user when viewing the dashboard, selecting the component rated as higher performance as the alternative version, and performing a new system performance evaluation on the revised configuration. The minimum system performance can be improved by improving the performance of all system elements with the minimum performance rating (e.g., each redesign or each replacement). For the case where the minimum performance of all system elements has the same system performance rating, the minimum performance is the same as the maximum performance.
[0031] For system elements with actual performance lower than achievable system performance, the interpretable recommendation module 144 can send a request prompt to the user, as indicated by a request indication button 325 on the dashboard 300, for a different system component with higher actual performance. In an embodiment, the user can click the request button 325, and the interpretable recommendation module 144 can recommend an alternative component (e.g., in a pop-up window on the display, as a design recommendation 311, or as a string text in a dialog box 312). The recommendation can be based on the design specifications for evaluating the alternative component, a previous system performance evaluation of the alternative component, or a combination of both.
[0032] For all system elements whose actual performance is equal to the achievable system performance, additional system components are listed in the ranking with lower performance, as shown by alternative components 323 on dashboard 300. This can be useful in the case where the system configuration meets the goals 301 and requirements 302, however the user can have a particular preference for one or more alternative components based on one or more different factors. Providing such an option to the user allows flexibility in the design process and ensures that alternative selections of the system configuration will still meet the goals and requirements for overall system performance.
[0033] In an embodiment, the top ranked system design configuration 331 displayed on the dashboard 300 is recommended to the user by the interpretable recommendation module 144 for settings for a complete performance simulation.
[0034] Figure 4An example of an alternative dashboard view including a graphical representation of a system configuration according to a disclosed embodiment is shown. For example, dashboard 400 is a graphical user interface that can be displayed to a user on a portion of a computer monitor. The functionality of dashboard 400 includes providing an interactive GUI to a user having the most important system design view information for engineering design activities, which allows design activities that would normally take hours to perform in a few minutes using conventional means. For example, design parameters and design components can be quickly exchanged within a system design view because key contextual information is immediately viewable for any target component. In an embodiment, dashboard 400 can be integrated with engineering application 112 as a separate screen view that can be switched on and off from an engineering tool for a target design. Alternatively, dashboard 400 can be displayed on a first portion of a screen while displaying one or more engineering tools on a second portion of the screen. As shown, the dashboard screen portion can include design goals 401, design requirements 402, environmental condition files 403, system design files 404, visual system design views 405, design indicators 407, target component views 408, target component detail views 409, system design performance bars 410, design recommendations 411, dialog boxes 412, team chats 413, and top-ranked designs 414. The dialog box 412 is a portion of the dashboard 400 display that allows a user to type a plain text string request for design view information, and displays a dialog response with design view information extracted from a design repository to the user through a design machine operation. In addition to the dialog box feature, the design view is graphically displayed as a system design 405 with a target component 408 associated with the user's design view request. For example, as shown, the system design 1 involves an electric quadcopter drone shown by the visual system design view 405, and the target component 408 is a rendered battery associated with the current session in the dialog box 412. In an embodiment, the GUI engine 113 generates a dashboard 400 with contextual information of the system design view object in conjunction with one or more AI modules 140-144, such as Figure 4The component of Battery 1 shown in is displayed as text with a context indicator (e.g., bold, special color, underline) that indicates to the user that context information is accessible for the component. For example, the context information of Battery 1 is displayed as a text string in the dialog box 412 answer block and as an overlay in the visual system design view, shown as the target component detail 409. In addition, when any object is referenced in the dialog box 412, the team chat section 413, or elsewhere in the dashboard 400, the object is displayed with a context indicator that allows the user to manipulate the object in various ways. For example, Battery 4 in the team chat 413 can be dragged into the visual system design view 405, and the AI modules 140-144 integrate different batteries into the system design, including updating the dashboard 400 with the target component view 408 and detail view 409 of Battery 4.
[0035] The target section 401 in the dashboard 400 is an interactive display of technical design parameters that allows the user to input parameter settings for the system design and record these settings in a visual manner, e.g. Figure 4 400 . The slider bar can be adjusted using an indicator device (e.g., a mouse or via a touch screen). Requirements file 402 is present on dashboard 400 to indicate the currently uploaded file containing design requirements for the active system design. The environmental conditions file 403 portion of dashboard 400 shows the currently uploaded file for system design as input to the system design analysis, such as the expected environmental conditions that the system design can encounter and need to perform satisfactorily. System design file 404 shows the currently uploaded system design file, which contains data for various system designs that the user can access through dashboard 400. Includes a display of rendered target components 408 and component properties 409, component properties can include but are not limited to: type, weight, energy, capacity, voltage, cost and URL link for further information.
[0036] When the conversational dialogue system refers to system elements (e.g., "system design 1", "battery 1") in response, the system elements are accessible as virtual objects and can be processed as objects, including but not limited to the following object operations: view, open, close, save, save as, send, share, move, cut and paste, copy and paste, delete, modify, sort, categorize, drag and drop. For example, Figure 4 The system element battery 1 can be processed as an object, and by selection operations (eg, pointing and clicking with a computer mouse), details and properties are viewed as target object details 409 , and a visual representation is viewed as a target component view 408 .
[0037] The system design view can take various forms, depending on the context of the request. For example, the dashboard can display one or more of the following: performance and properties of the target component and / or system can be displayed on the dashboard, a visual display of the system zoomed in on the target component, a graph of power consumption over time.
[0038] Figure 5 An example of a computing environment in which the disclosed embodiments can be implemented is shown. The computing environment 500 includes a computer system 510, which can include a communication mechanism such as a system bus 521 or other communication mechanism for passing information within the computer system 510. The computer system 510 also includes one or more processors 520 coupled to the system bus 521 for processing information. In an embodiment, the computing environment 500 corresponds to an engineering design system with a dialog feature for efficient design development, wherein the computer system 510 refers to a computer described in more detail below.
[0039] Processor 520 can include one or more central processing units (CPUs), graphics processing units (GPUs), or any other processors known in the art. More generally, a processor as described herein is a device for executing machine-readable instructions stored on a computer-readable medium for performing tasks, and can include any one or a combination of hardware and firmware. The processor can also include a memory storing machine-readable instructions, which can be executed for performing tasks. The processor acts on information by manipulating, analyzing, modifying, converting, or transmitting information for use by an executable program or information device, and / or by routing the information to an output device. For example, a processor can use or include the capabilities of a computer, a controller, or a microprocessor, and uses executable instructions to adjust the processor to perform a special function not performed by a general-purpose computer. The processor can include any type of suitable processing unit, including but not limited to a central processing unit, a microprocessor, a reduced instruction set computer (RISC) microprocessor, a complex instruction set computer (CISC) microprocessor, a microcontroller, an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), a system on a chip (SoC), a digital signal processor (DSP), etc. In addition, the processor 520 can have any suitable micro-architecture design, which includes any number of components, such as registers, multiplexers, arithmetic logic units, a cache controller for controlling read / write operations to a cache memory, a branch predictor, etc. The micro-architecture design of the processor can support any of a variety of instruction sets. The processor can be coupled to any other processor (electrically coupled and / or as an included executable component) to enable interaction and / or communication between them. The user interface processor or generator is a known element including electronic circuits or software or a combination of both, for generating a display image or part thereof. The user interface includes one or more display images that enable a user to interact with a processor or other device.
[0040] The system bus 521 can include at least one of a system bus, a memory bus, an address bus, or a message bus, and can allow information (e.g., data (including computer executable code), signaling, etc.) to be exchanged between various components of the computer system 510. The system bus 521 can include, but is not limited to, a memory bus or a memory controller, a peripheral bus, an accelerated graphics port, etc. The system bus 521 can be associated with any suitable bus architecture, including, but not limited to, an Industry Standard Architecture (ISA), a Micro Channel Architecture (MCA), an Enhanced ISA (EISA), a Video Electronics Standards Association (VESA) architecture, an Accelerated Graphics Port (AGP) architecture, a Peripheral Component Interconnect (PCI) architecture, a PCI-Express architecture, a Personal Computer Memory Card International Association (PCMCIA) architecture, a Universal Serial Bus (USB) architecture, etc.
[0041] Continue to refer Figure 5 , the computer system 510 can also include a system memory 530 coupled to the system bus 521 for storing information and instructions to be executed by the processor 520. The system memory 530 can include computer-readable storage media in the form of volatile and / or non-volatile memory, such as read-only memory (ROM) 531 and / or random access memory (RAM) 532. RAM 532 can include other dynamic storage devices (e.g., dynamic RAM, static RAM, and synchronous DRAM). ROM 531 can include other static storage devices (e.g., programmable ROM, erasable PROM, and electrically erasable PROM). In addition, the system memory 530 can be used to store temporary variables or other intermediate information during the execution of instructions by the processor 520. A basic input / output system 533 (BIOS) can be stored in ROM 531, which contains basic routines such as helping to transfer information between elements within the computer system 510 during startup. RAM 532 can contain data and / or program modules that the processor 520 can access immediately and / or are currently operating on by the processor. System memory 530 can additionally include, for example, an operating system 534, an application program module 535, and other program modules 536. Application program module 535 can include Figure 1 or Figure 2 The aforementioned modules described can also include a user access portal for developing applications, which allows input parameters to be entered and modified as needed.
[0042] The operating system 534 can be loaded into the memory 530 and can provide an interface between other application software executed on the computer system 510 and the hardware resources of the computer system 510. More specifically, the operating system 534 can include a set of computer executable instructions for managing the hardware resources of the computer system 510 and for providing public services to other applications (e.g., managing memory allocation between various applications). In certain exemplary embodiments, the operating system 534 can control the execution of one or more program modules described as being stored in the data memory 540. The operating system 534 can include any operating system now known or capable of being developed in the future, including but not limited to any server operating system, any mainframe operating system, or any other proprietary or non-proprietary operating system.
[0043] The computer system 510 can also include a disk / media controller 543 coupled to the system bus 521 to control one or more storage devices for storing information and instructions, such as a magnetic hard disk 541 and / or a removable media drive 542 (e.g., a floppy disk drive, an optical drive, a tape drive, a flash drive, and / or a solid-state drive). The storage device 540 can be added to the computer system 510 using an appropriate device interface (e.g., Small Computer System Interface (SCSI), Integrated Device Electronics (IDE), Universal Serial Bus (USB), or FireWire). The storage devices 541, 542 can be external to the computer system 510.
[0044] The computer system 510 can include a user input / output interface module 560 for processing user input from a user input device 561, which can include one or more devices such as a keyboard, a touch screen, a tablet computer, and / or a pointing device, for interacting with a computer user and providing information to the processor 520. The user interface module 560 also processes system output to a user display device 562 (e.g., via an interactive GUI display).
[0045] The computer system 510 can execute part or all of the processing steps of the embodiments of the present invention in response to the processor 520 executing one or more sequences of one or more instructions contained in the memory (e.g., the system memory 530). Such instructions can be read into the system memory 530 from another computer-readable medium (e.g., a magnetic hard disk 541 or a removable media drive 542) of the memory 540. The magnetic hard disk 541 and / or the removable media drive 542 can contain one or more data stores and data files used by the embodiments of the present disclosure. The data store 540 can include, but is not limited to, a database (e.g., relational, object-oriented, etc.), a file system, a flat file, a distributed data store, a peer-to-peer network data store, etc., wherein the data is stored on more than one node of the computer network. The data store content and the data file can be encrypted to improve security. The processor 520 can also be used in a multi-processing arrangement to execute one or more instruction sequences contained in the system memory 530. In an alternative embodiment, hard-wired circuits can be used instead of software instructions or in combination with software instructions. Therefore, the embodiments are not limited to any specific combination of hardware circuits and software.
[0046] As described above, the computer system 510 can include at least one computer-readable medium or memory for storing instructions programmed according to embodiments of the present invention and for containing data structures, tables, records, or other data described herein. The term "computer-readable medium" used herein refers to any medium that participates in providing instructions to the processor 520 for execution. Computer-readable media can take a variety of forms, including but not limited to non-transient, non-volatile media, volatile media, and transmission media. Non-limiting examples of non-volatile media include optical disks, solid-state drives, magnetic disks, and magneto-optical disks, such as magnetic hard disks 541 or removable media drives 542. Non-limiting examples of volatile media include dynamic memory, such as system memory 530. Non-limiting examples of transmission media include coaxial cables, copper wires, and optical fibers, including wires that constitute the system bus 521. Transmission media can also take the form of sound waves or light waves, such as those generated during radio wave and infrared data communications.
[0047] The computer-readable medium instructions for performing the operation of the present disclosure can be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-related instructions, microcode, firmware instructions, state setting data or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages, such as Smalltalk, C++, etc., and traditional process programming languages, such as "C" programming language or similar programming languages. Computer-readable program instructions can be executed completely on a user's computer, partly on a user's computer, as an independent software package, partly on a user's computer and partly on a remote computer or completely on a remote computer or server. In the latter case, the remote computer can be connected to the user's computer through any type of network (including a local area network (LAN) or a wide area network (WAN)), or can be connected to an external computer (for example, by using the Internet of an Internet (Internet) service provider). In some embodiments, electronic circuits including, for example, programmable logic circuits, field programmable gate arrays (FPGAs) or programmable logic arrays (PLAs) can be personalized electronic circuits by utilizing the state information of computer-readable program instructions for executing computer-readable program instructions, so as to perform various aspects of the present disclosure.
[0048] Various aspects of the present disclosure are described herein with reference to flowchart illustrations and / or block diagrams of methods, devices (systems) and computer program products according to embodiments of the present disclosure. It should be understood that each block of the flowchart illustration and / or block diagram and the combination of blocks in the flowchart illustration and / or block diagram can be implemented by computer-readable medium instructions.
[0049] The computing environment 500 can also include a computer system 510 operating in a networked environment, which uses logical connections to one or more remote computers, such as to a remote computing device 573. The network interface 570 can enable communication with other remote devices 573 or systems and / or storage devices 541, 542, for example, via a network 571. The remote computing device 573 can be a personal computer (notebook or desktop), a mobile device, a server, a router, a network PC, a peer device or other public network node, and typically includes many or all of the elements described above with respect to the computer system 510. When used in a network environment, the computer system 510 can include a modem 572 for establishing communications over a network 571, such as the Internet. The modem 572 can be connected to the system bus 521 via the user network interface 570 or via another appropriate mechanism.
[0050] The network 571 can be any network or system known in the art, including the Internet, an intranet, a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), a direct connection or a serial connection, a cellular telephone network, or any other network or medium that can facilitate the communication between the computer system 510 and other computers (e.g., a remote computing device 573). The network 571 can be wired, wireless, or a combination thereof. A wired connection can be implemented using Ethernet, a universal serial bus (USB), RJ-6, or any other wired connection known in the art. A wireless connection can be implemented using Wi-Fi, WiMAX, and Bluetooth, infrared, a cellular network, a satellite, or any other wireless connection method known in the art. In addition, several networks can work alone or communicate with each other to facilitate the communication in the network 571.
[0051] It should be understood that Figure 5 The program modules, applications, computer executable instructions, codes, etc., depicted as stored in system memory 530 are merely illustrative and not exhaustive, and the processing described as supported by any particular module may alternatively be distributed across multiple modules or performed by different modules. In addition, various program modules, scripts, plug-ins, application programming interfaces (APIs), or any other suitable computer executable code hosted locally on computer system 510, remote devices 573, and / or hosted on other computing devices accessible via one or more networks 571 can be provided to support the processing by Figure 5 The functions and / or additional or alternative functions provided by the program modules, applications or computer executable codes depicted in the . In addition, the functions can be modularized differently so that the functions described as being provided by the . Figure 5The processing commonly supported by the set of program modules depicted in the can be performed by a fewer or greater number of modules, or the functionality described as supported by any particular module can be supported at least in part by another module. In addition, the program modules supporting the functionality described herein can form part of one or more applications that can be executed in any number of systems or devices according to any suitable computing model, such as a client-server model, a peer-to-peer model, etc. In addition, the functions described as being supported by Figure 5 Any functionality supported by any program modules depicted in the can be implemented, at least in part, in hardware and / or firmware on any number of devices.
[0052] It should also be understood that, without departing from the scope of the present disclosure, the computer system 510 can include replacement and / or additional hardware, software or firmware components other than those described or depicted. More specifically, it should be understood that the software, firmware or hardware components depicted as forming part of the computer system 510 are merely illustrative, and in various embodiments, certain components may not exist or additional components may be provided. Although various illustrative program modules have been depicted and described as software modules stored in the system memory 530, it should be understood that the functions described as supported by the program modules can be implemented by any combination of hardware, software and / or firmware. It should also be understood that in various embodiments, each of the above modules can represent a logical division of the supported functions. The logical division is depicted for the convenience of explaining the functionality, and may not represent the structure of the software, hardware and / or firmware used to implement the functionality. Therefore, it should be understood that in various embodiments, the functions described as provided by a particular module can be provided at least in part by one or more other modules. In addition, in some embodiments, one or more of the depicted modules may not exist, while in other embodiments, additional modules that are not depicted may exist and may support at least a portion of the described functions and / or additional functions. Furthermore, while certain modules may be depicted and described as sub-modules of another module, in certain embodiments such modules may be provided as stand-alone modules or as sub-modules of other modules.
[0053] Although the specific embodiments of the present disclosure have been described, it will be appreciated by those of ordinary skill in the art that many other modifications and alternative embodiments are within the scope of the present disclosure. For example, any function and / or processing capability described about a particular device or component can be performed by any other device or component. In addition, although various illustrative embodiments and architectures have been described according to the embodiments of the present disclosure, it will be appreciated by those of ordinary skill in the art that many other modifications to the illustrative embodiments and architectures described herein are also within the scope of the present disclosure. In addition, it should be understood that any operation, element, component, data, etc. described herein as being based on another operation, element, component, data, etc. can be additionally based on one or more other operations, elements, components, data, etc. Therefore, the phrase "based on" or its variations should be interpreted as "based at least in part on".
[0054] Flowchart and block diagram in the figure illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present disclosure.In this regard, each block in the flow chart or block diagram can represent a part of a module, segment or instruction, which includes one or more executable instructions for realizing a specified logical function.In some alternative embodiments, the function marked in the frame can not occur in the order marked in the figure.For example, according to the function involved, the two blocks shown continuously can actually be performed substantially simultaneously, or these blocks can sometimes be performed in reverse order.It will also be noted that the combination of each block of the block diagram and / or flow chart illustration and the block diagram and / or flow chart illustration can be realized by a system based on special hardware that performs a specified function or action or performs a combination of special hardware and computer instructions.
Claims
1. A system for generating a performance-based system design configuration, comprising: processor; and A non-volatile memory, wherein a module executed by the processor is stored in the non-volatile memory, the module comprising: a design configuration module configured to receive a seed design, a specification of system design requirements, and user-defined goals for the system and generate a set of system design configurations, each of the system design configurations comprising a unique set of components that satisfy the system goals and the system requirements; An explainable recommendation module, wherein the explainable recommendation module is configured to: determining, for each system design configuration, an evaluated system performance value associated with each component of the system design configuration, wherein the system performance value represents a component-based contribution to a performance of the system configuration based on the simulation model; and sorting the list of system configurations according to the system performance value; and a user interface module configured to communicate the exchanged information between a graphical user interface and the interpretable recommendation module, wherein the graphical user interface displays a design dashboard, the design dashboard presenting the system configurations in a ranked order and, for each of the system configurations, presenting an estimated system performance value of each system configuration component; wherein the top-ranked system configuration is recommended to the user for performance simulation setting, The explainable recommendation module is further configured to: perform requirement decomposition, decomposing the requirements into functional and physical block representations that can be mapped to components.
2. The system according to claim 1, wherein: The dashboard includes accessible component representations as virtual objects to be processed on the graphical user interface during various operations.
3. The system according to claim 1, wherein: The explainable recommendation module is further configured to: receiving, at the graphical user interface, a replacement component selection of one of the system configuration components having a minimum performance value; The system configuration is re-evaluated using the replacement component selection to determine new system performance values.
4. The system according to claim 3, wherein: The interpretable recommendation module is further configured to send a request prompt to a user on the graphical user interface as a request for the replacement component, wherein the replacement component has an actual performance value determined through simulation.
5. The system according to claim 1, wherein: The explainable recommendation module is further configured to provide replacement components for system configurations with lower system performance values to help users selectively replace them.
6. The system according to claim 1, wherein: The explainable recommendation module implements a machine learning based model that is trained to predict the performance of system configurations.
7. A method for generating a performance-based system design configuration, comprising: Receives the seed design, requirements specification for the system design, and user-defined goals for the system; generating a set of system design configurations, each system design configuration including a unique set of components that satisfy system goals and system requirements; determining, for each system design configuration, an evaluated system performance value associated with each component of the system design configuration, wherein the system performance value represents a component-based contribution to a performance of the system configuration based on the simulation model; sorting the list of system configurations according to the system performance values; and displaying a design dashboard on a graphical user interface, the design dashboard presenting system configurations in a ranked order and, for each of the system configurations, presenting an estimated system performance value for each system configuration component; wherein the top-ranked system configuration is recommended to a user for performance simulation setup, Perform requirements decomposition into functional and physical block representations that can be mapped to the components.
8. The method according to claim 7, wherein: The dashboard includes accessible component representations as virtual objects to be processed on the graphical user interface during various operations.
9. The method according to claim 7, further comprising: receiving, at the graphical user interface, a replacement component selection of one of the system configuration components having a minimum performance value; The system configuration is re-evaluated using the replacement component selection to determine new system performance values.
10. The method according to claim 9, further comprising: A request prompt is sent to a user on the graphical user interface as a request for the replacement component, wherein the replacement component has an actual performance value determined by simulation.
11. The method according to claim 7, further comprising: Replacement components are provided for system configurations with lower system performance values to assist users in selective replacement.
12. The method of claim 7, further comprising training a machine learning based model to predict performance of a system configuration.
Citation Information
Patent Citations
Machine-learning design enablement platform
US10678973B2
Inverse and forward modeling machine learning-based generative design
US20220108185A1