Workflow engine for predictive assembly
By autonomously building and managing the assembly prediction process through a network-based workflow engine, the problem of separation of predictive assembly processes in existing technologies is solved, and efficient and accurate assembly prediction and enterprise-level resource management are achieved.
Patent Information
- Application Number
- CN202510266876.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-03-19
- Filing Date
- 2025-03-07
- Publication Date
- 2025-09-19
AI Technical Summary
Existing technologies lack a cohesive workflow or process management system, resulting in fragmented and inefficient predictive assembly processes and an inability to effectively integrate multiple processes to generate assembly predictions.
A network-based workflow engine is used to autonomously build assembly-specific workflows by receiving predictive assembly requests and measurement data, and dynamically call and manage service modules to generate assembly predictions, including determining the execution sequence and computing resource requirements of the service modules.
It achieves efficient integration and management of assembly forecasts, improves the efficiency and accuracy of the predictive assembly process, supports parallel processing of multiple assembly requests, reduces manufacturing defects and simplifies enterprise IT support.
Smart Images

Figure CN120671877A_ABST
Abstract
Description
Technical Field
[0001] Aspects of the present disclosure generally relate to a workflow engine for predictive assembly. Background Art
[0002] During the manufacture of an object, when parts are coupled together, various surfaces may be mated. In some cases, one or more gaps exist between the mating surfaces. It may be desirable to adequately fill these gaps with a filler material. The process of filling these gaps with a filler material, such as shims, is often referred to as "filling" or "patching." Conventional methods of filling include mating surfaces, measuring the gap between the mating surfaces, and manufacturing shims based on the gap measurements. Predictive assembly (when applied to filling) is the process of predicting the filler material required to fill the gap between mating surfaces. For example, the surface geometry of the parts is measured, the geometry information is used to determine the size of the gap that will exist between the mating surfaces, and the filler material or shims are manufactured based on the determined size. In addition to filling, predictive assembly can also be applied in other scenarios.
[0003] Predictive assembly can include many processes, which are typically executed using custom, one-time scripts for each process. These custom scripts are distinct from one another and are not linked together. Consequently, conventional systems lack a cohesive workflow or process management process to oversee the predictive assembly process as a whole. Consequently, predictive assembly has traditionally presented certain challenges. Summary of the Invention
[0004] In one aspect, the present disclosure provides a method. The method includes receiving, by executing a workflow engine, a predictive assembly request for an assembly forecast to be generated for an assembly of interest; receiving, by executing the workflow engine, measurement data associated with the assembly of interest, wherein an assembly forecast for the assembly of interest is desired; autonomously constructing, by executing the workflow engine, a workflow specific to the assembly of interest for generating the assembly forecast, wherein constructing the workflow includes determining i) which of a plurality of pods to invoke for generating the assembly forecast and ii) an execution sequence of the invoked pods; autonomously generating the assembly forecast by executing the workflow engine using the invoked pods and the measurement data; and outputting the assembly forecast by executing the workflow engine.
[0005] In one aspect, in conjunction with any of the above or below example methods, determining an execution sequence of the called service modules includes determining, by executing a workflow engine, which of the called service modules are to be executed serially and which are to be executed in parallel.
[0006] In one aspect, in conjunction with any of the above or below example methods, measurement data is received as part of a predictive assembly request.
[0007] In one aspect, in combination with any of the above or below example methods, a workflow specific to an assembly of interest is autonomously constructed for generating assembly predictions by executing a workflow engine, including prioritizing a predictive assembly request relative to one or more other predictive assembly requests received by the workflow engine.
[0008] In one aspect, in combination with any of the above or below example methods, the method includes shifting, by executing the workflow engine, one or more computing resources for executing the workflow based at least in part on the priority.
[0009] In one aspect, in conjunction with any of the example methods above or below, shifting one or more computing resources for executing the workflow based at least in part on the priority level includes launching, by executing the workflow engine, additional computing resources to execute the workflow.
[0010] In one aspect, in combination with any of the example methods above or below, a workflow specific to an assembly of interest is autonomously constructed for generating assembly predictions by executing a workflow engine, including determining, by executing the workflow engine, computing resources required for executing the workflow.
[0011] In one aspect, in combination with any of the above or below example methods, determining the computing resources required to execute the workflow includes, by executing the workflow engine, determining that there is not a sufficient amount of computing resources to execute the workflow, and wherein the method further includes: by executing the workflow engine, launching additional computing resources so that there is a sufficient amount of computing resources to execute the workflow.
[0012] In one aspect, in conjunction with any of the example methods above or below, an assembly prediction output by the workflow engine includes geometric data for at least one component of the assembly of interest.
[0013] In one aspect, in combination with any of the above or below example methods, the method further includes receiving, by the build system, an assembly prediction output by the workflow engine; and building, by the build system, at least one component for the assembly of interest based at least in part on the assembly prediction output by the workflow engine, and wherein the build system autonomously receives and builds in response to receiving the assembly prediction.
[0014] In one aspect, in conjunction with any of the example methods above or below, the assembly prediction includes build data representing instructions for building at least one component for the assembly of interest.
[0015] In one aspect, in combination with any of the above or below example methods, the workflow engine is a web-based platform that, by executing the workflow engine, causes one or more processors to receive multiple predictive assembly requests at a time, autonomously construct and execute workflows specific to the assemblies of interest specified in corresponding predictive assembly requests among the multiple predictive assembly requests to generate corresponding assembly predictions, and output the corresponding assembly predictions.
[0016] In one aspect, in conjunction with any of the above or below example methods, the plurality of service bays includes a conditioning bay, an alignment bay, and a surfacing bay.
[0017] In one aspect, in conjunction with any of the example methods above or below, the assembly predictions output by the workflow engine include geometric data of filler pieces of joints of the aircraft.
[0018] In one aspect, in combination with any of the above or below example methods, the method further includes monitoring the status of the called service compartment during execution of the workflow by executing the workflow engine; and reporting the status of the called service compartment to the user who initiated the predictive assembly request by executing the workflow engine.
[0019] In another aspect, the present disclosure provides a system. The system includes one or more processors and one or more non-transitory memory devices, the one or more non-transitory memory devices storing a program embodying a workflow engine, the program, when executed by any combination of the one or more processors, causing the one or more processors to perform operations comprising: receiving a predictive assembly request for an assembly forecast to be generated for an assembly of interest; receiving measurement data associated with the assembly of interest, wherein an assembly forecast for the assembly of interest is desired; autonomously constructing a workflow specific to the assembly of interest for generating the assembly forecast, wherein constructing the workflow includes determining i) which service pods of a plurality of service pods to invoke for generating the assembly forecast and ii) an execution sequence of the invoked service pods; autonomously generating the assembly forecast by executing the workflow using the invoked service pods and the measurement data; and outputting the assembly forecast.
[0020] In one aspect, in combination with any of the example systems above or below, a workflow engine autonomously constructs a workflow specific to an assembly of interest for generating assembly predictions, including determining computing resources required to execute the workflow, and wherein the operations further comprise: in response to determining that there is not a sufficient amount of computing resources to execute the workflow, initiating additional computing resources so that there is a sufficient amount of computing resources to execute the workflow.
[0021] In one aspect, in conjunction with any of the example systems above or below, determining an execution sequence of the called service modules includes determining which of the called service modules are to be executed serially and which are to be executed in parallel.
[0022] In one aspect, in conjunction with any of the example systems above or below, the assembly predictions output by the workflow engine include geometric data of filler pieces of joints of the aircraft.
[0023] In another aspect, the present disclosure provides a non-transitory computer-readable medium having computer-readable instructions embodying a workflow engine, the workflow engine executable by one or more processors to: receive a predictive assembly request for an assembly forecast to be generated for an assembly of interest; receive measurement data associated with the assembly of interest, wherein an assembly forecast for the assembly of interest is desired; autonomously construct a workflow specific to the assembly of interest for generating the assembly forecast, wherein constructing the workflow includes determining i) which service pods of a plurality of service pods to invoke for generating the assembly forecast and ii) an execution sequence of the invoked service pods; autonomously generate the assembly forecast by executing the workflow using the invoked service pods and the measurement data; and output the assembly forecast. BRIEF DESCRIPTION OF THE DRAWINGS
[0024] To facilitate a detailed understanding of the aforementioned features, reference may be made to a more particular description of example aspects (briefly summarized above), some of which are illustrated in the accompanying drawings.
[0025] Figure 1 is a system diagram of a workflow engine for predictive assembly according to example aspects of the present disclosure.
[0026] Figure 2 Depicts example aspects of the present disclosure Figure 1 The surface treatment cabin of the workflow engine.
[0027] Figure 3 is a flowchart of a method according to an example aspect of the present disclosure.
[0028] Figure 4 is a computing system according to example aspects of the present disclosure. DETAILED DESCRIPTION
[0029] The present disclosure provides a workflow engine for predictive assembly. In some aspects, the workflow engine of the present disclosure can be a web-based, centralized, reliable, and robust predictive assembly suite that can be used to autonomously perform assembly predictions (e.g., predictions regarding the 3D geometry of a filler piece for a joint in an aircraft). The workflow engine can link processes for multiple model-based engineering concepts, enabling cohesive workflow and / or process management of the predictive assembly process as a whole.
[0030] In some aspects, a workflow engine can be constructed using model-based systems engineering (MBSE) concepts and domain-driven design (DDD) to process measurement data for assembly prediction. The MBSE approach for the workflow engine can allow relatively large and complex processes to be broken down into smaller components, so that software containerization can be leveraged to deliver a scalable workflow engine that can be used across the enterprise. The architecture of the workflow engine can allow the workflow engine to process multiple predictive assembly requests simultaneously through intelligent use of computing resources. The DDD construction of the workflow engine allows the predictive assembly implementation to be deeply connected to the evolutionary model of the enterprise's core business concepts (e.g., domain model).
[0031] A workflow engine of the present disclosure can be executed so that assembly predictions can be generated. The workflow engine can be executed by, for example, one or more processors of a computing system. When executing the workflow engine, the one or more processors can receive a predictive assembly request, or more precisely, receive a request to perform an assembly prediction. The one or more processors executing the workflow engine can also receive measurement data (e.g., 3D point cloud data) of an assembly of interest, where an assembly prediction for the assembly of interest is desired. The measurement data can be received as part of the predictive assembly request, or can be received separately before or after the predictive assembly request is received. The one or more processors executing the workflow engine can also receive metadata associated with the measurement data (received together with the predictive assembly request or separately therefrom). The metadata provides information related to the assembly of interest represented by the measurement data. A web-based user interface of the workflow engine can receive the predictive assembly request, the measurement data, and the metadata. Based on the predictive assembly request, the workflow engine can be executed by the one or more processors to autonomously build a workflow specific to the assembly of interest, for example, so that an assembly prediction can be generated. Constructing a workflow may include determining which of a plurality of service pods to invoke to determine an assembly prediction, determining an execution sequence for the invoked service pods, and determining computing resources required or desired for executing the workflow. One or more processors may execute a workflow engine to process the measurement data and metadata associated therewith by executing the constructed workflow using the invoked service pods, thereby autonomously generating an assembly prediction. The one or more processors may then execute the workflow engine to output the generated assembly prediction, for example, to a user or a build system, for use in constructing at least one component for an assembly of interest (e.g., a filler piece for a joint of an aircraft).
[0032] Therefore, the workflow engine can dynamically and autonomously build, run and manage workflows. The workflow engine can track the runtime, status and relationship of the execution sequence of each sub-process or called service module. The workflow engine can include a state processor that monitors the status of each task and can automatically record the results to a database. Once an upstream task fails, the workflow will stop and can trigger the recording of failed tasks downstream of the upstream task. When the workflow is completed (for both success and failure), the workflow engine can send a notification to the user or associated system to provide notification of assembly predictions or results.
[0033] The workflow engine of the present disclosure can provide certain advantages, benefits and / or technical effects. For example, in some aspects, the workflow engine of the present disclosure can provide a web-based design that allows simple conversion between teams of an enterprise. In addition, the workflow engine of the present disclosure can provide enterprise standard tools that can be used for different models or products of the enterprise (the workflow engine is product agnostic). In addition, the workflow engine of the present disclosure can allow for rapid deployment and rapid data processing (e.g., due to its cloud processing aspect). In addition, the workflow engine can advantageously provide high-definition surface treatment of the assembly of interest, reduce manufacturing defects, and can reduce the information technology (IT) support of the enterprise associated with predictive assembly.
[0034] In addition, in some aspects, the workflow engine of the present disclosure can provide additional advantages, benefits, and / or technical effects, including reusability, maintainability, scalability, and / or testability capabilities. The workflow engine can provide reusability because new workflows can be created using a front-end web user interface. The workflow engine can provide maintainability because users can easily register with the workflow engine whenever new functionality is needed, and it can be added as part of one or more workflows. The workflow engine can provide scalability because the workflow engine can have the ability to run multiple tasks in parallel, and if / when operations are parallelized, the entire workflow can automatically adjust downstream tasks to wait for all parallelized upstream tasks. In addition, the workflow engine can only call pods specific to a given workflow and queue the pods accordingly, and the workflow engine can retrieve configurations and dynamically construct workflows. The workflow engine can provide testability because the workflow engine can automatically test its framework with full integration testing. The workflow engine of the present disclosure can have other advantages, benefits, and / or technical effects in addition to those described above.
[0035] Figure 1 is a system diagram of a workflow engine 100 for predictive assembly according to an example aspect of the present disclosure. The workflow engine 100 can be a web-based platform (or web portal) for making predictions related to the assembly of manufactured articles, such as aircraft, ships, other vehicles, structures, and the like. For example, the workflow engine 100 can be used to predict the size of a filler sheet used to fill a gap between surfaces of a joint in, for example, an aircraft. The workflow engine 100 can also be used to make predictions for other assemblies of interest, such as assembly gap management, surface contour contouring, and the like. In this regard, the workflow engine 100 can be used to make assembly predictions that go beyond predictions associated with filler sheets. The workflow engine can be configured to receive multiple predictive assembly requests at a time and can process multiple assembly predictions at a time.
[0036] like Figure 1 As depicted, the workflow engine 100 includes a workflow environment 102 in which a workflow for predictive assembly can be implemented. The workflow engine 100 can include a plurality of pods, each pod containing one or more containers. Figure 1 In the example shown, the workflow environment 102 includes an interface pod 120, an engine pod 140, a plurality of service pods 150, and a data import pod 190. The workflow engine 100 may also include or be associated with various data repositories, data storage libraries, libraries, etc. For example, for Figure 1 In the illustrated example, the workflow engine 100 includes an external server storage 210, a database 220, and a library 230 having a persistence library 232. The external server storage 210, the database 220, and the library 230 are each communicatively coupled to the workflow environment 102 of the workflow engine 100. Workflow-persistence 200 can facilitate data transfer between the database 220 and the workflow environment 102. In particular, the workflow-persistence 200 can include a workflow-persistence Flask server 202 configured to execute Hypertext Transfer Protocol (HTTP) requests to retrieve and / or send data to the database 220 and / or other networks.
[0037] The interface pod 120 may include one or more interface containers 122, such as an interface container 122A. For example, the interface container 122A may be a network-based user interface (UI) container. For example, the interface container 122A, or the network-based UI container in this example, may be configured to receive and / or transmit input / output from a user interface 130 communicatively coupled thereto, or to communicate generally. The user interface 130 may be or may include a touch screen; a computer with a display, a mouse, and a keyboard; a speaker associated with voice recognition; a combination of the following; or the like. A user 132 may provide user input to the user interface 130, such as a user input indicating a predictive assembly request 110. The predictive assembly request 110 may include measurement data 112 (e.g., 3D point cloud data representing an assembly of interest, such as a joint of an aircraft) and metadata 114, which may provide information about which assembly of interest the measurement data 112 represents. Outputs of the workflow engine 100, such as an assembly prediction 116, may also be presented to a user 132, which may include, for example, 3D geometric data 118 of a filler piece configured to enhance the mechanical properties of a joint of an aircraft, construction data 119 for constructing a component for the assembly of interest, and the like. Thus, communication may be routed between the user interface 130 and the interface container 122A. The measurement data 112 may be collected by any suitable 3D scanning device. In some aspects, the measurement data 112 and metadata 114 may be uploaded separately from the predictive assembly request 110.
[0038] In some aspects, the interface compartment 120 may include a plurality of interface containers 122 (e.g., Figure 1 14. The plurality of interface containers 122 may be associated with receiving and / or transmitting input / output from an interface associated with the workflow engine 100. For example, in addition to the interface container 122A, which may be a network-based UI interface container as described above, the plurality of interface containers 122 may also include interface containers associated with receiving and / or transmitting input / output from other systems or devices (such as a 3D scanning robot 134) or generally communicating. As an example, the 3D scanning robot 134 may scan an assembly of interest (e.g., a joint of an aircraft) and may send a predictive assembly request 110 containing measurement data 112 and metadata 114 to its associated interface container. This may be done automatically without human intervention. At this point, the 3D scanning robot 134 may capture a 3D scan of the assembly of interest and may make a predictive assembly request 110 requesting the workflow engine 100 to derive an assembly prediction 116 without human assistance. This may facilitate rapid assembly of manufactured items.
[0039] The interface pod 120 may also include a file watcher 124 and a persistent volume 126. The file watcher 124 is communicatively coupled to the external server storage 210 and the service pod 150 and is configured, among other things, to facilitate the transfer of data or files from the persistent volume 126 to the external server storage 210. The persistent volume 126 may temporarily store data, such as measurement data 112, until the data can be transferred to its destination, such as the external server storage 210. The persistent volume 126 may include one or more non-transitory storage devices.
[0040] The engine pod 140 is the driver of the workflow engine 100 and manages and monitors the operation of the workflow engine 100. The engine pod 140 includes a workflow engine container 142 and a Dask executor 144. The workflow engine container 142 contains the software package for driving the workflow engine 100, and the Dask executor 144 is capable of executing tasks simultaneously across multiple machines. In other words, the Dask executor 144 executes the workflow constructed by the workflow engine container 142.
[0041] The engine pod 140 receives the predictive assembly request 110 or notification of the predictive assembly request 110 and performs its duties to generate the assembly prediction 116. For example, when executing the workflow engine container 142, the workflow engine 100 can autonomously build a workflow 146 specific to the assembly of interest. The workflow engine 100 can build a predefined workflow specific to the assembly of interest, or can dynamically build a workflow. For example, a predefined workflow can include a JavaScript Object Notation (JSON) file or a collection of JSON files. When building the workflow 146, the workflow engine container 142 can determine: which service pods of the plurality of service pods 150 to call for generating the assembly prediction 116; the execution sequence of the called service pods; and the computing resources required or desired to execute the workflow. Once the workflow 146 is constructed, the Dask executor 144 executes the workflow 146 so that the assembly prediction 116 can be autonomously determined using the called service pods 150 and the measurement data 112 and metadata associated therewith. Workflow engine 100 may then output assembly prediction 116 to user interface 130 and / or other systems or devices, such as to one or more part build systems 136 configured to build at least one part for the assembly of interest based on assembly prediction 116 , eg, via interface pod 120 .
[0042] The service pods 150 may be arranged in specific categories or may include groups of pods specific to a particular workflow. Some service pods 150 may be specific to or associated with multiple workflows. For example, Figure 1The service module 150 depicted in FIG is specific to fill predictive assembly and, when executed, can generate a fill prediction or even a fill patch for a given joint. Figure 1 In the example of , the service pod 150 includes a conditioning pod 160, an alignment pod 170, and a surface treatment pod 180. The service pods 150 can each be coupled to a workflow persistence 200, which can include a workflow persistence flask server 202. This allows various learned engineering relationships specific to the assembly of interest to be called from the database 220 and used by the service pod 150 during execution. It should be understood that Figure 1 The service pod 150 depicted in FIG. 1 is an example service pod related to filling predictive assemblies, but the service pod 150 may include other types or groups of pods related to other assemblies of interest or other examples of predictive assembly types. For example, the service pod 150 may be a cloud application provided over a network.
[0043] The conditioning pod 160 includes a conditioning container 162. When conditioning container 162 is executed, measurement data 112, including 3D point cloud data associated with an assembly of interest, can be cleaned, categorized, and parsed into different regions. For example, when conditioning container 162 is executed, engineering relationships associated with the assembly of interest can be retrieved from database 220 to conditioning pod 160. Using the engineering relationships, multiple splines can be created to define subsets of measurement data 112, each representing a different region of interest for the assembly of interest. For example, a first spline can separate one segment of measurement data 112 from another, thereby defining two subsets of measurement data 112. A second spline can further divide measurement data 112 into segments, thereby defining additional subsets, and so on. Nearest neighbor techniques can be utilized. Once the splines are created, measurement data 112, or one or more subsets of measurement data 112 representing different regions of interest for the assembly of interest, can be parsed or extracted from the measurement data 112 and transformed into a structured format that is more easily utilized by other service pods 150. Furthermore, adjusting container 162 may eliminate bad data and may improve measurement data 112 overall.
[0044] In some aspects, when performing the adjustment container 162, a virtual milling head can be implemented to determine whether the surface or component of the assembly of interest is in a machining condition, focusing on the short-wave profile deviation of the 3D point cloud, for example, by virtually machining one or more surfaces using the virtual milling head to test whether machining them is feasible. In some cases, the results of the virtual machining can be used to correct the 3D point cloud, for example, by reducing gaps in the final points.
[0045] like Figure 1As shown, alignment cabin 170 includes alignment container 172. When executing alignment container 172, one or more techniques may be utilized to conform measurement data 112, or a specific subset thereof, to engineering requirements. For example, point-to-point and / or point-to-surface best fitting techniques may be used to map points of measurement data 112 to one or more points or surfaces of an assembled component of interest.
[0046] The surface treatment chamber 180 includes a surface treatment container 182. The surface treatment container 182 may include a plurality of containers. Figure 2 As shown, the surface processing container 182 may include a gap analysis container 182A, a shape correction container 182B, a uniform offset container 182C, and a fill patch creation container 182D.
[0047] When executed, the gap analysis container 182A provides a gap analysis in which points of the measurement data 112, or one or more subsets thereof, are compared to the nominal engineering surfaces of the assembled component(s) of interest. This allows for the determination of deviations between the measured component(s) and the nominal engineering design of those component(s). When executed, the shape correction container 182B performs shape corrections as needed based at least in part on the deviations determined by the execution of the gap analysis container 182A.
[0048] The uniform offset container 182C, when executed, allows offsets to be determined. For example, for a part to part assembly, a minimum vector can be determined. When the minimum vector is negative, the machining tool will be machining in the machining station. Therefore, the minimum vector is "pushed out" or shifted so that the minimum vector is positive. A uniform offset by which all vectors are pushed out is determined to correct the data. The patch creation container 182D can utilize deviations, shape corrections, and uniform offsets to determine the geometry of a patch that is designed to conform within the surface of a joint to enhance its mechanical properties. Or, more generally, when the patch creation container 182D is executed, an assembly prediction can be generated.
[0049] Although the gap analysis container 182A, the shape correction container 182B, the uniform offset container 182C, and the fill patch creation container 182D are Figure 2 18. In the drawings, the sub-vessels are depicted as sub-vessels of the surface treatment vessel 182, but in other aspects, one, some, or all of these sub-vessels may be separate vessels or arranged in separate compartments.
[0050] The data import pod 190 includes a data import container 192. When executed, the data import container 192 can be used to import nominal engineering data and measurement data 112. For example, a user can upload measurement data 112 to the interface pod 120, and the measurement data 112 can be temporarily stored in the persistent volume 126. The engine pod 140 can call the data import pod 190 to move the measurement data 112 from the persistent volume 126 to, for example, the external server storage device 210.
[0051] The following will describe Figure 1 An example manner in which the workflow engine 100 may be used to dynamically and autonomously build, run, and manage workflows to generate assembly forecasts.
[0052] Figure 3 is a flow chart of a method 300 for generating assembly forecasts using a workflow engine according to an example aspect of the present disclosure. For example, the method 300 may be executed by, for example, one or more processors or computing systems. Figure 1 For context, reference will be made to the workflow engine 100. Figure 1 The workflow engine 100 and its components are described. Generally speaking, the method 300 can be implemented to generate an assembly prediction for an assembly of interest. For example, the assembly of interest can be a joint of an aircraft, and the assembly prediction can be a filler definition, or a 3D geometric representation of a filler that can be placed at the joint (e.g., to enhance the mechanical properties of the joint). In some aspects, the filler can also be a machined surface (e.g., no-filler machining).
[0053] At 302, method 300 may include receiving, by executing a workflow engine, a predictive assembly request for an assembly prediction to be generated for an assembly of interest. As an example, referring to Figure 1 , user 132 can provide user input to user interface 130. The user input can initiate predictive assembly request 110. Interface container 122A or a web-based UI interface can receive predictive assembly request 110. As another example, 3D scanning robot 134 can provide predictive assembly request 110 to one of multiple interface containers 122, such as one of the interface containers configured to receive input from 3D scanning robot 134. In some embodiments, 3D scanning robot 134 can automatically initiate predictive assembly request 110 after completing a 3D scan of the assembly of interest.
[0054] At 304, method 300 may include receiving, by executing a workflow engine, measurement data associated with an assembly of interest for which an assembly prediction is desired. The measurement data 112 may be received as part of the predictive assembly request 110 or may be received separately from the predictive assembly request 110, either before or after the predictive assembly request 110. In some aspects, some measurement data 112 may be received as part of the predictive assembly request 110, while some measurement data 112 may be received separately. The measurement data 112 may be accompanied by metadata 114 that provides information about what the measurement data 112 represents or describes. The measurement data 112 may be received by one of a plurality of interface containers 122 and may be temporarily stored in a persistent volume 126. The data import pod 190 may be invoked by the engine pod 140 to move the measurement data 112 from the persistent volume 126 to, for example, external server storage 210. The data import pod 190 may report to the engine pod 140 whether the data transfer was successful and may report back to the user 132 via the interface pod 120 and the user interface 130. The relationships in the measurement data 112 can be saved and bound to the 3D project and process steps. The saved relationships can be stored in a memory in the database 220 and / or the library 230 and / or other storage media associated with the workflow engine 100.
[0055] At 306, method 300 may include autonomously constructing a workflow specific to the assembly of interest for generating an assembly prediction by executing a workflow engine. Constructing the workflow at 306 may include determining i) which of a plurality of service pods to invoke for generating the assembly prediction, and ii) a sequence of execution of the invoked service pods. For example, once the predictive assembly request 110 and the measurement data 112 have been received and stored in memory, the engine compartment 140 may construct a workflow 146. The workflow 146 may be constructed from a predefined workflow associated with the assembly of interest for which an assembly prediction is desired, or the workflow 146 may be dynamically constructed, for example, based on known engineering relationships associated with the assembly of interest.
[0056] When building a workflow 146, the engine compartment 140 may determine which service compartments of the plurality of service compartments 150 to call. The service compartment to call depends on the assembly of interest for which an assembly prediction 116 is desired. For example, a first set of service compartments 150 may be called to build a workflow specific to the first assembly of interest, a second set of service compartments 150 that may be the same as or different from the first set may be called to build a workflow specific to the second assembly of interest, and so on. Figure 1 For example, the predictive assembly request 110 may indicate an assembly prediction (eg, filler sheet definition) for a desired aircraft joint. Thus, as Figure 1As depicted, engine compartment 140 calls upon conditioning compartment 160 , alignment compartment, and surface treatment compartment 180 .
[0057] In addition to determining which service pods of the plurality of service pods 150 to call, the engine pod 140 also determines the execution sequence of the called service pods 150. For example, when determining the execution sequence of the called service pods 150, the engine pod 140 may determine which of the called service pods 150 are to be executed serially and which are to be executed in parallel. In some aspects, when the service pods are capable of being executed in parallel, the engine pod 140 executes those service pods in parallel. Otherwise, the service pods 150 are executed serially. Figure 1 In the example of FIG, the service pod 150 invoked includes a conditioning pod 162, an alignment pod 170, and a surface treatment pod 180. In one example embodiment, the engine pod 140 may determine that the conditioning pod 160 and the alignment pod 170 can be executed in parallel, and once both are complete, the surface treatment pod 180 may be executed. Thus, the determined execution sequence includes two parallel tasks, followed by one task that is executed serially.
[0058] Furthermore, in some embodiments of 306, autonomously constructing a workflow specific to the assembly of interest for generating assembly predictions by executing a workflow engine may include determining the computing resources required to execute the workflow. Figure 1 As shown, computing resources 240 can be associated with the workflow engine 100. The computing resources 240 can include various computing resources, including a first computing resource 240A, a second computing resource 240B, and so on, to an Nth computing resource 240N, where N is an integer greater than one (1). The engine pod 140 can determine which of these computing resources 240 will be used to execute the workflow 146. In some cases, the engine pod 140 can determine that there are not or will not be a sufficient amount of computing resources 240 to execute the workflow 146. In this case, the engine pod 140 can start additional computing resources, such as additional computing resources 250, so that there are a sufficient amount of computing resources to execute the workflow 146.
[0059] In other aspects, when autonomously constructing the workflow at 306, the engine compartment 140 can determine the priority of the predictive assembly request 110 relative to one or more other predictive assembly requests received by the workflow engine 100. For example, the workflow engine 100 can be configured to receive multiple predictive assembly requests at a time, or be in the process of generating assembly forecasts in response to such requests. For example, in some aspects, the workflow engine 100 can be used by many users of an enterprise to generate many different assembly forecasts for various assemblies of interest at a time. In such cases, the engine compartment 140 can divert one or more computing resources 240 used to execute the workflow 146 based at least in part on the priority of a given workflow being constructed or the request being made. In some aspects, diverting one or more computing resources 240 used to execute the workflow 146 can include launching new or additional computing resources 250 to execute the workflow 146.
[0060] Once the workflow 146 is constructed, the workflow 146 may be stored in one or more memory devices associated with the workflow engine 100 .
[0061] At 308 , method 300 can include autonomously generating an assembly prediction by executing a workflow engine using the invoked service pod and the measurement data. For example, Dask executor 144 of pod 140 can execute constructed workflow 146 .
[0062] For example, to generate a patch definition, the Dask executor 144 can call the reconciliation pod 160 to clean, classify, and parse the measurement data 112, which can include 3D point cloud data associated with the assembly of interest. The measurement data 112 can be called from the external server storage 210 to the reconciliation pod 160. When the reconciliation container 162 is executed, engineering relationships associated with the assembly of interest can be called from the database 220 and / or library 230 to the reconciliation pod 160. The workflow persistence 200 can facilitate calling the engineering relationships from the database 220 and / or library 230. Using the engineering relationships, multiple splines can be created to define subsets of the measurement data 112, each subset representing a different region of interest of the assembly of interest. Once the splines are created, the measurement data 112, or one or more subsets of the measurement data 112 representing different regions of interest of the assembly of interest, can be parsed or extracted from the measurement data 112 and transformed into a structured format that can be more easily utilized by other service pods 150.
[0063] Next, the Dask executor 144 may invoke the alignment container 170 according to the execution sequence. When executing the alignment container 172, one or more techniques may be utilized to conform the measurement data 112, or a specific subset of the measurement data 112 determined at the conditioning container 160, to the engineering requirements invoked from the database 220 and / or library 230. For example, point-to-point and / or point-to-surface best fitting techniques may be used to map points of the measurement data 112, or a subset thereof, to one or more points or surfaces of the assembled components of interest.
[0064] Once adjusted and aligned, the Dask executor 144 can call upon the surface treatment chamber 180 according to the execution sequence. Figure 1 and Figure 2 , when the surface treatment container 182 is executed: the gap analysis container 182A can perform a gap analysis on the measurement data 112 or a relevant subset thereof; the shape correction container 182B can perform shape correction as needed; the uniform offset container 182C can determine a uniform offset; and the fill patch creation container 182D can determine a fill patch definition, which is the assembly prediction 116. In this regard, in some aspects, the assembly prediction 116 output by the workflow engine 100 can include geometric data for at least one component of the assembly of interest.
[0065] As each invoked surface treatment pod 150 is executed, the engine pod 140 can monitor the status or results of each executed service pod 150. For example, the status of each service pod 150 can be monitored by the engine pod 140, and the status can be reported back to the user 132, for example, via the interface pod 120 in communication with the user interface 130. For example, the status can be or include pass / fail, execution time, any errors / defects that occurred, expected completion time, whether manual intervention is recommended if the measurement data 112 deviates from known engineering requirements, combinations of the foregoing, and the like. Thus, in some aspects, the method 300 can include, by executing the workflow engine, monitoring the status of the invoked service pods 150 during execution of the workflow 146. The method 300 can also include, by executing the workflow engine, reporting the status of the invoked service pods to the user who initiated the predictive assembly request.
[0066] At 310, method 300 may include outputting an assembly prediction by executing the workflow engine. For example, the assembly prediction 116 generated by the execution of the service pod 150 may be routed to the interface pod 120. The interface pod 120 may then output the assembly prediction 116 from the workflow engine 100. As an example, the assembly prediction 116 may be output to a user interface 130. The user interface 130 may then present the assembly prediction 116 to a user 132, for example, a user who made the predictive assembly request 110. The user interface 130 may include a display that may present the assembly prediction 116 to the user 132. In other aspects, the assembly prediction 116 may be output as a file or downloadable package. In some further aspects, in addition to or as an alternative to being output to the user interface 130, the assembly prediction 116 may be output to other systems or devices, such as to one or more component construction systems 136 configured to construct at least one component (e.g., a filler piece) for the assembly of interest based on the assembly prediction 116. The one or more part build systems 136 may be or include a 3D printing system (or additive manufacturing system), a machining tool (lathe, drill, mill, grinder, etc.), an automated layup machine for constructing laminated composite materials, etc. In some further aspects, the assembly prediction may identify an area of interest for an assembly of interest that requires filling; however, the assembly prediction may include a recommendation to rework the area of interest rather than filling it, for example, because the area of interest deviates from its associated specification or a range or degree of acceptable tolerance.
[0067] At 312, method 300 may include constructing at least one component for the assembly of interest based at least in part on the assembly prediction. For example, assembly prediction 116 output by workflow engine 100 may be used to construct at least one component for the assembly of interest, such as a filler piece for a joint in an aircraft. As an example, user 132 may receive assembly prediction 116 including 3D geometry data 118 of a component to be fabricated for the assembly of interest. User 132 may utilize the 3D geometry to construct the component, for example, using materials and one or more machines.
[0068] As another example, building a component for the assembly of interest based at least in part on the assembly prediction at 312 may include receiving, by a build system, an assembly prediction output by a workflow engine; and building, by the build system, at least one component for the assembly of interest based at least in part on the assembly prediction output by the workflow engine. The build system may autonomously receive and build the component in response to receiving the assembly prediction. The assembly prediction may include build data 119 representing instructions for building the component for the assembly of interest.
[0069] In summary, in some aspects, the workflow engine 100 can be a web-based platform that can be executed to receive multiple predictive assembly requests at a time, autonomously construct and execute workflows specific to the assembly of interest specified in corresponding predictive assembly requests in the multiple predictive assembly requests to generate corresponding assembly predictions, and output the corresponding assembly predictions. In this manner, the workflow engine 100 can provide a centralized, reliable, and robust predictive assembly suite that can be used to autonomously perform assembly predictions. The workflow engine 100 can be used to perform various assembly predictions, including predictions related to filler geometry, assembly gap management, surface contour contours, and the like. In this regard, the workflow engine 100 can be used to make assembly predictions that go beyond predictions associated with fillers.
[0070] Figure 4 is a block diagram of an example computing system 400 according to various aspects of the present disclosure. The computing system 400 may be configured to perform Figure 1 Workflow engine 100.
[0071] like Figure 4 As shown, computing system 400 may include one or more processors 404 and one or more memory devices 406. One or more processors 404 and one or more memory devices 406 may be embodied in one or more computing devices 402. One or more processors 404 may include any suitable processing device, such as a microprocessor, a microcontroller, an integrated circuit, a logic device, or other suitable processing device. One or more memory devices 406 may include one or more computer-readable media, including but not limited to non-transitory computer-readable media, RAM, ROM, hard drives, flash drives, and other memory devices.
[0072] One or more memory devices 406 can store information accessible to one or more processors 404, including computer-readable instructions 408 or computer-readable program code that can be executed by one or more processors 404. The instructions 408 can be any set of instructions that, when executed by the one or more processors 404, causes the one or more processors 404 to perform operations. The instructions 408 can be software written in any suitable programming language, or can be implemented in hardware. The (one or more) memory devices 406 can also store data 410 that can be accessed by the processor 404. For example, the data 410 can include any data mentioned herein. According to example aspects of the present disclosure, the data 410 can include one or more tables, (one or more) functions, (one or more) algorithms, (one or more) models, (one or more) equations, libraries, etc.
[0073] Computing system 400 or its computing device 402 may include a communication interface 412 for communicating with other components. Communication interface 412 may include any suitable components for interfacing with one or more networks, including, for example, transmitters, receivers, ports, controllers, antennas, or other suitable components.
[0074] In the current disclosure, reference is made to a number of aspects. However, it should be understood that the present disclosure is not limited to the specifically described aspects. On the contrary, any combination of the following features and elements, whether or not related to different aspects, is considered to be implementable and practice the teachings provided herein. In addition, when describing the elements of these aspects in the form of "at least one of A and B", it should be understood that aspects including only element A, only element B, and both elements A and B are contemplated. In addition, although some aspects can achieve advantages over other possible solutions and / or prior art, whether a particular advantage is achieved by a given aspect does not limit the present disclosure. Therefore, the aspects, features, aspects, and advantages disclosed herein are merely illustrative and are not considered to be elements or limitations of the appended claims unless explicitly stated in (one or more) claims.
[0075] As known to those skilled in the art, the aspects described herein can be embodied as systems, methods, or computer program products. Thus, these aspects can take the form of entirely hardware aspects, entirely software aspects (including firmware, resident software, microcode, etc.), or aspects combining software and hardware aspects, all of which are generally referred to herein as "circuits," "modules," or "systems." Furthermore, the aspects described herein can take the form of a computer program product embodied in one or more computer-readable storage media having computer-readable program code embodied thereon.
[0076] Program code embodied on a computer-readable storage medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
[0077] The computer program code for performing the various aspects of the present disclosure can be written in any combination of one or more programming languages, including object-oriented programming languages such as Java, Smalltalk, C++, etc., and conventional procedural programming languages such as "C" programming language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a stand-alone software package, partially on the user's computer and partially on a remote computer, or entirely 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 (e.g., through the Internet using an Internet service provider).
[0078] This paper describes various aspects of the present disclosure with reference to the flowcharts and / or block diagrams of the methods, devices (systems) and computer program products of various aspects of the present disclosure. It should be understood that each frame of the flowchart and / or block diagram and the combination of frames in the flowchart and / or block diagram can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer or other programmable data processing device to produce a machine so that the instructions executed by the processor of the computer or other programmable data processing device create a device for implementing the function / action specified in the (one or more) frames of the flowchart and / or block diagram.
[0079] These computer program instructions may also be stored in a computer-readable medium that can direct a computer, other programmable data processing apparatus, or other device to function in a specific manner so that the instructions stored in the computer-readable medium produce an article of manufacture, including instructions for implementing the functions / actions specified in (one or more) boxes of the flowchart and / or block diagram.
[0080] Computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus, or other device to produce a computer-implemented process, such that the instructions executing on the computer, other programmable data processing apparatus, or other device provide a process for implementing the functions / actions specified in (one or more) blocks of the flowchart and / or block diagram.
[0081] The flow charts and block diagrams in the figure illustrate the architecture, functionality and operation of possible implementations of the system, method and computer program product according to various aspects of the present disclosure. In this regard, each frame in the flow chart or block diagram can represent a module, code segment or code portion, which includes one or more executable instructions for implementing (one or more) specified logical functions. It should also be noted that in some alternative embodiments, the functions marked in the frame may not appear in the order marked in the figure. For example, the two frames shown in succession can actually be performed substantially simultaneously, or these frames can sometimes be performed in reverse order or out of order, depending on the functionality involved. It will also be noted that each frame in the block diagram and / or flow chart and the combination of frames in the block diagram and / or flow chart can be implemented by a system based on dedicated hardware or a combination of dedicated hardware and computer instructions that performs a specified function or action.
[0082] While the foregoing is directed to various aspects of the present disclosure, other and further aspects of the disclosure may be devised without departing from the basic scope thereof, which is determined by the claims that follow.
[0083] In addition, this application also includes the following examples.
[0084] Example 1. A method (300) comprising:
[0085] receiving (302) a predictive assembly request (110) for an assembly prediction (116) to be generated for an assembly of interest by executing a workflow engine (100);
[0086] receiving (304) measurement data (112) associated with the assembly of interest by executing the workflow engine (100), wherein the assembly prediction (116) for the assembly of interest is desired;
[0087] autonomously constructing (306) a workflow (146) specific to the assembly of interest for generating the assembly forecast (116) by executing the workflow engine (100), wherein constructing the workflow (146) includes determining i) which service pods (150) of a plurality of service pods (150) to invoke for generating the assembly forecast (116), and ii) an execution sequence of the invoked service pods (150);
[0088] autonomously generating (308) the assembly forecast (116) by executing the workflow (146) using the invoked service module (150) and the measurement data (112) through execution of the workflow engine (100); and
[0089] The assembly forecast (116) is output (310) by executing the workflow engine (100).
[0090] Example 2. The method (300) of Example 1, wherein determining the execution sequence of the called service modules (150) comprises determining which of the called service modules (150) are to be executed serially and which are to be executed in parallel by executing the workflow engine (100).
[0091] Example 3. The method (300) of Example 1, wherein the measurement data (112) is received as part of the predictive assembly request (110).
[0092] Example 4. The method (300) of Example 1, wherein autonomously constructing the workflow (146) specific to the assembly of interest by executing the workflow engine (100) for generating the assembly prediction (116) includes determining a priority of the predictive assembly request (110) relative to one or more other predictive assembly requests (110) received by the workflow engine (100).
[0093] Example 5. The method (300) of Example 4, further comprising:
[0094] By executing the workflow engine (100), one or more computing resources (240) for executing the workflow (146) are shifted based at least in part on the priority.
[0095] Example 6. The method (300) of Example 5, wherein transferring the one or more computing resources (240) for executing the workflow (146) based at least in part on the priority includes launching additional computing resources (250) to execute the workflow (146) by executing the workflow engine (100).
[0096] Example 7. The method (300) of Example 1, wherein autonomously constructing the workflow (146) specific to the assembly of interest for generating the assembly prediction (116) by executing the workflow engine (100) includes determining, by executing the workflow engine (100), computing resources (240) required for executing the workflow (146).
[0097] Example 8. The method (300) of Example 7, wherein determining the computing resources (240) required for executing the workflow (146) comprises determining, by executing a workflow engine (100), that there is an insufficient amount of computing resources (240) to execute the workflow (146), and wherein the method (300) further comprises:
[0098] Additional computing resources (250) are activated by executing the workflow engine (100) so that a sufficient amount of computing resources (240) are available to execute the workflow (146).
[0099] Example 9. The method (300) of Example 1, wherein the assembly prediction (116) output by the workflow engine (100) includes geometric data (118) for at least one component of the assembly of interest.
[0100] Example 10. The method (300) of Example 1, further comprising:
[0101] receiving, by a build system (136), the assembly prediction (116) output by the workflow engine (100); and
[0102] building (312), by the build system (136), at least one component for the assembly of interest based at least in part on the assembly prediction (116) output by the workflow engine (100), and
[0103] wherein the building system (136) autonomously performs the receiving and the building in response to receiving the assembly prediction (116).
[0104] Example 11. The method (300) of Example 10, wherein the assembly prediction (116) includes build data (119) representing instructions for building the at least one component for the assembly of interest.
[0105] Example 12. The method (300) of Example 1, wherein the workflow engine (100) is a network-based platform, and by executing the workflow engine (100), the platform causes one or more processors (404) to receive multiple predictive assembly requests (110) at a time, autonomously construct and execute a workflow (146) specific to an assembly of interest specified in a corresponding predictive assembly request in the multiple predictive assembly requests (110) for generating a corresponding assembly prediction (116), and output the corresponding assembly prediction (116).
[0106] Example 13. The method (300) of Example 1, wherein the plurality of service modules (150) includes a conditioning module (160), an alignment module (170), and a surface treatment module (180).
[0107] Example 14. The method (300) of example 1, wherein the assembly prediction (116) output by the workflow engine (100) includes geometric data (118) of a filler piece of a joint of an aircraft.
[0108] Example 15. The method (300) of Example 1, further comprising:
[0109] Monitoring the status of the invoked service module (150) during execution of the workflow (146) by executing the workflow engine (100); and
[0110] By executing the workflow engine (100), the status of the called service module (150) is reported to the user who initiated the predictive assembly request (110).
[0111] Example 16. A system (400) comprising:
[0112] one or more processors (404); and
[0113] One or more non-transitory memory devices (406) storing a program (408) embodying the workflow engine (100) that, when executed by any combination of the one or more processors (404), causes the one or more processors (404) to perform operations comprising:
[0114] receiving a predictive assembly request (110) for an assembly prediction (116) to be generated for an assembly of interest;
[0115] receiving measurement data (112) associated with the assembly of interest for which an assembly prediction (116) is desired;
[0116] autonomously constructing a workflow (146) specific to the assembly of interest for generating the assembly forecast (116), and wherein constructing the workflow (146) includes determining i) which service pods (150) of a plurality of service pods (150) to invoke for generating the assembly forecast (116), and ii) an execution sequence of the invoked service pods (150);
[0117] autonomously generating the assembly forecast (116) by executing the workflow (146) using the invoked service bay (150) and the measurement data (112); and
[0118] The assembly prediction is output (116).
[0119] Example 17. The system (400) of Example 16, wherein autonomously constructing, by the workflow engine (100), the workflow (146) specific to the assembly of interest for generating the assembly prediction (116) comprises determining computing resources (240) required for executing the workflow (146), and wherein the operations further comprise:
[0120] In response to determining that there is not a sufficient amount of computing resources (240) to execute the workflow (146), additional computing resources (250) are activated so that there is a sufficient amount of computing resources (240) to execute the workflow (146).
[0121] Example 18. The system (400) of Example 16, wherein determining the execution sequence of the called service modules (150) comprises determining which of the called service modules (150) are to be executed serially and which are to be executed in parallel.
[0122] Example 19. The system (400) of Example 16, wherein the assembly prediction (116) output by the workflow engine (100) includes geometric data (118) of a filler piece of a joint of an aircraft.
[0123] Example 20. A non-transitory computer-readable medium (406) having computer-readable instructions (408) embodying a workflow engine (100), the workflow engine (100) being executable by one or more processors (404) to:
[0124] receiving a predictive assembly request (110) for an assembly prediction (116) to be generated for an assembly of interest;
[0125] receiving measurement data (112) associated with the assembly of interest for which an assembly prediction (116) is desired;
[0126] autonomously constructing a workflow (146) specific to the assembly of interest for generating the assembly forecast (116), wherein constructing the workflow (146) includes determining i) which service pods (150) of a plurality of service pods (150) to invoke for generating the assembly forecast (116), and ii) an execution sequence of the invoked service pods (150);
[0127] autonomously generating the assembly forecast (116) by executing the workflow (146) using the invoked service bay (150) and the measurement data (112); and
[0128] The assembly prediction is output (116).
Claims
1. A method (300) comprising: receiving (302) a predictive assembly request (110) for an assembly prediction (116) to be generated for an assembly of interest by executing a workflow engine (100); receiving (304) measurement data (112) associated with the assembly of interest by executing the workflow engine (100), wherein the assembly prediction (116) for the assembly of interest is desired; autonomously constructing (306) a workflow (146) specific to the assembly of interest for generating the assembly forecast (116) by executing the workflow engine (100), wherein constructing the workflow (146) includes determining i) which service pods (150) of a plurality of service pods (150) to invoke for generating the assembly forecast (116), and ii) an execution sequence of the invoked service pods (150); autonomously generating (308) the assembly forecast (116) by executing the workflow (146) using the invoked service module (150) and the measurement data (112) through execution of the workflow engine (100); and The assembly forecast (116) is output (310) by executing the workflow engine (100).
2. The method (300) according to claim 1, wherein determining the execution sequence of the called service modules (150) includes determining which of the called service modules (150) are to be executed serially and which are to be executed in parallel by executing the workflow engine (100).
3. The method (300) of claim 1, wherein the measurement data (112) is received as part of the predictive assembly request (110).
4. The method (300) of claim 1, wherein autonomously constructing the workflow (146) specific to the assembly of interest for generating the assembly prediction (116) by executing the workflow engine (100) includes determining a priority of the predictive assembly request (110) relative to one or more other predictive assembly requests (110) received by the workflow engine (100).
5. The method (300) of claim 4, further comprising: By executing the workflow engine (100), one or more computing resources (240) for executing the workflow (146) are shifted based at least in part on the priority.
6. The method (300) of claim 5, wherein shifting the one or more computing resources (240) for executing the workflow (146) based at least in part on the priority comprises launching additional computing resources (250) to execute the workflow (146) by executing the workflow engine (100).
7. The method (300) of claim 1, wherein autonomously constructing the workflow (146) specific to the assembly of interest for generating the assembly prediction (116) by executing the workflow engine (100) includes determining, by executing the workflow engine (100), computing resources (240) required for executing the workflow (146).
8. The method (300) of claim 7, wherein determining the computing resources (240) required for executing the workflow (146) comprises determining, by executing a workflow engine (100), that there is an insufficient amount of computing resources (240) to execute the workflow (146), and wherein the method (300) further comprises: Additional computing resources (250) are activated by executing the workflow engine (100) so that a sufficient amount of computing resources (240) are available to execute the workflow (146).
9. The method (300) of claim 1, wherein the assembly prediction (116) output by the workflow engine (100) includes geometric data (118) for at least one component of the assembly of interest.
10. The method (300) of claim 1, further comprising: Receiving, by a build system (136), the assembly prediction (116) output by the workflow engine (100); as well as building (312), by the build system (136), at least one component for the assembly of interest based at least in part on the assembly prediction (116) output by the workflow engine (100), and wherein the building system (136) autonomously performs the receiving and the building in response to receiving the assembly prediction (116).