Method and device for the automated configuration of Manufacturing Execution Systems

The automated configuration of MES systems using AI and specialized software agents addresses the inefficiencies of manual setup by reducing time, costs, and error susceptibility, enhancing scalability and user-friendliness.

DE102024208098A1Pending Publication Date: 2026-02-26ROBERT BOSCH GMBH
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
DE102024208098
Authority / Receiving Office
DE · DE
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-08-26
Publication Date
2026-02-26

AI Technical Summary

Technical Problem

The manual setup and adaptation of Manufacturing Execution Systems (MES) is time-consuming, personnel-intensive, and lacks scalability due to high complexity and heterogeneity, leading to inefficiencies and error susceptibility.

Method used

An automated configuration method using Artificial Intelligence (AI) and software agents, each with specialized Large Language Models (LLMs), processes textual configuration requests to adapt MES systems to specific manufacturing needs, including production models, data structures, and system interfaces, with a graphical user interface for visualization and validation.

Benefits of technology

Reduces time and personnel costs, enhances scalability, and decreases error susceptibility through automated configuration, while providing an intuitive interface for user-friendly configuration adjustments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000009_0000
    Figure 00000009_0000
  • Figure 00000010_0000
    Figure 00000010_0000
  • Figure 00000010_0001
    Figure 00000010_0001
Patent Text Reader

Abstract

A method for the automated configuration of software systems. In this process, a configuration request is handled by multiple software agents, each possessing a large language model (LLM). Based on its role and expertise (domain expert, application expert, configuration expert), each agent contributes to fulfilling the request. The result is a new or modified configuration of the software system.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] The invention relates to a method for the automated configuration of Manufacturing Execution Systems (MES) using Artificial Intelligence (AI), as well as a device, a computer program and a machine-readable storage medium. State of the art

[0002] A Manufacturing Execution System (MES) is a computer-based system used in manufacturing to generally control the transformation of raw materials into finished products. The German terms Produktionsleitsystem (production control system) and Fertigungsmanagementsystem (manufacturing management system) are often used synonymously. Compared to similarly effective production planning systems, the so-called ERP (Enterprise Resource Planning) systems, the MES is distinguished by its direct connection to the distributed systems of process automation and enables the management, control, and monitoring of production in real time through a higher-level machine control system. This includes classic data acquisition and processing such as shop floor data collection (SFDC) and machine data acquisition (MDA), but also all other processes that have a timely impact on the manufacturing / production process. In particular, the MES serves the purpose of continuous control and enforcement.execution) of an existing and valid plan and the feedback from the process.

[0003] DE 10 2007 045 926 A1 discloses an interface between a manufacturing management system and an automation system.

[0004] Currently, the MES is set up or adapted manually. This task is typically performed by highly qualified application engineers who undergo extensive training to implement the respective product in the factory over weeks or even months. The greatest effort stems from the lengthy analysis of the production line, its individual stations, and the compilation and understanding of manufacturer-specific documentation for machine interfaces and production processes. This understanding is then manually transferred into an MES-specific configuration. The configuration of the various MES components is typically very heterogeneous and correspondingly complex.The disadvantage here is that the manual setup and adaptation of MES systems requires a lot of time and personnel due to the high complexity and heterogeneity of the configuration, and is therefore hardly scalable.

[0005] Therefore, one objective of the invention is to improve the scalability for setting up and adapting MES products. Advantages of the invention

[0006] Advantages of the invention include reduced time and personnel costs for configuring MES systems. Furthermore, the invention enables improved scalability of MES solutions due to automation. Another advantage is reduced error susceptibility through automated configuration. The invention also enhances user-friendliness through an intuitive graphical user interface and the output of results via this interface. Disclosure of the invention

