WO2019103773A1 - Automatically identifying alternative functional capabilities of designed artifacts - Google Patents
Automatically identifying alternative functional capabilities of designed artifacts Download PDFInfo
- Publication number
- WO2019103773A1 WO2019103773A1 PCT/US2018/047024 US2018047024W WO2019103773A1 WO 2019103773 A1 WO2019103773 A1 WO 2019103773A1 US 2018047024 W US2018047024 W US 2018047024W WO 2019103773 A1 WO2019103773 A1 WO 2019103773A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- functional
- system design
- listing
- traits
- digital twin
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
Definitions
- the system design in response to presenting the listing of functional traits, is mod ified based on one or more commands received from the user.
- a new digital twin graph representative of the modified system design is then generated.
- the machine learning model may then be applied to the new digital twin graph to identify a new listing of functional traits provided by the system design,
- FIG. I provides a conceptual overview of how ? alternative functional capabilities of a system can be identified, according to some embodiments.
- FIG. 2 illustrates a computer-implemented method for automatically identifying alternative functional capabilities of designed artifacts, according to some embodiments.
- FIG. 3 provides an example of a parallel processing memory architecture that may be utilized to perform computations related to execution of the various workflows discussed herein, according to some embodiments of the present invention.
- the following disclosure describes the present invention according to several embodiments directed at methods and apparatuses for automatical! ⁇ ' identifying alternative functional capabilities of designed artifact.
- the techniques described herein allow the designer, at design time, to understand when their design provides unintended or undesired functionality.
- a heat shield that also provides radiation shielding or a structure that provides stiffness but also thermal insulation.
- FIG. 1 provides a conceptual overview of how alternative functional capabilities of a system can be identified, according to some embodiments.
- the user specifies a new design 105 that may include, for example, a functional specification, a description of materials used by the design, models of the volumes and shapes used in the design, etc.
- a digital twin graph (DTG) 1 10 representative of the system is generated and analyzed by a knowledge system 115 to generate a functional description 120 of the system.
- DTG digital twin graph
- a digital twin is a digital version of a machine. Once created, the DT can be used to represent the machine in a digital representation of a real world system. The DT is created such that it is identical in form and behavior of the corresponding machine. Additionally, the DT may mirror the status of the machine within a greater system. For example, sensors may be placed on the machine to capture real-time (or near real-time) data from the physical object to relay it back to a remote DT, The DT can then make any changes necessary to maintain its correspondence to the physical twin.
- the DTG is a graph structure where nodes correspond to DTs and edges correspond to data flowing between DTs.
- the agent can observe the state of the environment and choose to act on the state, similar to a trial-and-error search, maximizing the future reward signal received as a response from the environment.
- the environment may be modeled by simulation or operation which gives positive and negative rewards to the current state.
- the knowledge system 115 also includes a classifier 1 15B determining whether the functional traits identified by the machine learning model 115A are beneficial or detrimental to the system design.
- the classifier 1 15B may also determine that certain functional traits are entirely irrelevant to the system designer.
- Various types of classifiers can be used including, for example, generative learning models, predictive learning models, decision trees, etc. It should be noted that, although the classifier 115B is shown as a separate component than the machine learning model 115A in FIG. 1 , in some embodiments the two components 1 15 A, 115B can be combined in a single machine learning model that both generates the functional traits and classifies the traits as beneficial, detrimental, etc.
- the classifier 1 15B could be trained to use the file type as an input, along with the other characteristics of the system design.
- the knowledge system 1 15 may learn that every time that design is based on a file with a PRT file extension, it is structural and the designer does not care about thermal properties. Conversely, if the design is based on a DMZ file, the user may only care about thermal properties. Eventually, when the knowledge system 115 is presented with a PRT file, it will stop providing thermal functional traits are output. Similarly, when presented with a DMZ file, the knowledge system 1 15 may only provide thermal functional traits as output.
- FIG. 2 illustrates a computer-implemented method 200 for automatically identifying alternative functional capabilities of designed artifacts, according to some embodiments.
- This method 200 may be implemented generally using any computing system known in the art. For large, complex digital twin graphs, a parallel processing system such as described in FIG. 3 may be employed.
- the computing system receives a system design comprising a functional specification of a product. This step may entail, for example, capturing past designs and tacit knowledge from engineers.
- any technique known in the art may be used for communicating the system design to the computing system implementing the method 200. For example, in one embodiment, the computing system retrieves the functional specification from a database or some other form of local storage.
- a computing system applies a machine learning model to the digital twin graph to identify a listing of functional traits provided by the system design.
- a classifier is applied to the listing to generate an updated listing of the functional traits that classifies them into one or more classes.
- three classes are noted (beneficial, detrimental, and irrelevant); however, in principle, the classifier can be trained to classify the functional design into any number of classes. This may allow further granularity to be used in classification. For example, a company may employ a classification system that will indicate that a functional trait is not relevant to a particular product; however the functional trait may be relevant to another company manufactured or sold by the company.
- FIG. 3 provides an example of a parallel processing memory architecture 300 that may be utilized to perform computations related to execution of the various workflows discussed herein, according to some embodiments of the present invention.
- This architecture 300 may be used in embodiments of the present invention where NVIDIATM CIJDA (or a similar parallel computing platform) is used.
- the architecture includes a host computing unit (“host”) 305 and a graphics processing unit (GPU) device (“device”) 310 connected via a bus 315 (e.g., a PCIe bus).
- the host 305 includes the central processing unit, or“CPU” (not shown in FIG. 3), and host memory 325 which is accessible to the CPU.
- each kernel is performed by a grid of thread blocks (described in greater detail below).
- the architecture 300 of FIG. 3 may be used to parallelize modification or analysis of the digital twin graph.
- the operation s of the big data platform may be partitioned such that mul tiple kern els analyze different sub-graphs of a DT G simultaneously.
- the thread blocks 330 are organized in a two dimensional grid structure with m+1 rows and n+1 columns. Generally, threads in different thread blocks of the same grid cannot communicate or synchronize with each other. However, thread blocks in the same grid can run on the same multiprocessor within the GPU at the same time. The number of threads in each thread block may be limited by hardware or software constraints. [0032] Continuing with reference to FIG. 3, registers 355, 360, and 365 represent the fast memory available to thread block 330. Each register is only accessible by a single thread. Thus, for example, register 355 may only be accessed by thread 340. Conversely, shared memory is allocated per thread block, so ail threads in the block have access to the same shared memory.
- the embodiments of the present disclosure may be implemented with any combination of hardware and software.
- standard computing platforms e.g., servers, desktop computer, etc.
- the embodiments of the present disclosure may be included in an article of manufacture (e.g., one or more computer program products) having, for example, computer-readable, non-transitory media.
- the media may' have embodied therein computer readable program code for providing and facilitating the mechanisms of the embodiments of the present disclosure.
- the article of manufacture can be included as part of a computer system or sold separate! ⁇ '.
- An executable application comprises code or machine readable instructions for conditioning the processor to implement predetermined functions, such as those of an operating system, a context data acquisition system or other information processing system, for example, in response to user command or input.
- An executable procedure is a segment of code or machine readable instruction, sub-routine, or other distinct section of code or portion of an executable application for performing one or more particular processes. These processes may include receiving input data and/or parameters, performing operations on received input data and/or performing functions in response to received input parameters, and providing resulting output data and/or parameters.
Abstract
A computer-implemented method for automatically identifying alternative functional capabilities of designed artifacts includes receiving a system design comprising a functional specification of a product and generating a digital twin graph representative of the system design. The method further includes applying a machine learning model to the digital twin graph to identify a listing of functional traits provided by the system design. The listing of functional traits may then be presented to a user.
Description
AUTOMATICALLY IDENTIFYING ALTERNATIVE FUNCTIONAL CAPABILITIES
OF DESIGNED ARTIFACTS
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. Provisional Application Serial No. 62/590,683 filed November 27, 2017, which is incorporated herein by reference in its entirety.
TECHNICAL FIELD
[0002] The present disclosure generally relates to systems, methods, and apparatuses for the method and apparatus for automatically identifying alternative functional capabilities of designed artifacts. The techniques described herein may be applied, for example, to integrate sensor recommendations into functional design tools.
BACKGROUND
[0003] In engineering design, typically, the workflow is an iterative process which involves design synthesis, analysis, manufacture, and testing. This process is rife with loops where a return to the design stage is required due to some unforeseen consequence of an arbitrary design decision. Many times, the problem could be a voided by a functional understanding of the specified design. That is, if all of the functional capabilities of all of the design features and assemblies were understood automatically at the design stage, rather than only the functional capabilities for which the item(s) are being intentionally designed, problems leading to expensive redesign processes could be avoided.
[0004] The traditional engineering design solution to this problem is the design-analysis- manufacture-testing loop, a very costly and inefficient loop structure which slows development to a crawl. More recent attempts to shorten this loop include steps to integrate analysis tools directly into design software (CAD/CAM/CAE) and design guidance/advisor systems (such as those in Siemens NX). Despite these efforts, identifying alternative functional capabilities is still a very inefficient practice in convention systems.
SUMMARY
[0005] Embodiments of the present invention address and overcome one or more of the above shortcomings and drawbacks, by providing methods and apparatuses for automatically identifying alternative functional capabilities of designed artifacts.
[0006] According to some embodiments, a computer-implemented method for automatically identifying alternative functional capabilities of designed artifacts includes receiving a system design comprising a functional specification of a product. The system design may include, for example, an indication of materials to be used in constructing the product, an indication of volumes to be used in constructing the product, and an indication of shapes to be used in constructing the product. A digital twin graph representative of the system design is then generated. The method further includes applying a machine learning model to the digital twin graph to identify a listing of functional traits provided by the system design. The listing of functional traits may then be presented to a user.
[0007] In some embodiments of the aforementioned method, in response to presenting the listing of functional traits, the system design is mod ified based on one or more commands received from the user. A new digital twin graph representative of the modified system design is then generated. The machine learning model may then be applied to the new digital twin graph to identify a new listing of functional traits provided by the system design,
[0008] In some embodiments of the aforementioned method, a classifier is applied to the listing of functional traits to generate an updated listing of functional traits indicating whether each functional trait is beneficial to the system design or detrimental to the system design. Alternatively (or additionally), the updated listing of functional traits may include a measurement for each functional trait indicating the degree to which the functional trait is beneficial to the system design. This listing of functional traits may then be presented to the user in the updated l isting of functional traits. Additionally, in one embodiment, the functional specification of the product may be modified based on a user selection of one or more functions on the updated listing of functional traits to a user. Next, a new digital twin graph representative of the modified system design is generated. Then, the machine learning model is applied to the new digital twin graph to identify a new listing of functional traits provided by the system design.
[0009] In other embodiments, a computer-implemented method for automatically identifying alternative functional capabilities of designed artifacts includes generating a digital twin graph representative of the system design. The system design comprises a functional specification of a product. A machine learning model is applied to the digital twin graph to identify' a listing of functional traits provided by the system design. A classifier is applied to the listing of functional traits to generate an updated listing of functional traits that cl assifies each functional trait into one of a plurality of classes. The listing of functional traits may then be presented to a user.
[0010] According to another aspect of the present invention, a computer system comprises one or more processors and a non-volatile memory, and the non-volatile memory' stores instructions that, when executed by the one or more processors, cause the one or more processors to perform one or both of the methods discussed above.
[0011] Additional features and advantages of the invention will be made apparent from the following detailed description of illustrative embodiments that proceeds with reference to the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
[0012] The foregoing and other aspects of the present invention are best understood from the following detailed description when read in connection with the accompanying drawings. For the purpose of illustrating the invention, there is shown in the drawings embodiments that are presently preferred, it being understood, however, that the invention is not limited to the specific instrumentalities disclosed. Included in the drawings are the following Figures;
[0013] FIG. I provides a conceptual overview of how? alternative functional capabilities of a system can be identified, according to some embodiments;
[0014] FIG. 2 illustrates a computer-implemented method for automatically identifying alternative functional capabilities of designed artifacts, according to some embodiments; and
[0015] FIG. 3 provides an example of a parallel processing memory architecture that may be utilized to perform computations related to execution of the various workflows discussed herein, according to some embodiments of the present invention.
DETAILED DESCRIPTION
[0016] The following disclosure describes the present invention according to several embodiments directed at methods and apparatuses for automatical!}' identifying alternative functional capabilities of designed artifact. Through an automatic understanding of the multidomain functional capabilities of the designed system, the techniques described herein allow the designer, at design time, to understand when their design provides unintended or undesired functionality. Moreover, by enabling the designer to understand unintended functionality of their design in progress, it may be possible to improve the design by allowing multiple functions to be performed by the same geometry. For example, a heat shield that also provides radiation shielding or a structure that provides stiffness but also thermal insulation.
[0017] FIG. 1 provides a conceptual overview of how alternative functional capabilities of a system can be identified, according to some embodiments. The user specifies a new design 105 that may include, for example, a functional specification, a description of materials used by the design, models of the volumes and shapes used in the design, etc. A digital twin graph (DTG) 1 10 representative of the system is generated and analyzed by a knowledge system 115 to generate a functional description 120 of the system.
[0018] As is generally understood in the art, a digital twin (DT) is a digital version of a machine. Once created, the DT can be used to represent the machine in a digital representation of a real world system. The DT is created such that it is identical in form and behavior of the corresponding machine. Additionally, the DT may mirror the status of the machine within a greater system. For example, sensors may be placed on the machine to capture real-time (or near real-time) data from the physical object to relay it back to a remote DT, The DT can then make any changes necessary to maintain its correspondence to the physical twin. The DTG is a graph structure where nodes correspond to DTs and edges correspond to data flowing between DTs. Even though the DTG may comprise a large graph with billions of nodes and edges, existing databases (e.g., GraphX, Linked Data) and algorithms (e.g., Pregel, MapReduce) running in parallel processing platforms (see FIG. 3) may be used to efficiently search and update the DTG. Alternatively, a specialized database that uses graph structures for semantic queries (i.e., a“graph database”) may be used in some embodiments.
[0019] This functional description 120 includes a listing of one or more“functional traits” related to the system design. In this context, the term“functional trait” refers to a quality or characteristic of the system design that provides a certain function. In the example of FIG. 1 , these functional traits indicate that the design is not permeable to radiation, it has acoustic damping properties, and it is an insulator. This information may confirm expectations of the design, or reveal unknown desired or undesired functional artifacts. For example, radiation permeability may be an unknown value-add, given the intended use of the designed system. Conversely, the insulating features may be undesired. As another example, if a designer specifies a Young’s modulus of ~70Gpa and a Poisson’s ratio of -0.33, a design system may recommend 6061 aluminum. The additional layer provided by the knowledge system will raise functional concerns immediately. This includes functional traits that are generally considered positive (e.g., high weldability, low relative weight) and functional traits which are good or bad or not of concern, depending on the application (no real fatigue limit, non-ferromagnetic, relatively high coefficient of thermal expansion, possibility of galvanic corrosion depending on materials used in other contacting parts).
[0020] The knowledge system 115 is a software system that generates the functional traits based on an input of a DTG 1 10, and possibly other inputs. For example, in some embodiments, deep learning neural networks may be employed such as feed-forward neural networks, convolutional neural networks, or recurrent neural networks. In other embodiments, the knowledge system 1 15 employs a Reinforcement Learning (RL) machine learning model. As is generally understood in the art, RL facilitates learning as an end-to-end cognitive process for an artificial agent, instead of a predefined methodology. One RL setting is composed by an artificial agent that can interact with an uncertain environment (e.g., a new system design with unknown functional traits) with the target of reaching pre-determined goals (e.g., providing a list of relevant functional traits). The agent can observe the state of the environment and choose to act on the state, similar to a trial-and-error search, maximizing the future reward signal received as a response from the environment. The environment may be modeled by simulation or operation which gives positive and negative rewards to the current state.
[0021] The knowledge system 115 also includes a classifier 1 15B determining whether the functional traits identified by the machine learning model 115A are beneficial or detrimental to
the system design. The classifier 1 15B may also determine that certain functional traits are entirely irrelevant to the system designer. Various types of classifiers can be used including, for example, generative learning models, predictive learning models, decision trees, etc. It should be noted that, although the classifier 115B is shown as a separate component than the machine learning model 115A in FIG. 1 , in some embodiments the two components 1 15 A, 115B can be combined in a single machine learning model that both generates the functional traits and classifies the traits as beneficial, detrimental, etc.
[0022] In these embodiments, the machine learning model 115A and/or classifier 115B may be trained to some degree prior to deployment at a user site. Over time, as the user creates new designs, they are used to retrain the machine learning model 115A and/or classifier 115B. For example, designers of a video game system such as the Microsoft Xbox™ may not care whether a system design is watertight, or whether the system design will or will not float. However, these designers may have a strong interest in determining whether certain design components are good insulators. Thus, the classi fier 1 1 SB can learn what properties are more important to which groups of designers or for which kind of designs. This technique can even be extended to the types of files used during a design. That is, the classifier 1 15B could be trained to use the file type as an input, along with the other characteristics of the system design. For example, the knowledge system 1 15 may learn that every time that design is based on a file with a PRT file extension, it is structural and the designer does not care about thermal properties. Conversely, if the design is based on a DMZ file, the user may only care about thermal properties. Eventually, when the knowledge system 115 is presented with a PRT file, it will stop providing thermal functional traits are output. Similarly, when presented with a DMZ file, the knowledge system 1 15 may only provide thermal functional traits as output.
[0023] In some embodiments, the classifier 115B generates an updated listing of functional traits indicating whether each function is beneficial to the system design or detrimental to the system design. For example, the functional traits generated by machine learning model 115A can be given a binary value indicating whether the trait is beneficial or detrimental. This concept can be extended to three numbers to further indicate that a trait is not relevant. In other embodiments, the classifier 1 15B may provide a measurement for each function trait indicating how beneficial the function trait is to the system design. For example, a measurement of 90% of a particular trait
would indicate that the trait is highly relevant, while a measurement of 10% would indicate that a trait is highly irrelevant. The use of measurement scores has the added benefit that the traits can be sorted in a particular order according to score (e.g., ascending order, with largest score is best). Techniques for generating a measurement score using a classifier are generally known in the art and, thus, these techniques are not described in detail herein. As an example, in some embodiments, a probabilistic classifier may be used which outputs a probability of a trait being a member of each of the possible classes (e.g., beneficial, detrimental, irrelevant, etc.). This probability can then be used as the measurement score.
[0024] Continuing with reference to FIG. 1 , based on information provided in the functional description 120, the system designer may revise the design and the process repeats using the revised design as the new design 105. This loop can execute as many times as necessary until the functional description 120 matches the desires and expectations of the designer. In some embodiments, the revisions made by the system designer may be used for training the machine learning model 115A and/or classifier 1 15B. As a simple example, if the system designer indicates that a particular set of functional traits are not relevant, the classifier 115B may use this information to make the traits as irrelevant when presented with similar knowledge graphs in the future.
[0025] FIG. 2 illustrates a computer-implemented method 200 for automatically identifying alternative functional capabilities of designed artifacts, according to some embodiments. This method 200 may be implemented generally using any computing system known in the art. For large, complex digital twin graphs, a parallel processing system such as described in FIG. 3 may be employed. Starting at step 205 in FIG. 2, the computing system receives a system design comprising a functional specification of a product. This step may entail, for example, capturing past designs and tacit knowledge from engineers. In general, any technique known in the art may be used for communicating the system design to the computing system implementing the method 200. For example, in one embodiment, the computing system retrieves the functional specification from a database or some other form of local storage. In other embodiments, the method 200 is integrated into a design tool such that the functional design is available in the same memory space within the computing system as the software executing the method 200.
[0026] Continuing with reference to FIG. 2, at step 210, the computing system generates a digital twin graph representative of the system design. Various techniques may be used for generating a digital twin graph. For example, in some embodiments, a requirement distiller receives the design documents, extracts useful information, and stores that information as an ontology that can, in turn, he used to form a graph. One example of generating a digital twin graph from a functional specification is described in PCT/US2018/024490 entitled “System for Automated Generative Design Synthesis using Data from Design Tools and Knowledge from a Digital Twin” filed on March 27, 2018, the entirety of which is incorporated herein by reference.
[0027] At step 215, a computing system applies a machine learning model to the digital twin graph to identify a listing of functional traits provided by the system design. Then, at step 220, a classifier is applied to the listing to generate an updated listing of the functional traits that classifies them into one or more classes. In FIG. 2, three classes are noted (beneficial, detrimental, and irrelevant); however, in principle, the classifier can be trained to classify the functional design into any number of classes. This may allow further granularity to be used in classification. For example, a company may employ a classification system that will indicate that a functional trait is not relevant to a particular product; however the functional trait may be relevant to another company manufactured or sold by the company. Finally, once the updated listing of the functional traits is generated, it may be presented to a user at step 225 on a display connected to the computing system. It should be noted that the display is not necessarily local to the computing system. For example, in some embodiments, the method 200 is executed on a cloud-based computing system and the updated listing is presented to the user via a web browser or mobile application.
[0028] FIG. 3 provides an example of a parallel processing memory architecture 300 that may be utilized to perform computations related to execution of the various workflows discussed herein, according to some embodiments of the present invention. This architecture 300 may be used in embodiments of the present invention where NVIDIA™ CIJDA (or a similar parallel computing platform) is used. The architecture includes a host computing unit (“host”) 305 and a graphics processing unit (GPU) device (“device”) 310 connected via a bus 315 (e.g., a PCIe bus). The host 305 includes the central processing unit, or“CPU” (not shown in FIG. 3), and host memory 325 which is accessible to the CPU. The device 310 includes the graphics processing unit (GPU) and its associated memory 320, referred to herein as device memory. The device
memory 320 may include various types of memory, each optimized for different memory usages. For example, in some embodiments, the device memory includes global memory, constant memory', and texture memory'.
[0029] Parallel portions of a big data platform and/or big simulation platform may be executed on the architecture 300 as“device kernels” or simply“kernels.” A kernel comprises parameterized code configured to perform a particular function. The parallel computing platform is configured to execute these kernels in an optimal manner across the architecture 300 based on parameters, settings, and other selections provided by the user. Additionally, in some embodiments, the parallel computing platform may include additional functionality to allow for automatic processing of kernels in an optimal manner with minimal input provided by the user.
[0030] The processing required for each kernel is performed by a grid of thread blocks (described in greater detail below). Using concurrent kernel execution, streams, and synchronization with lightweight events, the architecture 300 of FIG. 3 (or similar architectures) may be used to parallelize modification or analysis of the digital twin graph. For example, in some embodiments, the operation s of the big data platform may be partitioned such that mul tiple kern els analyze different sub-graphs of a DT G simultaneously.
[0031] The device 310 includes one or more thread blocks 330 which represent the computation unit of the device 310. The term thread block refers to a group of threads that can cooperate via shared memory and synchronize their execution to coordinate memory accesses. For example, in FIG. 3, threads 340, 345 and 350 operate in thread block 330 and access shared memory 335. Depending on the parallel computing platform used, thread blocks may be organized in a grid structure. A computation or series of computations may then be mapped onto this grid. For example, in embodiments utilizing CUDA, computations may be mapped on one-, two-, or three-dimensional grids. Each grid contains multiple thread blocks, and each thread block contains multiple threads. For example, in FIG. 3, the thread blocks 330 are organized in a two dimensional grid structure with m+1 rows and n+1 columns. Generally, threads in different thread blocks of the same grid cannot communicate or synchronize with each other. However, thread blocks in the same grid can run on the same multiprocessor within the GPU at the same time. The number of threads in each thread block may be limited by hardware or software constraints.
[0032] Continuing with reference to FIG. 3, registers 355, 360, and 365 represent the fast memory available to thread block 330. Each register is only accessible by a single thread. Thus, for example, register 355 may only be accessed by thread 340. Conversely, shared memory is allocated per thread block, so ail threads in the block have access to the same shared memory. Thus, shared memory 335 is designed to be accessed, in parallel, by each thread 340, 345, and 350 in thread block 330. Threads can access data in shared memory 335 loaded from device memory 320 by other threads within the same thread block (e.g., thread block 330). The device memory 320 is accessed by all blocks of the grid and may be implemented using, for example, Dynamic Random-Access Memory (DRAM).
[0033] Each thread can have one or more levels of memory access. For example, in the architecture 300 of FIG. 3, each thread may have three levels of memory access. First, each thread 340, 345, 350, can read and write to its corresponding registers 355, 360, and 365. Registers provide the fastest memory access to threads because there are no synchronization issues and the register is generally located close to a multiprocessor executing the thread. Second, each thread 340, 345, 350 in thread block 330, may read and write data to the shared memory' 335 corresponding to that block 330. Generally, the time required for a thread to access shared memory exceeds that of register access due to the need to synchronize access among all the threads in the thread block. However, like the registers in the thread block, the shared memory is typically located close to the multiprocessor executing the threads. The third level of memory access allows all threads on the device 310 to read and/or write to the device memory. Device memory requires the longest time to access because access must be synchronized across the thread blocks operating on the device. Thus, in some embodiments, the processing of each sub-graph is coded such that it primarily utilizes registers and shared memory and only utilizes device memory as necessary' to move data in and out of a thread block.
[0034] The embodiments of the present disclosure may be implemented with any combination of hardware and software. For example, aside from parallel processing architecture presented in FIG. 3, standard computing platforms (e.g., servers, desktop computer, etc.) may be specialty configured to perform the techniques discussed herein. In addition, the embodiments of the present disclosure may be included in an article of manufacture (e.g., one or more computer program products) having, for example, computer-readable, non-transitory media. The media may' have
embodied therein computer readable program code for providing and facilitating the mechanisms of the embodiments of the present disclosure. The article of manufacture can be included as part of a computer system or sold separate!}'.
[0035] While various aspects and embodiments have been disclosed herein, other aspects and embodiments will be apparent to those skilled in the art. The various aspects and embodiments disclosed herein are for purposes of illustration and are not intended to be limiting, with the true scope and spirit being indicated by the following claims.
[0036] An executable application, as used herein, comprises code or machine readable instructions for conditioning the processor to implement predetermined functions, such as those of an operating system, a context data acquisition system or other information processing system, for example, in response to user command or input. An executable procedure is a segment of code or machine readable instruction, sub-routine, or other distinct section of code or portion of an executable application for performing one or more particular processes. These processes may include receiving input data and/or parameters, performing operations on received input data and/or performing functions in response to received input parameters, and providing resulting output data and/or parameters.
[0037] A graphical user interface (GUI), as used herein, comprises one or more display images, generated by a display processor and enabling user interaction with a processor or other device and associated data acquisition and processing functions. The GUI also includes an executable procedure or executable application. The executable procedure or executable application conditions the display processor to generate signals representing the GUI display images. These signals are supplied to a display device which displays the image for viewing by the user. The processor, under control of an executable procedure or executable application, manipulates the GUI display images in response to signals received from the input devices. In this way, the user may interact with the display image using the input devices, enabling user interaction with the processor or other de vice.
[0038] The functions and process steps herein may be performed automatically or wholly or partially in response to user command. An activity' (including a step) performed automatically' is
performed in response to one or more executable instructions or device operation without user direct initiation of the activity.
[0039] The system and processes of the figures are not exclusive. Other systems, processes and menus may be derived in accordance with the principles of the invention to accomplish the same objectives. Although this invention has been described with reference to particular embodiments, it is to be understood that the embodiments and variations shown and described herein are for illustration purposes only. Modifications to the current design may be implemented by those skilled in the art, without departing from the scope of the invention. As d escribed herein, the various systems, subsystems, agents, managers and processes can be implemented using hardware components, software components, and/or combinations thereof. No claim element herein is to be construed under the provisions of 35 U.S.C. 112(f), unless the element is expressly recited using the phrase "means for.”
Claims
1. A computer-implemented method for automatically identifying alternative functional capabilities of designed artifacts, the method comprising:
receiving a system design comprising a functional specification of a product;
generating a digital twin graph representative of the system design ;
applying a machine learning model to the digital twin graph to identify a listing of functional traits provided by the system design;
presenting the listing of functional traits to a user,
2. The method of claim 1, further comprising:
in response to presenting the listing of functional traits, modifying the system design based on one or more commands received from the user;
generating a new digital twin graph representative of the modified system design; and applying the machine learning model to the new digital twin graph to identify a new listing of functional traits provided by the system design.
3. The method of claim 1, further comprising:
applying a classifier to the listing of functional traits to generate an updated listing of functional traits indicating whether each functional trait is beneficial to the system design or detrimental to the system design,
wherein the listing of functional traits presented to the user is the updated listing of functional traits.
4. The method of claim 3, further comprising:
modifying the functional specification of the product based on a user selection of one or more functions on the updated listing of functional traits to a user;
generating a new' digital twin graph representative of the modified system design; and applying the machine learning model to the new digital twin graph to identify a new listing of functional traits provided by the system design.
5. The method of claim 1, further comprising:
applying a classifier to the listing of functional traits to generate an updated listing of functional traits comprising a measurement for each functional trait indicating the degree to which the functional trait is beneficial to the system design,
wherein the listing of functional traits presented to the user is the updated l isting of functional traits.
6. The method of claim 5, further comprising:
modifying the functional specification of the product based on a user sel ection of one or more functions on the updated listing of functional traits to a user;
generating a new digital twin graph representative of the modified system design; and applying the machine learning model to the new digital twin graph to identify a new' listing of functional traits provided by the system design.
7. The method of claim 1, wherein the system design further comprises an indication of materials to be used in constructing the product,
8. The method of claim 1, wherein the system design further comprises an indication of volumes to be used in constructing the product.
9. The method of claim 1, wherein the system design further comprises an indication of shapes to be used in constructing the product.
10. A computer- implemented method for automatically identifying alternative functional capabilities of designed artifacts, the method comprising:
generating a digital twin graph representative of the system design, wherein the system design comprises a functional specification of a product;
applying a machine learning model to the digital twin graph to identify a listing of functional traits provided by the system design;
applying a classifier to the listing of functional traits to generate an updated listing of functional traits that classifies each functional trait into one of a plurality of classes;
presenting the updated listing of functional traits to a user.
11. The method of claim 10, further comprising:
in response to presenting the updated listing of functional traits, modifying the system design based on one or more commands received from the user;
generating a new di gital twin graph representative of the modified system design; and applying the machine learning model to the new digital twin graph to identify a new listing of functional traits provided by the system design.
12. The method of claim 10, wherein the updated listing of functional traits to a user provides a single class for each functional trait indicating whether the functional trait is beneficial, detrimental, or irrelevant to the product.
13. The method of claim 12, further comprising:
modifying the functional specification of the product based on a user selection of one or more functions on the updated listing of functional traits to a user;
generating a new digital twin graph representative of the modified system design; and applying the machine learning model to the new digital twin graph to identify a new listing of functional traits provided by the system design.
14. The method of claim 10, wherein the updated listing of functional traits to a user provides a measurement value for each class indicating the degree to which each functional trait corresponds to the class.
15. The method of claim 14, further comprising:
modifying the functional specification of the product based on a user selection of one or more functions on the updated listing of functional traits to a user;
generating a new digital twin graph representative of the modified system design; and
applying the machine learning model to the new digital twin graph to identify a new listing of functional traits provided by the system design.
16. The method of claim 10, wherein the system design further comprises an indication of materials to be used in constructing the product,
17. The method of claim 10, wherein the system design further comprises an indication of volumes to be used in constructing the product.
18. The method of claim 10, wherein the system design further comprises an indication of shapes to be used in constructing the product.
19. A computer system comprising one or more processors and a non-volatile memory, wherein the non-volatile memory stores instructions that, when executed by the one or more processors, cause the one or more processors to perform a method comprising:
receiving a system design comprising a functional specification of a product;
generating a digital twin graph representative of the system design;
applying a machine learning model to the digital twin graph to identify a listing of functional traits provided by the system design;
applying a classifier to the listing of functional traits to generate an updated listing of functional traits comprising a measurement for each functional trait indicating the degree to which the functional trait is beneficial to the system design; and
presenting the updated listing of functional traits to a user.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762590683P | 2017-11-27 | 2017-11-27 | |
US62/590,683 | 2017-11-27 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019103773A1 true WO2019103773A1 (en) | 2019-05-31 |
Family
ID=63668000
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2018/047024 WO2019103773A1 (en) | 2017-11-27 | 2018-08-20 | Automatically identifying alternative functional capabilities of designed artifacts |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2019103773A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112084569A (en) * | 2019-06-14 | 2020-12-15 | 通用电气公司 | Additive manufacturing coupled digital twin ecosystem based on multivariable distribution model of performance |
EP3796109A1 (en) * | 2019-09-18 | 2021-03-24 | Siemens Aktiengesellschaft | System, apparatus and method for predicting attributes of an asset |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017132134A1 (en) * | 2016-01-25 | 2017-08-03 | Siemens Product Lifecycle Management Software Inc. | Methods and system to predict hand positions for multi-hand grasps of industrial objects |
-
2018
- 2018-08-20 WO PCT/US2018/047024 patent/WO2019103773A1/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017132134A1 (en) * | 2016-01-25 | 2017-08-03 | Siemens Product Lifecycle Management Software Inc. | Methods and system to predict hand positions for multi-hand grasps of industrial objects |
Non-Patent Citations (2)
Title |
---|
JIN WENJING ET AL: "CPS-enabled worry-free industrial applications", 2017 PROGNOSTICS AND SYSTEM HEALTH MANAGEMENT CONFERENCE (PHM-HARBIN), IEEE, 9 July 2017 (2017-07-09), pages 1 - 7, XP033233544, DOI: 10.1109/PHM.2017.8079208 * |
KAZI MASUDUL ALAM ET AL: "C2PS: A Digital Twin Architecture Reference Model for the Cloud-Based Cyber-Physical Systems", IEEE ACCESS, vol. 5, 13 March 2017 (2017-03-13), pages 2050 - 2062, XP055520614, DOI: 10.1109/ACCESS.2017.2657006 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112084569A (en) * | 2019-06-14 | 2020-12-15 | 通用电气公司 | Additive manufacturing coupled digital twin ecosystem based on multivariable distribution model of performance |
EP3796109A1 (en) * | 2019-09-18 | 2021-03-24 | Siemens Aktiengesellschaft | System, apparatus and method for predicting attributes of an asset |
WO2021052777A1 (en) * | 2019-09-18 | 2021-03-25 | Siemens Aktiengesellschaft | System, apparatus and method for predicting attributes of an asset |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210342699A1 (en) | Cooperative execution of a genetic algorithm with an efficient training algorithm for data-driven model creation | |
US20210034980A1 (en) | Real-time visualization of machine learning models | |
US20190130277A1 (en) | Ensembling of neural network models | |
US7266534B2 (en) | System and method and product of manufacture for automated test generation via constraint satisfaction with duplicated sub-problems | |
US11397633B2 (en) | Unifying semi-supervised approach for machine condition monitoring and fault diagnosis | |
JP7413392B2 (en) | Computer model machine learning based on correlation of training data with performance trends | |
Fock | Global sensitivity analysis approach for input selection and system identification purposes—A new framework for feedforward neural networks | |
CN108509324B (en) | System and method for selecting computing platform | |
US11907821B2 (en) | Population-based training of machine learning models | |
US11347864B2 (en) | Ace: assurance, composed and explained | |
JPWO2017159638A1 (en) | Capability grant data generator | |
JP6187977B2 (en) | Analysis device, analysis method, and program | |
WO2019103773A1 (en) | Automatically identifying alternative functional capabilities of designed artifacts | |
US20190005169A1 (en) | Dynamic Design of Complex System-of-Systems for Planning and Adaptation to Unplanned Scenarios | |
Huegle et al. | MPCSL-a modular pipeline for causal structure learning | |
KR102054500B1 (en) | Method for providing design drawing | |
JP4994199B2 (en) | Machine learning apparatus and machine learning method | |
JP2020190959A (en) | Model generation device, system, parameter computation device, model generation method, parameter computation method, and program | |
EP3968202A1 (en) | Customizable reinforcement of learning column placement in structural design | |
US20080140364A1 (en) | Computer Program Product & Computer with Program to Execute a Well-Posed Mathematical Method | |
WO2020218246A1 (en) | Optimization device, optimization method, and program | |
JP2015114987A (en) | Processing device, processing method, and program | |
WO2019103775A1 (en) | Method and apparatus for automated suggestion of additional sensors or inputs from equipment or systems | |
JP5633961B2 (en) | Simulation system, method and program | |
Ackermann et al. | Principal component analysis for detection of globally important input parameters in nonlinear finite element analysis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18773676 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 18773676 Country of ref document: EP Kind code of ref document: A1 |