METHOD AND SYSTEM FOR PROVIDING RECOMMENDATIONS CONCERNING A CONFIGURATION PROCESS

20230359173 · 2023-11-09

    Inventors

    Cpc classification

    International classification

    Abstract

    A computer-implemented method for providing recommendations, REC, concerning a configuration process is provided to configure an industrial system, SYS, the method including the steps of calculating by a trained graph neural network, GNN, scores, s, for components, c, of a set, C, of configurable component types, ct; generating recommendations, REC, for introducing at least one additional component, c, into the industrial system, SYS, on the basis of the calculated scores, s; and outputting the generated recommendations, REC, to a user by a user interface or executing the generated recommendations.

    Claims

    1. A computer-implemented method for providing recommendations REC concerning a configuration process to configure an industrial system SYS, the method comprising: calculating by a trained graph neural network GNN, scores s for components c of a set C of configurable component types ct; generating recommendations REC for introducing at least one additional component c into the industrial system SYS on the basis of the calculated scores s; outputting the generated recommendations REC to a user by a user interface or executing the generated recommendations; and wherein the graph neural network GNN is trained to encode component features and a topology of the industrial system SYS configured by the configuration process, wherein the component features comprise static features and configurable attributes a of the respective component c.

    2. The computer-implemented method according to claim 1, wherein the topology of the industrial system SYS is represented by a topology graph G=(V, E) stored in a memory, wherein a vertex set V of the topology graph G contains vertices v representing configured components c of the industrial system SYS and wherein an edge set E of the topology graph G contains edges between two vertices v.sub.i, v.sub.j representing connections between two corresponding components c.sub.i, c.sub.j within the industrial system SYS configured by the configuration process.

    3. The computer-implemented method according to claim 2, wherein each vertex v within the vertex set V of the topology graph G of the industrial system SYS representing a corresponding component c in the industrial system SYS, comprises an associated feature vector x.sub.v specifying technical attributes of the respective component c.

    4. The computer-implemented method according to claim 3, wherein each feature vector x.sub.v of a vertex v within the vertex set V of the stored topology graph G of the industrial system SYS comprises a one-hot encoding of a component type ct of the respective component c.

    5. The computer-implemented method according to claim 1, wherein the feature vectors x.sub.v of all vertices v of the vertex set V of the stored topology graph G of the industrial system SYS form a feature matrix X stored in the memory.

    6. The computer-implemented method according to claim 1, wherein an embedding for each configured component c of the industrial system SYS is performed by processing the feature vector x.sub.v of the corresponding vertex v within the vertex set V of the stored topology graph G of the industrial system SYS along with the feature vectors x.sub.v of all neighboring vertices v in the stored topology graph G, by the trained graph neural network GNN to generate a context-aware embedding h.sub.v with an embedding size d of the respective component c.

    7. The computer-implemented method according to claim 1, wherein the embedding h.sub.v is performed for all configured components c of the industrial system SYS to generate a first embedding matrix H∈custom-character.sup.n×d, wherein n is the number of vertices v, in the vertex set V of the stored topology graph G and d is the embedding size.

    8. The computer-implemented method according to claim 1, wherein embedding is performed for all component types ct of components c to generate a second embedding matrix Z, with Z∈custom-character.sup.m×d, wherein m is the number of configurable component types ct and d is the embedding size.

    9. The computer-implemented method according to claim 7, wherein a matrix multiplication of the second embedding matrix Z with the transposed first embedding matrix H.sup.T is performed to calculate a score matrix S with S∈custom-character.sup.m×n, wherein each entry s.sub.ij of the calculated score matrix S contains a score s which indicates a plausibility of selecting a component c of the component type ct.sub.i and connecting it to an already configured component c of the component type ct.sub.j.

    10. The computer-implemented method according to claim 1, wherein recommendations for introducing at least one additional component c into the industrial system SYS are generated for the component types ct having the highest scores s in the calculated score matrix S.

    11. The computer-implemented method according to claim 1, wherein in response to an introduction of an additional component, c, into the industrial system SYS by a user via the user interface, the stored topology graph G of the industrial system SYS is automatically extended with an additional vertex v corresponding to the introduced component c and extended with an edge between the additional vertex v and the vertex of the at least one component c to which the additional component c has been connected to.

    12. The computer-implemented method according to claim 1, wherein the feature vector x.sub.v of the vertex v corresponding to the additional component c is initialized with a one-hot encoding of the component type ct of the additional component c and the remaining entries of the feature vector x.sub.v are set to zero.

    13. The computer-implemented method according to claim 12, wherein the initialized feature vector x.sub.v of the vertex v corresponding to the additional component c is passed through the trained graph neural network GNN to produce for the respective added component c an embedding h.sub.n+1, which is fed into a prediction model g to generate a prediction vector {circumflex over (x)}.sub.n+1 having entries output to the user via the user interface as recommendations for the technical attributes of the respective added component c.

    14. A recommendation engine for providing recommendations REC concerning a configuration process to configure an industrial system SYS, wherein the recommendation engine is configured to calculate scores s by a trained graph neural network GNN for components c of a set C of configurable component types ct and to generate automatically recommendations REC for introducing at least one additional component c into the industrial system SYS on the basis of the calculated scores s, wherein the generated recommendations REC are output to a user by a user interface or executed automatically by the recommendation engine, and wherein the graph neural network GNN is trained to encode component features and a topology of the industrial system SYS configured by the configuration process, wherein the component features comprise static features and configurable attributes a of the respective component c.

    Description

    BRIEF DESCRIPTION

    [0030] FIG. 1 shows a flowchart of a possible exemplary embodiment of a computer-implemented method according to the first aspect of the present invention;

    [0031] FIG. 2 shows a diagram for illustrating a possible exemplary embodiment of a recommendation engine according to a further aspect of the present invention;

    [0032] FIG. 3 shows further flowcharts for illustrating a computer-implemented method according to the first aspect of embodiments of the present invention.

    DETAILED DESCRIPTION

    [0033] As can be seen from the flowchart in FIG. 1, the computer-implemented method for providing recommendations concerning a configuration process to configure an industrial system SYS can comprise in a possible embodiment several main steps.

    [0034] The computer-implemented method according to embodiments of the present invention can be used to provide assistance in the process of configuring engineering projects concerning an industrial system SYS. The computer-implemented method can provide recommendations concerning the configuration process of the industrial system using a trained graph neural network GNN. Graph neural networks GNNs are connectionist models that capture the dependence of graphs via a message passing between nodes of graphs. Unlike a standard neural network, graph neural networks can retain a state that can represent information from its neighborhood with arbitrary depths.

    [0035] In the computer-implemented method according to the first aspect of embodiments of the present invention as illustrated by the flowchart of FIG. 1, in a first step S1, scores s for components c of a set C of configurable component types are calculated by a trained graph neural network GNN.

    [0036] In a further step S2, recommendations for introducing at least one additional component c into the industrial system SYS are generated on the basis of the calculated scores s.

    [0037] Finally, in a third step S3, the generated recommendations are either output to a user by a user interface or automatically executed.

    [0038] The graph neural network GNN used to calculate the scores s in step S1 has been trained to encode component features and a topology of the industrial system SYS configured during the configuration process. The component features can comprise static features and configurable technical attributes of the respective component c. The static features or attributes of an automation component c are invariable and do not change over time. These static features may for instance comprise a size, height or volume of the respective automation component c. Another example of static features may also comprise for instance the number of ports provided by the respective automation component. A further example for a static feature of an automation component c is the applied line voltage or supply voltage for the respective automation component c. Besides the static features, the component c can comprise configurable technical attributes such as a temperature range where the automation component c can be used in the industrial system SYS or whether the respective automation component c has to be fail-safe or not.

    [0039] The topology of the respective industrial system SYS to be configured during the configuration process can be represented by a topology graph G=(V, E) and can be stored in a memory of a recommendation engine. The vertex set V of the topology graph G contains vertices v representing configured components c of the industrial system SYS. Further, an edge set E of the topology graph G contains edges between two vertices v.sub.i, v.sub.j representing connections between two corresponding components c.sub.i, c.sub.j within the industrial system SYS to be expanded during the configuration process.

    [0040] Each vertex v within the vertex set V of the topology graph G of the industrial system SYS representing a corresponding component c in the industrial system SYS comprises an associated feature vector x.sub.v. A feature vector x.sub.v of a vertex v specifies technical attributes of the respective automation component c. These technical attributes can comprise both static features and also configurable technical attributes of the respective automation component c. Each feature vector x.sub.v of a vertex v within the vertex set V of the stored topology graph G of the industrial system SYS can comprise a one-hot encoding of a component type ct of the respective automation component c. In a possible embodiment, the feature vectors x.sub.v of all vertices v of the vertex set V of the stored topology graph G of the industrial system SYS form a feature matrix X stored in the memory of the recommendation engine.

    [0041] An embedding for each configured component c of the industrial system SYS is performed by processing the feature vector x.sub.v of the corresponding vertex v within the vertex set V of the stored topology graph G of the industrial system SYS along with the feature vectors x.sub.v of all neighboring vertices v in the stored topology graph G by the trained graph neural network GNN to generate a context-aware embedding h.sub.v with an embedding size d of the respective component c. The neighboring vertices v can comprise directly neighboring vertices v within the graph but also vertices v connected indirectly via several hops in the topology graph G. The graph neural network GNN is trained to encode both the component features and the topology of the respective engineering project. A partial, i.e., not completed engineering project, is represented by the topology graph G=(V, E). Each component c has an associated feature vector x.sub.v that specifies the configured technical attributes.

    [0042] The embedding is performed for all configured components c in the industrial system SYS to generate a first embedding matrix H∈custom-character.sup.n×d, wherein n is the number of vertices v in the vertex set V of the stored topology graph G and d is the embedding size.

    [0043] The embedding is performed for all component types ct of components c to generate a second embedding matrix Z with Z∈custom-character.sup.m×d, wherein m is the number of configurable component types ct and d is the embedding size. To allow efficient computation on the node level, a so-called embedding is produced for every configured component c represented by a corresponding vertex v in the vertex set V. For this purpose, the trained graphical neural network GNN is employed. The trained graphical neural network GNN takes as an input the feature vector x.sub.v of a given center node or vertex v within the graph along with all the feature vectors x.sub.v of its neighboring vertices v to produce a context-ware embedding h.sub.v. Heuristically speaking, a forward pass through the graphical neural network GNN first aggregates the feature vectors x.sub.v of all the automation components c which are connected with the vertex v of the center node. Then, in a second step, the graphical neural network GNN combines this neighborhood information with the feature vector x.sub.v to produce an embedding h.sub.v. It is possible to stack multiple layers of the graphical neural network GNN to obtain a more expressive encoder. The computations can be redone or reiterated for every node or vertex v to form the first embedding matrix H.

    [0044] Since it is a goal to produce a score s for all component types c of the component type set C, d-dimensional embeddings for all component types ct are generated. This can be achieved by reusing components of the graphical neural network GNN or via an embedding look-up. In most cases, the resulting embedding matrix is denoted with Z∈custom-character.sup.m×d, wherein m is the number of configurable component types ct and d is the embedding size.

    [0045] In a further step, a matrix multiplication of the second embedding matrix Z with the transposed first embedding matrix H.sup.T is performed to calculate a score matrix S with S∈custom-character.sup.m×n, wherein each entry s.sub.ij of the calculated score matrix S contains a score s which indicates a plausibility or suitability of selecting a component c of the component type ct.sub.i and connecting it to an already configured component c of the component type ct.sub.j. Accordingly, a score s is produced for every item when performing a matrix multiplication S=Z.Math.H.sup.T corresponding to a linear decoding step. Hence, if properly calibrated, an entry S.sub.ij of S∈custom-character.sup.m×n contains scores s that indicate the plausibility of selecting a component type ct.sub.i and connecting it to the already configured component c of the component type ct.sub.j. On that basis, it is possible to generate recommendations to a user to add components c to the already partially configured industrial system SYS that come with the highest scores s.

    [0046] The user may now proceed in different ways. The user may add the recommended automation component c to the already existing partially configured industrial system SYS or may also add another not recommended component c to the industrial system SYS. In a further option, the user may decide not to add any further component c and finalize the engineering project.

    [0047] In case that the user adds the recommended component c or another not recommended component, this corresponds to adding a new vertex v.sub.n+a to the topology graph G and connecting it to an existing node or vertex v.sub.j. In this case, the graph G is extended with the new vertex and edge and the process is reiterated. Otherwise, if the user does not add any further component the configuration process can be terminated.

    [0048] In response to an introduction of an additional component c into the industrial system by a user via the user interface, the stored topology graph G of the industrial system SYS can be automatically extended with the additional vertex v corresponding to the introduced component c and extended with an edge between the additional vertex v and the vertex of the component c to which the additional component c has been connected to. The feature vector x.sub.v of the vertex v corresponding to the additional component c can be initialized with a one-hot encoding of the component type ct of the additional component c and the remaining entries of the feature vector x.sub.v are set to zero. In a possible embodiment, the initialized feature vector x.sub.v of the vertex v corresponding to the additional component c can be passed through the trained graph neural network GNN to produce for the respective added component c an embedding h.sub.n+1 which can be fed into a prediction model g to generate a prediction vector {circumflex over (x)}.sub.n+1 having entries output to the user via the user interface as recommendations for the technical attributes of the respective added component c.

    [0049] FIG. 2 shows a diagram for illustrating a possible embodiment of a recommendation engine 1 according to a further aspect of the embodiments of the present invention. The recommendation engine 1 illustrated in FIG. 2 comprises in the illustrated embodiment three main modules. The recommendation engine 1 receives via an input interface an input partially configured engineering project represented by the topology graph G having vertices v connected by edges. Each vertex v or node of the graph G represents a configured component c of the respective industrial system SYS. These automation components c can comprise both hardware and software components. These automation components c can for instance comprise programmable logic controllers PLC, human-machine interfaces HMI, motion controllers, server amplifiers, variable speed drivers or robotic components. Depending on the use case, there can be a wide variety of different hardware or software components that can be configured and used during a configuration process of an industrial system SYS. In the illustrated example of FIG. 2, the graph G of the partially configured engineering process comprises nine vertices v.sub.1 to v.sub.9 each representing a corresponding component c of a specific component type ct. As illustrated in FIG. 2, the vertices v.sub.1, v.sub.2, v.sub.3, v.sub.7 represent components c of a first component type ct. Also, the vertices v.sub.4, v.sub.9 are of the same component type ct. Further, the components c represented by the vertices v.sub.5, v.sub.8 are of the same component type ct. The vertex v.sub.6 represents a component c of a further component type ct. The vertices v are connected via edges of an edge set E representing connections between two corresponding components within the industrial system SYS.

    [0050] The recommendation engine 1 can be used to provide recommendations concerning a configuration process to configure and to expand the respective industrial system SYS. The recommendation engine 1 as shown in FIG. 2 is adapted to calculate by a trained graph neural network GNN scores s for components c of a set C of configurable component types ct and to generate automatically recommendations introducing at least one additional component c into the industrial system SYS on the basis of the calculated scores s. The generated recommendations can be either output to a user by a user interface or executed automatically by an execution engine of the system.

    [0051] In the illustrated example, the recommendation engine 1 recommends adding an additional component c represented by the vertex v.sub.10 of the graph G′ into the partially configured industrial system SYS represented by the graph G supplied to the recommendation engine 1. v.sub.10 represents a component c which is connected to the components c represented by the vertices v.sub.6, v.sub.8, v.sub.9. The recommendation engine 1 according to embodiments of the present invention does not only give a recommendation what kind of component c has to be added to the partially configured industrial system SYS but also to which other components c it shall be connected to. Further, the recommendation engine 1 does also provide information about the configurable attributes of the added automation component c. In the example illustrated in FIG. 2, the configurable attributes of the added component c comprise as a maximum temperature of the added component c a temperature value of 60. Further, it indicates that the added component c shall be fail-safe. In the illustrated embodiment of FIG. 2, the recommendation engine 1 comprises three main modules including an encoder module 2, a link prediction module 3 and an attribute prediction module 4.

    [0052] The encoder module 2 comprises a trained graph neural network GNN which can calculate scores s for components c of a set C of configurable component types ct. Based on the calculated scores s, recommendations for introducing at least one additional component into the industrial system are generated. The link prediction module 3 is used to predict links or edges indicating to which components c the added component c shall be connected to. The attribute prediction module 4 can use a prediction model g to generate a prediction vector having entries output to the user via a user interface as recommendations for the technical attributes of the respective added component c such as fail-safe=true and x maximum operation temperature=60.

    [0053] FIG. 3 shows a further diagram for illustrating the computer-implemented method according to embodiments of the present invention. As illustrated in FIG. 3, the partially configured engineering project represented by graph G is supplied to a trained graph neural network GNN performing an encoding ENC. The linear decoder DEC performs a matrix multiplication of the second embedding matrix Z with the transposed first embedding matrix H.sup.T to calculate a score matrix S wherein each entry Si.sub.j of the calculated score matrix S contains a score s which indicate a plausibility of selecting a component c of the component type ct.sub.i and connecting it to an already configured component c of the component type ct.sub.j. Then, in the illustrated example, a user may perform a component selection SFL to expand the already existing partial engineering project wherein the expanded engineering project or industrial system SYS can be illustrated by a graph G′ as shown also in the example of FIG. 2. The expanded engineering project or industrial system SYS illustrated by the expanded graph G′ can then be processed again by the trained graph neural network GNN to provide an encoding ENCI of the system including the new added component c. This can be supplied to a prediction model g to predict configurable technical attributes a or features of the respective component c.

    [0054] The graph neural network GNN can be trained from historical engineering projects. The training data T can consist of historical engineering projects that were configured in the past. That means that T={(G.sub.1, X.sub.1), (G.sub.2, X.sub.2), . . . , (G.sub.T, X.sub.T)} wherein each G corresponds to a network representation of an engineering project and X.sub.i to a feature matrix. Heuristically speaking, one first deletes parts of structures in (G.sub.i, X.sub.i) and then aims to recover these structures by the recommendation system according to embodiments of the present invention. Thereby, it is possible to obtain an approximation of partially configured engineering projects. Then, the system SYS is trained and validated by its ability to complete the projects as they were previously configured before the deletion step. More concretely, it is possible to train the parameters of the graph neural network GNN to recommend previously deleted items in the vertex set V leading to a loss L.sub.R. Moreover, it is possible to train the graph neural network GNN and the prediction model g with regard to the abilities to restore the feature matrix X, leading to a prediction loss L.sub.P. In a possible embodiment, a joint loss L=L.sub.R L.sub.P can be formed such that the whole model can be trained end-to-end.

    [0055] With the computer-implemented method according to embodiments of the present invention, it is possible to exploit historical examples of industrial engineering projects to not only provide details on where to connect a selected component c but also to predict values of technical attributes of the respective component c. The computer-implemented method and engine is more scalable than conventional systems relying on manually defined rules. In addition, depending on the complexity of the underlying technical systems, the computer-implemented method according to embodiments of the present invention allows to discover more complex or obscure patterns to base recommendations on than those that a domain expert in charge of maintaining the collection of rules could easily specify. Compared to existing data-driven methods, the computer-implemented method according to embodiments of the present invention is capable of providing details on how the automation components c shall be connected with each other as well as the values of configurable technical attributes of the respective automation components. This is possible by using a trained graph neural network GNN and a prediction model g. The computer-implemented method according to embodiments of the present invention can be integrated in a configuration software tool to increase the efficiency of a configuration process of a complex industrial system SYS. The computer-implemented method can be performed by a recommendation assistance system. In a possible embodiment, the recommendation engine 1 can operate in real time while a user is in the process of configuring an engineering project or industrial system SYS. Depending on the particularities of the use case, quality and amount of training data, the proposed computer-implemented method can be used either to assist the user in the process of configuring an industrial engineering system SYS or to complete automatically the configuration procedure. The computer-implemented method according to embodiments of the present invention does not only provide for a component selection and topology construction, i.e., how the automation components c are connected, but also provides for a selection of values of configurable technical attributes of an added component c such as whether the added component c shall be fail-safe or a value concerning a maximal admissible operation temperature for the respective added component c.

    [0056] Although the present invention has been disclosed in the form of embodiments and variations thereon, it will be understood that numerous additional modifications and variations could be made thereto without departing from the scope of the invention.

    [0057] For the sake of clarity, it is to be understood that the use of “a” or “an” throughout this application does not exclude a plurality, and “comprising” does not exclude other steps or elements.