[0007] In its first aspect, the invention relates to a method for the automated configuration of a software system. The software system can be a Manufacturing Execution System (MES) used for production control. The software system, or MES, can be configured with respect to a multitude of aspects to adapt it to the individual needs of a manufacturing company and its production processes. The configuration can encompass both technical and organizational aspects. For example, a production model of the MES can be configured. This production model can define production structures, resources (machines, workstations, personnel), and processes (production lines, operations, material flow). One or more data structures can be configured. These data structures define, for example, how the production data (e.g.,The MES can be configured to process data such as quantities, production times, machine data, and quality data. Furthermore, connections to other IT systems, such as ERP, PLM, or quality management systems, can be configured. This means that software interfaces to other software systems or machines can be configured. The MES user interface can be configured, particularly by adapting it to the needs of different user groups and the data and / or data formats to be output. Additionally, the MES notification and alarm management system can be configured, specifically by defining rules for notifications and alarms in critical production events, depending on the different process steps.It is also conceivable that reporting and / or analysis of the MES is configured, in particular by configuring reports and evaluations for monitoring and analyzing production.

[0008] The method of the first aspect of the invention can begin with an optional step. This involves providing a global configuration model of the software system, which defines configuration parameters and their dependencies. This is followed by receiving a configuration request that characterizes or describes a desired change or creation of a configuration of the software system. The configuration request is preferably a textual description of the configuration requirement, i.e., a text written in a human-understandable language.

[0009] The configuration request is then processed by a number of interacting software agents, each using a large language model (LLM). Each agent contributes to fulfilling the configuration request based on its role and expertise. This role and expertise are preferably characterized by a textual description. This textual description is then used to configure the LLM for the respective agent with respect to its role and expertise.

[0010] It should be noted that the textual descriptions can alternatively be provided via voice input.

[0011] The agents have the following roles: - At least one domain expert who has expertise in the application domain of the software system and can interpret the configuration requirement in the context of the specific requirements. - At least one application expert who has detailed knowledge of the software system and its configuration options and can translate the configuration requirement into concrete configuration parameters. - At least one configuration expert who specializes in creating, optionally validating, and optionally documenting the configuration in the specified format of the global configuration model.

[0012] Once the agents have completed processing the configuration request, they then generate a new or modified configuration of the software system through interaction with the agents. Finally, the software system can be configured and, if necessary, operated.

[0013] It is proposed that the agents can interact as follows: exchange of information and knowledge about the configuration requirement, the application domain and the software system, in particular the exchange takes place via a common communication space or communication channel of the agents, discussion and negotiation of configuration options based on the expertise of each agent, especially in said communication space, and optionally a validation of the proposed configuration parameters against the rules and restrictions of the global configuration model.

[0014] Furthermore, it is proposed that the agents be specialized in that they can access a knowledge base containing relevant documents, instructions, documentation, and historical configuration data of the software system. Preferably, the agents use a Retrieval-Augmented Generation (RAG) technique to efficiently search the knowledge base for relevant configuration information and to anchor the outputs of the LLMs based on this knowledge base. Preferably, the agents are configured to communicate with external systems and APIs to obtain additional information or to perform actions within the software system.

[0015] A second aspect of the invention proposes that a configuration model be created based on the software system configuration and displayed via a graphical user interface. This user interface allows for visualization of the current software system configuration, optionally enabling manual configuration adjustments by the user, and optionally allowing verification and validation of the configuration generated by the agents and / or a comparison of different configuration versions.

[0016] In a further aspect of the invention, it is proposed that the configured software system is operated according to the first aspect of the invention, wherein the software system determines an output variable based on detected sensor values ​​from one or a plurality of sensors, in particular from manufacturing or other input variables, and a control variable is output depending on the output variable.

[0017] The control variable can be used to control an actuator of a technical system. The technical system can be, for example, a machine (at least partially autonomous), a vehicle (at least partially autonomous), a robot, a tool, a manufacturing or production machine, or an aircraft such as a drone.

[0018] In further aspects, the invention relates to a device and a computer program, each configured to perform the above methods, and a machine-readable storage medium on which this computer program is stored.

[0019] Embodiments of the invention are explained in more detail below with reference to the accompanying drawings. The drawings show: Fig. 1 a schematic visualization of an overall architecture according to an embodiment of the invention; Fig. 2 a schematic visualization of part of the overall architecture; Fig. 3 a schematic visualization of a method, a device and a storage medium of an embodiment of the invention. Description of the exemplary implementations

[0020] In one embodiment of the invention, in Fig. Figure 1 shows a GenAl-based low-code MES application. This generally has two areas: global configuration management (1a) and GenAl-related components (1b).

[0021] The global configuration management 1a is designed such that a user 2 can configure all aspects of the MES system preferably via a graphical abstraction of the complex technical MES configuration elements, also referred to as a "low-code frontend" 3. The graphical frontend 3 is automatically generated and displayed based on the configuration schema stored for the respective MES component. Known methods such as React Flow or similar can be used to generate the graphical representation. Icons or UL elements are used to depict production, with edges between the elements representing the data flow or other relationships between machines, stations, and software components of the MES. Preferably, the configuration schema or configuration is stored as a JSON file or in a database.It should be noted that, in addition to or as an alternative to graphical abstraction, the configuration schemes can also be output via speech output or another medium.

[0022] An example of a graphical representation of a configuration in the configuration scheme of an MES component is a "cycle time" setting that defines an integer with the unit "seconds," an upper limit of "86400 seconds," and a lower limit of "10 seconds." In the graphical representation, an input box can then be displayed via a low-code frontend, allowing numerical inputs, e.g., 10 < Input < 86400. The displayed value can be dynamically expressed in hours, minutes, and seconds to optimally support the user.

[0023] The set of UL elements is preferably predefined and is applied rule-based to the respective entry in the configuration schema.

[0024] In another preferred embodiment, the interface further supports the graphical comparison of multiple versions of a configuration. For example, if the user plans a configuration change, they can graphically compare the change with the currently production-ready configuration (side-by-side or overlay comparison). Changes to individual configuration parameters can be compared and, if necessary, corrected via a drill-down function.

[0025] Optionally, Frontend 3 can graphically display the physical and logical structure of the plant or production line, linked to the MES components relevant for the respective process step.

[0026] User 2 also has the option of interacting directly with the GenAl components 1b via a conversation on interface 3. Changes made in this way are then displayed graphically on interface 3 for comparison. User 2 then preferentially decides which part of the changes should be adopted.

[0027] The actual configuration of the MES system is maintained, versioned, and stored centrally in the "Global Configuration Model" 4. This component also contains the configuration schema required for the UI.

[0028] MES components that are not directly based on the standardized configuration schema can be adapted via a "Legacy Adapter" 6. Adapter 6 generates a component-specific configuration from the generic schema stored in the Global Configuration Model. The adapter comprises two modules, 7 and 8, which are referred to as the "Configuration Generator" and "MES Legacy Configuration," respectively. Module 7 is configured to translate the Global Configuration into a format usable by the Legacy Adapter. Module 8 is configured to represent a persisted legacy configuration (e.g., a database entry, a file on the hard drive, an environment variable, etc.).

[0029] The MES is identified by reference numeral 5 in Fig. 1 shown.

[0030] The GenAl-related components 1b are on the right side of the Fig. 1 shown. This section is in Fig. Figure 2 is shown enlarged. The interface between the global configuration management and the GenAl-related components is an optional module, "Validator" 9. Module 9 preferably contains a rule-based and a heuristic validation routine to prevent obviously corrupted configurations from being applied. It is also conceivable that Module 9 performs the validation based on GenAl technologies.

[0031] Configurations and configuration changes can be created either manually by the user or fully automatically via the GenAl-based components. To achieve the latter, the invention proposes the use of orchestrated agents ("MES Configuration Crew").

[0032] In Fig. Figure 2 shows agents 1 to 3, which can access differently configured Large Language Models (LLMs) 14 and are set up to interact with each other, effectively creating an autonomous system capable of understanding and executing complex tasks. These agents utilize the capabilities of LLMs to process, understand, and respond to natural language. That is, the agents can interpret natural language input and perform actions based on it. Furthermore, these agents are designed to act autonomously. This means they can make decisions and perform tasks without human intervention, based on the information and instructions they receive through natural language. Additionally, the agents can interact with a user in real time.It is conceivable that through continuous training and feedback, LLMs and the agents based on them can improve their skills and adapt to new tasks and contexts.

[0033] As in Fig. 1 and Fig. As shown in Figure 2, a plurality of agents are used to automatically discuss a configuration of the MES 5.

[0034] In a preferred embodiment, three agents are used, which are initialized as described below. Initialization can be performed by providing a corresponding text to the agent's LLM to configure the LLM for its role.

[0035] Agent 1 is a manufacturing expert. Agent 1 is familiar with the respective production domain and possesses corresponding manufacturing knowledge. This expertise for the production domain can be provided to the LLM through various approaches. One of this agent's tasks is to understand and optimize the production facility and its production lines.

[0036] Agent 2 is an MES application engineer. Agent 2 is familiar with the MES product and is preferably a LLM specializing in MES. This agent's task is to apply the MES product for the respective use case.

[0037] Agent 3 is a configuration expert ("Configuration Agent"). Agent 3 is an expert in writing and documenting the MES product-specific configuration. This agent's task is to read the configuration in the specified format, write it, and optionally generate human-readable documentation for it.

[0038] In addition to the above-explained roles of the LLMs via text input (also known as context prompting), which describes the role and / or task of the agent, the LLMs can additionally or alternatively be assigned their respective attributes and / or expertise through other techniques.

[0039] One such technique is the so-called fine-tuning of the agent's respective LLM (Language Learning Model). Fine-tuning of LLMs refers to the process of adapting a pre-trained language model to specific tasks or domains to improve its performance in those areas. During fine-tuning, the pre-trained model is further trained with a specific dataset relevant to the target task or domain. This data can come from various sources. Generally, the data for the agents consists of additional documents relevant to their tasks. For example, for Agent 1, the data might be data directly from the factory generated during production. For Agent 3, the additional data for fine-tuning might be previously created configuration schemas.

[0040] It has been found that by fine-tuning (especially for agents 1 and 2) with historical production data as well as data from past application projects, an above-average precision could be achieved for their responses.

[0041] Known LLMs can be used for the agents. Preferably, a GPT, especially GPT 4o, or similar, is used for Agent 1, and a Mistral Instruct, CodeLlama, or similar for Agents 2 and 3.

[0042] In addition to fine-tuning, another technique is the so-called "Retrieval-Augmented Generation" (RAG), an approach that combines the strengths of information retrieval systems (retrieval) and generative language models (generation) to improve the quality and relevance of the generated answers.

[0043] Generally, RAG begins with an input query, to which the retrieval module responds by retrieving relevant documents or text passages from a large database. This retrieved information then serves as context for the LLM, which subsequently generates a coherent and informed response.

[0044] Agent specialization is achieved through Retrieval-Augmented Generation (RAG) by, for example, using a Small Language Model (SLM) to process data so that a Learning Manager (LLM) can use it to answer prompts without requiring retraining. User manuals for the Manufacturing Execution System (MES), integration guides, process descriptions, machine manufacturer documentation, and other sources are preferably used and vectorized via RAG and stored in a database. Ideally, each agent has its own RAG database containing knowledge specific to its task.

[0045] Database 10 or multiple databases can be populated using different scrapers 11, 12, 13. For example, a website scraper 11, a PDF scraper 12, and a code documentation scraper 13 can be used.

[0046] In a preferred embodiment of Agent 3, the LLM is specialized using RAG and fine-tuning. For this fine-tuning, a plurality of YAML files containing valid deployment configurations for the respective software product can be used. These files describe graphs, which in turn describe the interactions between modules of the MES.

[0047] Optionally, so-called tools can be predefined for the agent. These tools are programs that the respective agent can execute independently, deciding when to run them.

[0048] It is conceivable that only two agents are used. Preferably, only the Manufacturing Expert and the MES Application Engineer are used. In this case, the latter could also take over the tasks of the Configuration Agent.

[0049] However, it is also conceivable that more than three agents are used. Preferably, in addition to the agents described above, another agent would be added, for example, a "Cost Manager" who ensures that only configurations within a predefined cost framework are created.

[0050] Agents 1 to 3, as described, are each assigned a task and work together to achieve the best possible result. The task can either be specified by the user (e.g., via chat interaction on the frontend) or be predefined, recurring routine tasks provided by the system operator or product manufacturer.

[0051] The tasks can be formulated as follows, for example: • “Create an initial MES configuration for production line XY” • “Extend the currently valid configuration to map the packaging process described in the following document” • “Migrate the configuration to ensure its compatibility with NEXEED IAS 2025.01”

[0052] The agents exchange information according to their tasks and expertise and generate a correspondingly adapted version of the configuration. This is created in Global Configuration Management as a new configuration version and optionally presented to the user for review.

[0053] It should be noted that the idea according to the invention can alternatively be used to configure any complex software system, in particular once the necessary documents such as instructions for the software system are available.

[0054] Fig. Figure 3 schematically shows a flowchart of a computer-implemented method (100) for the automated configuration of a software system, in particular a Manufacturing Execution System (MES). The method (100) is characterized by the use of interacting software agents, each of which utilizes a large language model (LLM) and contributes to fulfilling the configuration requirements based on its role and expertise. To maximize the agents' performance, they can be further specialized for their respective roles through fine-tuning and are granted access to a knowledge base containing relevant documents, instructions, and historical configuration data. Each agent has its own specialized LLM, which has been fine-tuned with data relevant to its role.The agents communicate with each other via a central communication channel, in which they exchange information and interim results.

[0055] The procedure (100) begins with the receipt (S21) of a configuration request. This request can be transmitted to the system in various ways, for example, through direct input by a user via a graphical user interface, by importing from a file, or through automated triggers, such as those resulting from corresponding changes in the system. The configuration request itself can contain both natural language descriptions of the desired changes and formal specifications in a language understandable to the system.

[0056] In the next step (S22), the configuration request is forwarded to the involved software agents and processed by them. These agents are the domain expert, application expert, and configuration expert described above.

[0057] Each agent analyzes the configuration requirement from its own perspective and generates its own suggestions and solutions. These are shared and discussed with the other agents via the central communication channel. Through iterative negotiations and validations of the proposed configuration parameters, the agents gradually approach an (optimal) solution.

[0058] The domain expert validates, for example, whether the proposed configurations are compatible with production processes and guidelines. The application expert checks the technical feasibility and consistency of the configuration parameters in the MES system. The configuration expert ensures that the final configuration complies with the specifications of the global configuration model and is correctly documented.

[0059] Throughout the entire process, agents can also access the central knowledge base to research missing information, consult best practices, or analyze historical configurations. For example, the domain expert can access documentation from machine manufacturers to verify the compatibility of a new machine with the existing production system. The application expert can refer to code examples and configuration templates to simplify the implementation of configuration changes in the MES system.

[0060] In the final step (S23) of the procedure (100), the final configuration consolidated by the agents is stored in the global configuration model of the software system. Optionally, the configuration can be validated by a user or activated directly in the MES system.

[0061] Furthermore, it shows Fig.3. A device (300) configured to execute the method 100, comprising a machine-readable storage medium (301) on which a computer program is stored. The computer program includes instructions which, when executed by a computer, cause the computer to execute the method 100. QUOTES INCLUDED IN THE DESCRIPTION

[0000] This list of documents cited by the applicant was automatically generated and is included solely for the reader's convenience. The list is not part of the German patent or utility model application. The DPMA accepts no liability for any errors or omissions. Cited patent literature

[0000] DE 10 2007 045 926 A1

[0003]

Claims

[1] Computer-implemented method (100) for the automated configuration of a software system, comprising the following steps: Receiving (S21) a configuration request that describes a desired change or creation of a configuration of the software system; Processing (S22) the configuration request by a plurality of interacting software agents that utilize at least one large language model (LLM), each agent contributing to the fulfillment of the configuration request based on its role and expertise, the agents assuming at least the following roles: A role of a domain expert who has expertise in the application domain of the software system, a role of an application expert who has knowledge of the software system and its configuration options and can translate the configuration requirement into concrete configuration parameters, a role of a configuration expert who can create configurations in the specified format of the global configuration model; Generating (S23) a new or adapted configuration of the software system through interaction of the agents. [2] Method according to claim 1, wherein the interaction of the agents comprises at least the following interaction possibilities: a) exchange of information and knowledge about the configuration requirement, the application domain and the software system; b) discussion and negotiation of configuration options based on the expertise of each agent and optionally c) validation of the proposed configuration parameters against the rules and constraints of the global configuration model. [3] Method according to any of the preceding claims, wherein the agents additionally have the following features: a) access to a knowledge database containing relevant documents, instructions, best practices and historical configuration data of the software system; b) use of Retrieval-Augmented Generation (RAG) techniques to search the knowledge database; communication with external systems and APIs for obtaining additional information of the software system. [4] Method according to any of the preceding claims, wherein a graphical user interface provides the global configuration model which enables: a) visualization of the current configuration of the software system; b) manual adjustment of the configuration by a user; c) verification and validation of the configuration generated by the agents; d) comparison of different configuration versions. [5] Method according to any of the preceding claims, wherein the software system is a Manufacturing Execution System (MES) and the application domain comprises manufacturing control. [6] Device (300) which is configured to carry out the method according to any of the preceding claims. [7] Computer program comprising instructions which, when the program is executed by a computer, cause it to execute the method according to claims 1 to 5. [8] Machine-readable storage medium (201) on which the computer program according to claim 7 is stored. [9] Use of the determined configuration by the method according to any one of claims 1 to 5 in the software system.

Citation Information

Patent Citations

  • interface between a production management system and an automation system

    DE102007045926A1

  • High-efficiency fine-tuning evaluation method and system for large language model

    CN118535887A

  • CN000118535887A