A computer system, comprising:
- one or more processors;
- memory;
- and
- one or more programs stored in the memory for execution by the one or more processors, the one or more programs for identifying a source of variation in a process in one or more processes, the one or more programs comprising instructions for:
- (A) maintaining a hypergraph data store comprising, for each respective process in the one or more processes, a respective plurality of versions of the respective process, each respective version comprising:
- a hypergraph comprising a plurality of nodes connected by edges in a plurality of edges, wherein
- each respective node in the plurality of nodes represents a respective stage in the respective process,
- a node in the plurality of nodes is associated with
- (i) a set of resource inputs to the respective stage in the corresponding process, and/or
- (ii) a set of resource outputs to the respective stage in the corresponding process, and
- each respective edge in the plurality of edges specifies that the set of resource outputs of a node in the plurality of nodes is included in the set of resource inputs of at least one other node in the plurality of nodes;
- (B) maintaining a run data store, wherein the run data store comprises a plurality of process runs, each process run comprising (i) an identification of a version in the plurality of versions for a process in the one or more processes, (ii) values for the respective set of resource inputs of a first node in the hypergraph of the respective version, (iii) the respective set of resource outputs of the first node in the hypergraph of the respective version, and (iv) obtained values of at least one output property of a resource output in the respective set of resource outputs of the first node in the hypergraph of the respective version;
- (C) executing instructions for acquiring and processing data for the one or more processes;
- and
- (D) receiving a query that identifies one or more resource inputs and/or parameterized resource outputs present in a combination of process versions of a combination of process runs in the run data store;
- (E) using a feature selection technique to identify, from among the values for one or more properties of the one or more identified resource inputs or the obtained values for one or more properties of the identified resource outputs in the combination of process versions of the combination of process runs, a resource input, an input property of a resource input, an input specification limit of an input property of a resource input, a resource output, an output property of a resource output, or an output specification limit of an output property of a resource output of a respective node, a variable present in the respective hypergraphs of the combination of process runs that is the source of variation in the manufacturing process.