Automated functional clustering of design project data using compliance verification

By using industrial AI-based component function identification and compliance verification, the shortcomings of automated identification and verification in CAD systems have been addressed, enabling a fast and accurate design process.

CN116034369BActive Publication Date: 2025-11-14SIEMENS AG
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202080104085.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-08-12
Publication Date
2025-11-14
Estimated Expiration
2040-08-12

AI Technical Summary

Technical Problem

Existing CAD systems lack the ability to automatically identify component functions and verify compliance in industrial design, which forces engineers to spend a lot of time and effort on manual inspections, which is prone to errors.

Method used

Employing an industrial AI-based approach, the system automatically identifies component functions and categorizes them into clusters by training machine learning models and constructing knowledge graphs. It then combines a rule inference engine for compliance verification and provides function-based recommendations and notifications.

Benefits of technology

It greatly accelerates the design process of complex industrial systems, reduces errors and inconsistencies, and improves design efficiency and accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116034369B_ABST
    Figure CN116034369B_ABST
Patent Text Reader

Abstract

The system and methodology utilize engineering software tools to construct graphical designs of industrial systems for design projects. An artificial intelligence (AI) module integrated with these engineering tools is used to classify the functions of components within the current design project using a trained machine learning-based model. The AI ​​module receives a knowledge graph of the current project based on data associated with the graphical design. The knowledge graph represents an ontology of elements and relationships between system components. The AI ​​module identifies the function of each knowledge graph node based on a classifier model, clusters the knowledge graph nodes according to the identified functions, and generates function-based recommendations based on these clusters in response to user queries. An inference engine performs compliance verification of the design data with specifications, standards, and policies at the component level.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to computer-aided design (CAD). More specifically, this application relates to enhancing CAD with artificial intelligence advisors for automatic contextual identification and clustering of design data through functionality and for verifying compliance with standards and policies. Background Technology

[0002] When designing industrial systems during project design, engineers rely on a variety of engineering tools in the CAD domain, including various software packages and applications tailored to one or more disciplines or fields within an industry (such as electrical, mechanical, automation, etc.). Typically, engineering tools present the project design as a 2D or 3D rendering with various components of the system design configured as connected devices according to the design. Other presentations may include tables or lists of components currently part of the project design. During project design using such engineering tools, the components (e.g., parts and equipment) of the system design project must be identified and categorized to understand how the various system parts operate individually and how they collaborate within the project. For example, a design project might involve modeling the layout of robot and conveyor components designed to serve an automated factory production line. Complex factories may involve multiple component types, each serving a specific function to collaboratively achieve a goal. When making design decisions, it is important to trace the functions and interactions of components throughout the system due to the contributing relationships between many components. As components are added to the design project, increasingly stringent standards and policies must also be adhered to. Today, engineers must rely on manual standard and policy compliance checks, which are time-consuming, labor-intensive, and error-prone. The failure of a designed system to comply with valid specifications may have serious consequences.

[0003] The application of artificial intelligence (AI) features can help provide recommendations that guide engineers during the CAD-based industrial design process. While AI systems can learn to recognize components, the extent of recognition is often limited by classifying components according to object type, as components are self-describing entities (e.g., motors, functional blocks, data blocks). What current AI systems lack in industrial design settings is the ability to easily identify the functionality of components used for contextual classification. Conventional AI systems also cannot provide automated compliance verification services for industrial system design to help implement standards and policies. Summary of the Invention

[0004] A software solution for computer-aided design applications in design projects is disclosed. This solution combines industrial AI-based assistance features to contextualize system components and recommend design components to users based on functionality when operating engineering software tools. The software solution also performs automated standard and policy compliance verification for engineering validation of design projects.

[0005] In one aspect, a method for computer-aided design includes: training a machine learning-based model using training data obtained from previous design projects to build a trained machine learning-based model that classifies the functions of components in the current design project. An engineering software tool constructs a graphical design for an industrial system used in the design project, the graphical design having multiple components. A knowledge graph is constructed for the current project based on data associated with the graphical design, the knowledge graph having nodes and edges representing an ontology of a set of elements and element relationships, respectively, where the set of elements includes multiple components. An artificial intelligence (AI) module runs integrated with the engineering tool during the current project, the AI ​​module using the trained machine learning-based model to classify the functions of the project components. The AI ​​module identifies the function of each knowledge graph node based on a classifier model and clusters the knowledge graph nodes according to the identified functions. A cluster graph with different functional clusters can be generated based on this cluster and displayed on a portion of a display as an AI-based assistive feature to provide visual assistance to the user using functional classification in the graphical design. Validation of the engineering design data is performed by an inference engine using rule-based inference. Attached Figure Description

[0006] Non-limiting and non-exhaustive embodiments of this invention will be described with reference to the following accompanying drawings, in which the same reference numerals denote the same elements throughout the drawings unless otherwise specified.

[0007] Figure 1 This is a block diagram of an example system for designing project functional data based on industrial AI-automated contextualized clusters, according to embodiments of this disclosure.

[0008] Figure 2 A flowchart illustrating an example of an automated, contextualized cluster of design project functional data based on industrial AI, according to an embodiment of this disclosure, is shown.

[0009] Figure 3A An example of cluster classification of project elements according to an embodiment of this disclosure is shown.

[0010] Figure 3B An example of a query function cluster according to an embodiment of this disclosure is shown.

[0011] Figure 4 A flowchart illustrating an example of compliance verification based on industrial AI according to an embodiment of this disclosure is shown.

[0012] Figure 5 An example of an automated compliance verification process according to an embodiment of this disclosure is shown.

[0013] Figure 6 An exemplary computing environment is shown that can implement embodiments of the present disclosure. Detailed Implementation

[0014] Methods and systems for enhancing engineering tools by incorporating AI-based assistive features that learn contextual classifications of components in computer-aided design projects and simultaneously present functional information to users via a graphical user interface (GUI) while operating the industrial system used for the design project. Functions can be displayed as clusters of functionally categorized elements in a knowledge graph of the current system design. Additional assistance can be presented to users in a recommended manner relative to design elements, such as notifications of missing elements or technical parameters for determining the design. AI modules and / or inference engines analyze the knowledge graph, construct functional clusters reflecting elements related to each other through common functions, and formulate recommendations to users during the design process. This assistance addresses the technical challenges faced by engineers opening design projects in engineering tools, where, years after a project is created by different engineers, it can take days and weeks to gain an understanding of even a single subsystem model, let alone numerous subsystem models that need to be categorized for the entire design project. The AI-based assistive features can leverage system user notifications in response to detected potential policy or standard violations used for compliance verification in design projects.

[0015] Figure 1This is a block diagram of an example system for designing functional data for an automated, contextualized cluster based on industrial AI, according to embodiments of the present disclosure. In the embodiments, a design engineering project is performed for an industrial system 170 (such as an automation system) having machines and sensors capable of providing feedback. For example, an automation project might involve designing a robot 171 that interacts with a conveyor 172 to manipulate workpieces in a production line, including control programs that perform machine drive operations in conjunction with sensor signals. Typically, given a set of pre-configured information about the industrial plant to be designed, such as environmental, physical layout constraints, etc., the industrial AI capabilities of the present disclosure support design development, such as the determination of automation logic, technical parameters, component interaction control, component configuration, etc. The computing device 110 includes a processor 131 and a memory 120 (e.g., a non-transitory computer-readable medium) storing various computer applications, modules, or executable programs. Engineering application 112 may include software for modeling tools, simulation engines, computer-aided design (CAD) tools, and other engineering tools accessible to the user via a graphical user interface (GUI) 151 and a user interface module 114 that drives the display feeds of GUI 151 and processes user input returned to processor 131. All of these are useful for performing plant designs in the form of design dashboards that provide various design views, such as 2D or 3D rendering. Network 130 (such as a local area network (UAN), wide area network (WAN), or Internet-based network) connects computing device 110 to a repository of artificial intelligence (AI) module 140 and knowledge graph 150. AI module 124 may be implemented as a local client module connected to AI module 140 (such as for querying and for receiving notifications or recommendations from AI module 140). In some embodiments, inference engine 122 communicates with the repository of knowledge graph 150 to perform rule-based analysis of the project design based on rules stored in rule database 132 and to perform compliance verification for engineering data validation. The mapping engine 123 can map the extracted strategies, specifications, and standard data to the rule database 132 to enable the verification of engineering data.

[0016] In this implementation, engineering data is monitored during the process of multiple design projects, and the engineering data is organized into a project-specific knowledge graph 150 as semantic data. In one aspect, the knowledge graph 150 can be generated for each engineering discipline operating the design project and / or a knowledge graph 150 can be created for a system design encompassing all active disciplines. The knowledge graph 150 is generated using a knowledge graph algorithm that processes data ontology derived from engineering applications 112 (e.g., Siemens TIA portal, ePlan, process simulator, etc.). The ontology determines which types of elements of the system and the relationships between elements (e.g., motor control, logic function blocks, associated sensor signals) are presented according to specific ontology criteria. The ontology also describes the attributes of the elements and element relationships, and element types can be organized into hierarchical structures, such as supertypes and subtypes. The knowledge graph 150 represents the ontology as nodes and edges, each node and edge corresponding to a set of elements and element relationships of the ontology. An archive of the knowledge graph 150 can be accumulated and stored as historical data 155 during the process of many engineering design projects. In one aspect, the ontology used to create the knowledge graph can be stored as an index table in the historical data 155.

[0017] AI module 140 is configured to apply classification techniques (e.g., machine learning classification, natural language processing, pattern matching, data flow analysis) to find interconnected components, classify component functions, and label the components accordingly. Based on this functional classification, AI module 140 can provide function-based recommendations to the user through AI-assisted assistance. In one embodiment, AI module 140 includes a machine learning-based network trained by supervised or unsupervised training techniques to generate a machine learning model that can identify different parts of the project based on the connections and attributes of elements in the knowledge graph 150 of the current project. A data-driven approach may involve a machine learning model trained on labeled historical data 155. Such a model can be trained using graph clustering, graph / node classification, or other classification models. Once trained, AI module 140 is used to analyze knowledge graph 150 to classify components in the design project according to function and contextualization. Functional contextual information can be presented to the user in an AI-assisted feature at GUI 151 during the design project. On one hand, AI module 124, acting as a client, connects to server-based AI module 140 via network 130 to save local storage, operating as a cloud-based AI solution. In some implementations, local AI module 124 can be implemented as a stand-alone machine learning-based network capable of performing the tasks described for AI module 140 locally, with the AI ​​module acting entirely or partially as a shared role with AI-based assistive features.

[0018] Inference engine 122 is used to implement a rule-based approach in which functions are described as graph queries on the ontology of knowledge graph 150 (e.g., using SPARQL or Gremlin), and these descriptions are stored in rule database 132. Rules can be defined by a user with the assistance of a rule editor software application that can perform simple rule composition based on the ontology. Once defined, the rules are stored in rule database 132. Alternatively, rules can be integrated into the knowledge graph ontology using knowledge graph algorithms. Examples of defined rules may involve defining functional contexts based on specific arrangements, configurations, and / or connections of two or more components. The rule-based approach can also incorporate results from data mining techniques (e.g., natural language processing, graph clustering, data stream analysis, etc.), whereby text from labeled or marked elements of historical knowledge graph data 155 is extracted and interpreted for functional contexts and formulated into rule-based queries and stored in rule database 132. In an implementation, once the rules are defined and stored in the rule database 132 according to any of the above techniques, the inference engine 122 analyzes new project data inputs by finding relevant rules and applying rule-based inference to the extracted structural features of the structured data records in the knowledge graph 150 for the current project to determine functional clusters.

[0019] The inference engine 122 can also provide engineering verification feedback to AI-based assistance displayed on the GUI 151. In an implementation, the rule database 132 stores policies, standards, and / or specifications for engineering design components. During the configuration of the current design project, the mapping engine 123 can be used to extract relevant policy, standard, and / or specification information received from the user or from documents in the rule database 132 and / or information sources, and map the extracted information to design elements in historical data 155 to define rule-based relationships with the project ontology, then storing the rules in the rule database 132. During verification for a running design project, the inference engine 122 extracts relevant rules from the rule database and applies these rules to new project data observed in the knowledge graph 150 of the current project, thereby looking for any deviations that may violate policies, standards, and / or specifications. These deviations can be reported to the user via AI-based assistance features.

[0020] Figure 2A flowchart illustrating an example of an automated, contextualized clustering process for functional data of a design project based on industrial AI, according to an embodiment of this disclosure, is shown. The system operates in two phases: a system configuration phase and a project classification phase. During system configuration, an AI module 210 is trained from historical data 255 to generate a trained machine learning model that uses a data-driven approach to classify design project components based on functional contextualization. For a rule-based approach, system configuration involves defining specifications for rule information, which is defined via a graphical user interface 230 for the functionality of components from the user and stored in a rule database 232. When a current design project is initiated, and design data is received in a first export from an engineering application 212, a project-specific knowledge graph 250 is populated and configured according to the project's ontology rules. For example, an engineer may select a design template from an engineering tool, which then renders components of a graphical design for that template. The knowledge graph 250 can be constructed by extracting data associated with the graphical design. During system configuration, as the engineer adds data to the project using the engineering application 212, incremental updates to the knowledge graph 250 are configured based on additional data exports. In some implementations, the rules may also be incorporated into the knowledge graph 250 for later extraction by the inference engine 220 during the classification phase.

[0021] During the project classification phase, after project configuration is completed, the project design can be queried from AI-based assistance 235, for example, if the project is reopened and the user wishes to submit a request for classification information about the design, such as an overview of a specific system or subsystem (e.g., what functions do the devices in subsystem X serve?). To perform project classification, while simultaneously using engineering tools (such as one of engineering applications 212 (e.g., ePlan, process simulation, TIA portal hardware configuration, TIA portal PLC software, etc.)), AI module 210 can perform component classification based on the state of knowledge graph 250, as constructed during the configuration phase. To perform classification, industrial AI module 210 extracts connectivity information from knowledge graph 250 and applies classification techniques (e.g., classification, natural language processing, pattern matching, data flow analysis, etc.) to identify and classify interconnected components based on function. Using this information, the classification results 215 are fed back to user interface 230, which may include, as described below. Figure 3AThe described approach involves graphical representations of clustered functional components and / or function-based recommendations presented to the user in AI-based assistive features 235. For example, using a knowledge graph, AI module 210 leverages a contextual perspective to view system design, such as identifying categories of components that can assist engineers when modifying components. For instance, to adjust the maximum speed of a given conveyor, AI-based assistance can identify, via contextual functional clusters, which components are part of the conveyor and the technical parameters of the components associated with the required adjustment. This aspect of the computer-implemented approach for designing industrial systems addresses the technical problem of accessing design components through functionality rather than name, significantly accelerating the design process for complex automated systems and reducing errors and inconsistencies. In one embodiment, user interface 230 may include a display where the screen is split to show an engineering application (e.g., a TIA portal) on one side and AI-based assistive features 235 on the other, including the rendering of categorized clusters and / or recommendation messages from industrial AI module 210.

[0022] In a separate process that can be implemented alternatively or additionally during the project classification phase, inference engine 220 analyzes knowledge graph 250 against rule information 231. Using inference analysis, inference engine 220 identifies clusters within knowledge graph 250 and applies functional rules to elements of the graph. For example, code or other software elements (e.g., comments, file structure or hierarchy, code organization, etc.) can be analyzed by inference engine 220 to identify functionality based on defined rule information 231. In another embodiment, data mining can be applied to knowledge graph 250 to extract the state of projects using text recognition algorithms (e.g., NLP) on text nodes such as labels and tags. Based on the extracted meaning of the text and the identified structural patterns, inference engine 220 infers the functional context based on comparisons with defined rules 232. Classification results 225 are sent to user interface 230 for presentation in AI-based assistance 235. References below Figure 3A Describe its graphical representation.

[0023] Once project components are categorized by function using data-driven or rule-based methods, a technological improvement includes the ability to easily operate within a design project based on clustered functions. For example, if new requirements, constraints, or specifications are discovered, any necessary modifications can be confidently made to all components used for the target categorization (e.g., a new crane specification can be fully and quickly implemented for all components within a crane functional cluster). In contrast, using conventional CAD-based tools, there is no easy way to identify all design components connected by common functions within an industrial system.

[0024] Figure 3AAn example of a clustered classification representation of project elements according to an embodiment of the present disclosure is shown. In an embodiment, after the AI ​​module 210 and / or the inference engine 220 perform cluster analysis based on the functions of the classification, a cluster graph 300 is generated from the classification results 215, 225 to represent the elements of the knowledge graph 250. For example, a design project may involve automation design, including, among other design aspects, setting up control programs for conveyors and robots to interact with various tasks on a production line. Each element of the design can be evaluated by its associated ontology information and can be assigned to its respective functions, such as conveyor cluster 311, robot cluster 312, and other clusters 313, together forming the cluster graph 300. In one embodiment, the knowledge graph 250 can be reorganized by the AI ​​module 210 and the inference engine 220 to form different node clusters based on functions, which can be presented as Figure 3A The cluster diagram 300 is displayed to the user on an AI-based assistive feature 235 as a visual aid for the user to utilize the functional classification in the graphical design of the current design project. On one hand, GUI functions (e.g., zoom in / out, rotate, pivot, etc.) can be used to visually explore the presented cluster in 3D or 2D. As shown, robot cluster 312 includes motor control node MC_2 and function block node FB_2, which respectively represent the control elements for driving the robot's motors and the functions of program blocks for certain specific functions of the robot. Each node includes a link to an associated tag node, which identifies the parameter values ​​or characteristics of the corresponding node. For example, conveyor cluster node FB_1 may be linked to tags indicating values ​​for conveyor speed and operating status. Some tags may be associated with signals such as Sig.A and Sig.B for node FB_2. In some examples, nodes may have characteristics associated with two or more clusters, such as tag 321, and cluster overlap may be defined for such nodes. Node classification to functional clusters can be based on machine learning models, inference engine rule analysis, or both. In some implementations, the information in the knowledge graph 250 can be categorized by the AI ​​module 210 and the inference engine 220, and functional clusters can be recorded graphically by changing nodes in a way that indicates which cluster a node belongs to (e.g., a unique color), without having to reorganize the knowledge graph into clusters. In some implementations, the AI ​​module 210 and / or the inference engine 220 can determine that some components or functions in the project design cannot be contextualized, meaning they are non-standard functions or the result of poor practice or design. In such cases, AI-assisted features can recommend replacing the unmapped components or functions with legitimate elements, or removing them from the design.

[0025] Figure 3BAn example of a query function cluster according to an embodiment of this disclosure is shown. In this example, a design project is being engineered for a production line that includes robots working with other components, such as conveyor belts. The design project is using a TIA portal hardware configuration program with a project tree screen 351, which can display a tabular list of devices and associated program blocks. As shown in the device table on screen 351, the target device is a Kuka robot, which is also simulated by a hardware simulation program 352 (such as process simulation) that simulates the operation of robot 353. In some examples, the software program blocks of the TIA portal may have labels, such as signals associated with the function blocks, that have unknown connections. Such examples may occur when the design project is initially created by different engineers, and when the current engineer opens the project in the engineering tool, the label names do not have a recognizable meaning. AI module 210 evaluates function cluster 300 and determines that Sig.A and Sig.B belong to cluster 312, which identifies a specific function FB_2 (e.g., the robot's gripping function) for the unknown label. In this scenario, the clustering performed by AI module 210 or inference engine 220 involves inference that bridges the software elements of the TIA portal with the hardware elements of the hardware simulation program—something that engineers cannot achieve using engineering tools alone. Undesirable alternatives include engineers having to visit the physical plant and perform physical inspections to trace the wiring from the PLC to the end device, or spending hours or days familiarizing themselves with and understanding the project by exploring the design using engineering software tools; both of these are, to put it another way, inefficient solutions. Figure 3B Signal labels Sig.A and Sig.B correspond both to a list of specific software blocks associated with sensors that transmit signals from the robot to the PLC in the TIA portal program and to feedback signals for certain specific tasks performed by the robot in the hardware simulation program. Accordingly, AI module 210 and / or inference engine 220 can answer questions about which software and hardware must be designed in the TIA portal to implement the corresponding functions of the robot. For example, in one implementation, a user can query AI-based assistance feature 235 to categorize elements of signal labels Sig.A and Sig.B, and the response can be a graphical display of the target node highlighted within the functional cluster to which the node belongs (e.g., using a different color than other nodes). In other implementations, AI-based assistance 235 can respond to the query with a text message identifying the functional category of the target node (e.g., sensor signals associated with robot gripping function block FB_2 of robot cluster 312). As another example, AI-based assistance can identify which signal labels are not connected to the hardware simulation.

[0026] On one hand, AI module 210 and / or inference engine 220 can fill in gaps, such as missing blocks in a design project, by identifying contexts in the knowledge graph. For example, when an engineer runs a design project in an engineering tool such as the TIA portal, AI module 210 can scan the knowledge graph and identify contexts contributed by hardware simulation, prompting the engineer that there may be omitted tags in the design project related to the robot cluster, which should probably be added to the TIA portal. For example, when an engineer selects a design element associated with the robot design (possibly entering parameters for each new element) and then moves to another component of the project, AI module 210 or inference engine 220 can detect incomplete aspects of the robot's design and send a notification to the user at the TIA portal interface via AI-based assistance 235, indicating that elements Sig.A and Sig.B need to be connected to sensors based on functional clusters learned from the knowledge graph contributions by the hardware simulation program. This aspect of AI-based assistance 235 ensures that engineers do not overlook design elements and can therefore fill in gaps.

[0027] Figure 4 A flowchart illustrating an example of an industrial AI-based compliance verification according to an embodiment of this disclosure is provided. Verification of engineering design data is performed by automatically verifying compliance with policies, specifications, and / or standards based on a system configuration phase and an engineering data verification phase. In one embodiment, the system configuration phase involves mapping engine 423 automatically extracting industry standards, specifications, and policies from document 407 and / or rule database 232. Such information can be fed back to mapping engine 423 during the configuration phase by determining standards and policies relevant to the planned engineering project. For example, information extraction from document 407 can be achieved through text mining, optical character recognition (OCR), NLP, and / or other similar language processing algorithms (e.g., processing scanned documents or electronic versions of documents). In one aspect, the mapping of standards, policies, and / or specification information is based on the extracted historical project data 405. In another aspect, mapping engine 423 may receive input 431 from user interface 230 in the form of modifications or additions to industry standards, policies, or specification information stored in rule database 232, which may be stored in rule database 232 based on ontology. In some embodiments, rule sets may be predefined and used in conjunction with, for example, [the following is a list of implementations / implementations]. Figure 2 The ontology obtained during the configuration phase of the configuration knowledge graph 250, as described in the classification, is included together with the ontology.

[0028] In this implementation, engineering data validation involves inference engine 220 validating standards and policies, as represented in rule database 232, against new engineering data represented in knowledge graph 250. If the standards and policies are represented as SPARQL queries, an example of such an inference engine could be a SPARQL endpoint. Using predefined knowledge representations of policies and standards represented as semantic data, inference engine 220 compares the current state of the project with the semantic data to detect potential violations. In response to a detected discrepancy, inference engine 220 sends a validation message 415 to user interface 230, which may be displayed in AI-based assistive features 235 on a computing device's display to include indications of potential violations, recommendations on how to rectify the violations, or a combination of both. Alternatively, inference engine 220 may receive direct queries 414 from user interface 230 relating to compliance with specifications of system components or subsystems of components, and respond with information or indications regarding any detected discrepancies or violations if no discrepancies or violations are detected. In the event of design modifications resulting from validation result 415, system configuration may be repeated to ensure proper mapping of relevant rules in knowledge graph 250 is maintained.

[0029] As an exemplary example of rule-based engineering verification, using knowledge graph 250, industrial AI module 210 observes the system design from a contextual perspective, such as identifying motors belonging to a conveyor cluster with known safety constraints, where the motor components are not currently designed with any parameters to address such constraints (e.g., conveyor speed, forward / backward travel limits, etc.). Then, when the target motor is added to the project design, deviations identified through functional clusters can be reported to the user during engineering applications. For example, a message could appear in AI-based assistive feature 235 on user interface 230: “Motor 125B drives conveyor 23 and is missing speed and forward parameters.” Examples of coding rules to detect deviations from standard or policy compliance could include: “Missing mandatory parameter: speed”; “Mandatory parameter missing: travel”; missing mandatory parameters: speed, travel.

[0030] Figure 5An example of an automated compliance verification process according to an embodiment of this disclosure is illustrated. In this embodiment, an AI-based assistant 235 runs as a service in the background during the planning of a design project using engineering tools. During the initialization of the design project, a knowledge graph 250 is built based on the current state of the design project (e.g., accessing a previous design project as a template for this design project) and includes an engineering data graph 551 and a specification data graph 552 (e.g., as separate subgraphs). As part of the system configuration, the industrial AI-based system downloads or accesses text specification data 407 from a provider, which is then mapped by a mapping engine 423 to semantic knowledge graph representations 552 of the corresponding standards, specifications, and policies. The specification data may be pre-compiled accordingly. During the engineering data validation phase (e.g., during or after the operation of engineering design tools used to design a project, and after the configuration phase), the inference engine 210 monitors the knowledge graph 250 and identifies deviations 525 between the engineering data graph 551 and the specification data graph 552 as potential non-compliance of the target component, and notifies the engineer via a visual notification 530 or message appearing in an AI-based assistive feature 235 in a portion of the display screen. In this example, a specification data element requires a specific attribute to be true, as shown in data graph 552, while the design element for that specific attribute is false in engineering data graph 551, resulting in the detection of deviation 525. In such a case, a recommendation 530 triggered in the AI-based assistive feature 235 can be read as "Set the 'specific attribute' to 'true' to comply with the specification." Typically, the recommendation may include suggested changes to settings, parameters, variables, etc., of the target component.

[0031] To provide comprehensive modeling of the engineering domain, data related to standards, specifications, and policies are modeled as semantic data in knowledge graph 250, as shown in specification data graph 552. This semantic data can be expressed as constraints on the ontology. In an implementation, knowledge graph 250 is constructed using RDF syntax (triples), which can express standards, specifications, or policies as SHACL (Shape Constraint Language) or SPIN constraints on the ontology (e.g., naming conventions that must be followed for knowledge graph nodes). Alternatively, the conventions can be directly represented as graph queries on knowledge graph 250, such as SPARQL or Gremlin queries.

[0032] Figure 6An example of a computing environment in which embodiments of the present disclosure can be implemented is shown. The computing environment 600 includes a computer system 610, which may include a communication mechanism such as a system bus 621 or other communication mechanisms for conveying information within the computer system 610. The computer system 610 also includes one or more processors 620 coupled to the system bus 621 for processing information. In one embodiment, the computing environment 600 corresponds to a system for functional classification and verification of engineering data based on industrial AI in computer-aided design projects, wherein the computer system 610 relates to a computer as described in more detail below.

[0033] Processor 620 may include one or more central processing units (CPUs), graphics processing units (GPUs), or any other processor known in the art. More generally, the processor described herein is a device for executing machine-readable instructions stored on a computer-readable medium to perform tasks, and may include any one or a combination of hardware and firmware. The processor may also include memory storing machine-readable instructions executable for performing tasks. The processor acts on information by manipulating, analyzing, modifying, transforming, or transferring information used by an executable program or information device and / or by routing information to an output device. The processor may use or include the capabilities of, for example, a computer, controller, or microprocessor, and is modulated using executable instructions to perform special functions not performed by a general-purpose computer. The processor may include any type of suitable processing unit, including but not limited to central processing units, microprocessors, reduced instruction set computer (RISC) microprocessors, complex instruction set computer (CISC) microprocessors, microcontrollers, application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), system-on-a-chip (SoCs), digital signal processors (DSPs), and the like. Additionally, the processor 620 can have any suitable microarchitecture design, including any number of components such as registers, multiplexers, arithmetic logic units, cache memory for controlling read / write operations on cache memory, branch predictors, etc. The processor's microarchitecture design may be able to support any instruction set across various instruction sets. The processor can be coupled (electrically and / or as part of an executable component) to any other processor capable of interacting and / or communicating between them. The user interface processor or generator is a known element that includes electronic circuitry or software, or a combination of both, for generating display images or portions thereof. The user interface includes one or more display images that enable user interaction with the processor or other devices.

[0034] System bus 621 may include at least one of a system bus, memory bus, address bus, or message bus, and may allow the exchange of information (e.g., data (including computer-executable code), signaling, etc.) between different components of computer system 610. System bus 621 may include, but is not limited to, a memory bus or memory controller, a peripheral bus, an accelerated graphics port, etc. System bus 621 may be associated with any suitable bus architecture, including but not limited to Industry Standard Architecture (ISA), Micro Channel Architecture (MCA), Enhanced ISA (EISA), Video Electronics Standards Association (VESA) architecture, Accelerated Graphics Port (AGP) architecture, Peripheral Component Interconnect (PCI) architecture, PCI-Express architecture, PCMCIA architecture, Universal Serial Bus (USB) architecture, etc.

[0035] See also Figure 6 The computer system 610 may also include a system memory 630, which is coupled to a system bus 621 for storing information and instructions to be executed by the processor 620. The system memory 630 may include computer-readable storage media in the form of volatile and / or non-volatile memory, such as read-only memory (ROM) 631 and / or random access memory (RAM) 632. RAM 632 may include other dynamic storage devices (e.g., dynamic RAM, static RAM, and synchronous DRAM). ROM 631 may include other static storage devices (e.g., programmable ROM, erasable PROM, and electrically erasable PROM). Furthermore, the system memory 630 may be used to store temporary variables or other intermediate information during instruction execution by the processor 620. A basic input / output system 633 (BIOS) may be stored in ROM 631, containing basic routines such as those that facilitate the transfer of information between components within the computer system 610 during startup. RAM 632 may contain data and / or program modules that are readily accessible to and / or currently operating on by the processor 620. System memory 630 may additionally include, for example, an operating system 634, an application module 635, and other program modules 636. Application module 635 may include modules for... Figure 1 The aforementioned modules may also include a user portal for developing applications, allowing users to input and modify input parameters as needed.

[0036] Operating system 634 may be loaded into memory 630 and may provide an interface between other application software executing on computer system 610 and the hardware resources of computer system 610. More specifically, operating system 634 may include a set of computer-executable instructions for managing the hardware resources of computer system 610 and for providing common services to other applications (e.g., managing memory allocation among various applications). In some exemplary embodiments, operating system 634 may control the execution of one or more program modules depicted as being stored in data storage device 640. Operating system 634 may include any operating system now known or to be developed in the future, including but not limited to any server operating system, any mainframe operating system, or any other proprietary or non-proprietary operating system.

[0037] Computer system 610 may also include a disk / media controller 643, which is coupled to system bus 621 to control one or more storage devices, such as magnetic hard disk 641 and / or removable media drives 642 (e.g., floppy disk drives, compact disk drives, tape drives, flash drives, and / or solid-state drives), for storing information and instructions. Storage devices 640 can be added to computer system 610 using appropriate device interfaces (e.g., Small Computer System Interface (SCSI), Integrated Device Electronics (IDE), Universal Serial Bus (USB), or FireWire). Storage devices 641 and 642 may be external to computer system 610.

[0038] Computer system 610 may include a user input / output interface 660 for converting signals to and from input / output devices 661. The input / output interface may include one or more input devices (such as a keyboard, touch screen, tablet and / or click device) and output devices (such as a display (e.g., on which GUI 151 may be displayed)) for interacting with a computer user and providing information to processor 620.

[0039] Computer system 610 may perform some or all of the processing steps of embodiments of the present invention in response to processor 620 executing one or more sequences of one or more instructions contained in memory (such as system memory 630). Such instructions may be read into system memory 630 from another computer-readable medium (such as magnetic hard disk 641 or removable media drive 642) of storage device 640. Magnetic hard disk 641 and / or removable media drive 642 may contain one or more data stores and data files used by embodiments of the present disclosure. Data storage 640 may include, but is not limited to, databases (e.g., related, object-oriented, etc.), file systems, flat files, distributed data stores where data is stored on more than one node of a computer network, peer-to-peer network data stores, etc. Data storage contents and data files may be encrypted to improve security. Processor 620 may also be employed in a multiprocessing device to execute one or more sequences of instructions contained in system memory 630. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions. Therefore, the embodiments are not limited to any particular combination of hardware circuitry and software.

[0040] As described above, computer system 610 may include at least one computer-readable medium or memory for holding instructions programmed according to embodiments of the invention and for containing data structures, tables, records, or other data described herein. As used herein, the term "computer-readable medium" refers to any medium involved in providing instructions to processor 620 for execution. Computer-readable media can take many forms, including but not limited to non-transient, non-volatile, volatile, and transmission media. Non-limiting examples of non-volatile media include optical discs, solid-state drives, magnetic disks, and magneto-optical discs, such as magnetic hard disk 641 or removable media drive 642. Non-limiting examples of volatile media include dynamic memory, such as system memory 630. Non-limiting examples of transmission media include coaxial cables, copper wires, and optical fibers, including wires constituting system bus 621. Transmission media may also take the form of sound waves or light waves, such as those generated during radio wave and infrared data communication.

[0041] Computer-readable medium instructions used to perform the operations of this disclosure may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​(such as Smalltalk, C++, etc.) and conventional procedural programming languages ​​(such as the "C" programming language or similar programming languages). The computer-readable program instructions may execute entirely on the user's computer, partially on the user's computer, as a standalone 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 may be connected to the user's computer via any type of network (including a local area network (LAN) or a wide area network (WAN)) or may be connected to an external computer (e.g., via the Internet using an Internet service provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs) may be personalized to execute computer-readable program instructions by utilizing state information from the computer-readable program instructions in order to perform aspects of this disclosure.

[0042] Various aspects of this disclosure are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this disclosure. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable medium instructions.

[0043] The computing environment 600 may also include a computer system 610 operating in a networked environment using logical connections to one or more remote computers (such as remote computing devices 673). The network interface 670 can enable communication with other remote devices 673 or systems and / or storage devices 641, 642, for example, via network 671. The remote computing device 673 may be a personal computer (laptop or desktop), mobile device, server, router, network PC, peer-to-peer device, or other public network node, and typically includes many or all of the elements described above with respect to computer system 610. When used in a networked environment, computer system 610 may include a modem 672 for establishing communication via network 671 (such as the Internet). Modem 672 may be connected to system bus 621 via user network interface 670 or via another suitable mechanism.

[0044] Network 671 can be any network or system generally known in the art, including the Internet, intranet, local area network (LAN), wide area network (WAN), metropolitan area network (MAN), direct connection or a series of connections, cellular telephone network, or any other network or medium capable of facilitating communication between computer system 610 and other computers (e.g., remote computing device 673). Network 671 can be wired, wireless, or a combination thereof. Wired connections can be implemented using Ethernet, Universal Serial Bus (USB), RJ-6, or any other wired connection generally known in the art. Wireless connections can be implemented using Wi-Fi, WiMAX and Bluetooth, infrared, cellular networks, satellite, or any other wireless connection method generally known in the art. Additionally, several networks can operate independently or communicate with each other to facilitate communication within network 671.

[0045] It should be understood that, Figure 6 The program modules, applications, computer-executable instructions, code, etc., described as stored in system memory 630 are merely exemplary and not exhaustive, and are described as being supported by any particular module, which may alternatively be distributed across multiple modules or executed by different modules. Additionally, various program modules, scripts, plug-ins, application programming interfaces (APIs), or any other suitable computer-executable code locally hosted on computer system 610, remote device 673, and / or hosted on one or more other accessible computing devices via network 671 may be provided to support… Figure 6 The functions and / or additional or replacement functions provided by the program modules, applications, or computer-executable code described herein. Furthermore, functions can be modularized differently, so that they are described as being provided by… Figure 6 The processing collectively supported by the set of program modules described herein can be performed by fewer or more modules, or a function described as being supported by any particular module can be at least partially supported by another module. Furthermore, the program modules supporting the functions described herein can form part of one or more applications that can be executed across any number of systems or devices according to any suitable computational model (such as a client-server model, peer-to-peer model, etc.). Additionally, the description as being performed by... Figure 6 Any functionality supported by any program module described herein can be implemented, at least in part, in the hardware and / or firmware of any number of devices.

[0046] It should be further understood that computer system 610 may include alternative and / or additional hardware, software, or firmware components beyond those described or depicted without departing from the scope of this disclosure. More specifically, it should be understood that the software, firmware, or hardware components depicted as forming part of computer system 610 are merely exemplary, and some components may be absent or additional components may be provided in various embodiments. While various exemplary program modules have been depicted and described as software modules stored in system memory 630, it should be understood that the functionality described as being supported by a program module can be enabled by any combination of hardware, software, and / or firmware. It should be further understood that in various embodiments, each of the above modules may represent a logical partition of the supported functionality. This logical partition is depicted for ease of interpretation of the functionality and may not represent the structure of the software, hardware, and / or firmware used to implement that functionality. Therefore, it should be understood that in various embodiments, the functionality described as being provided by a particular module may be provided at least partially by one or more other modules. Additionally, in some embodiments, one or more of the depicted modules may be absent, while in other embodiments, additional modules not depicted may be present, and these additional modules may support at least a portion of the described functionality and / or additional functionality. Furthermore, although some modules may be described and depicted as submodules of another module, in some implementations, such modules may be provided as independent modules or submodules of other modules.

[0047] While specific embodiments of this disclosure have been described, those skilled in the art will recognize that many other modifications and alternative implementations are within the scope of this disclosure. For example, any functionality and / or processing capability described with respect to a particular device or component may be performed by any other device or component. Furthermore, while various exemplary implementations and architectures have been described according to embodiments of this disclosure, those skilled in the art will understand that many other modifications to the exemplary implementations and architectures described herein are also within the scope of this disclosure. Additionally, it should be understood that any operation, element, component, data, etc., described herein as being based on another operation, element, component, data, etc., may be additionally based on one or more other operations, elements, components, data, etc. Therefore, the phrase "based on" or variations thereof should be interpreted as "at least partially based on".

[0048] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present disclosure. Each block in a flowchart or block diagram may represent a module, segment, or portion of instructions, including one or more executable instructions for implementing a specified logical function. In some alternative embodiments, the functions indicated in the blocks may not occur in the order shown in the figures. For example, two blocks shown consecutively may actually be executed substantially simultaneously, or these blocks may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs a specific function or action or executes a combination of dedicated hardware and computer instructions.

Claims

1. A system for computer-aided design, comprising: Computing devices, including processors; as well as A memory having modules stored thereon that are executed by the processor, the modules comprising: Engineering software tools are configured to build graphical designs for industrial systems that design projects, the graphical designs comprising multiple components; An artificial intelligence (AI) module, integrated with engineering tools during the current project, is configured to communicate with a server-based remote AI module that has a trained machine learning-based model that contextualizes components of the current design project based on function. The remote AI module is configured to: Receive a knowledge graph of the current project based on data associated with the graphic design, the knowledge graph including nodes and edges representing an ontology of a set of elements and relationships between elements, wherein the set of elements includes multiple components, and wherein the knowledge graph is generated using a knowledge graph algorithm that processes data ontology derived from engineering applications; The function of each knowledge graph node is identified based on a classifier model; and Generate clusters of knowledge graph nodes based on the identified functions; and A graphical user interface is configured to display AI-based assistance features that receive user queries related to the classification of components based on function. The remote AI module responds to the query by generating feature-based recommendations based on the cluster.

2. The system according to claim 1, wherein, The remote AI module is also configured to generate cluster graphs with different functional clusters, and the system further includes a graphical user interface configured to display the cluster graphs as other AI-based assistive features to provide visual assistance to the user using functional classifications in the graphical design.

3. The system according to claim 1, wherein, The remote AI module is also configured to: Cluster-based identification of missing information in the design; and In response to identifying missing information related to the design, a recommendation for the design is generated based on the AI-based assistive features.

4. The system according to claim 1, further comprising: The inference engine is configured as follows: The functionality of project components is classified by extracting structural features from the knowledge graph and applying rule-based inference analysis to the extracted structure using rules stored in the rule database. and Send a message with a text description of the functional classification of the target component to the AI-based assistive feature.

5. The system according to claim 1, wherein, The AI ​​module is also configured to: Receive user queries related to the functionality of the target component; In response to the query, the functionality of the component is determined based on the cluster; and Send a message with a text description of the functional classification of the target component to the AI-based assistive feature.

6. The system according to claim 1, wherein, The remote AI module is also configured to: Detect the gaps in the design project; and Send a message to the AI-based assistance feature to notify the user that one or more elements of the feature cluster are missing.

7. The system according to claim 1, further comprising: The mapping engine is configured to map compliance of components to a knowledge graph in the form of normative data, rules related to policies, norms, standards, or combinations thereof; and The inference engine is configured as follows: Determine the differences between the engineering data in the knowledge graph and the canonical data in the knowledge graph of the target component; and A message is sent to the AI-based assistance feature to notify the user that a potential non-compliance of the target component has been detected.

8. A method for computer-aided design, comprising: Use training data obtained from previous design projects to train a machine learning-based model to build a trained machine learning-based model that classifies the functionality of components in the current design project. A graphical design of an industrial system for a design project is constructed using engineering software tools, and the graphical design includes multiple components; A knowledge graph for the current project is constructed based on data associated with the graphic design. The knowledge graph includes nodes and edges representing an ontology of a set of elements and relationships between elements, wherein the set of elements includes multiple components, and the knowledge graph is generated using a knowledge graph algorithm that processes data ontology derived from the engineering application. During the current project, an artificial intelligence (AI) module integrated with engineering tools is run, wherein the AI ​​module uses a trained machine learning-based model to classify the functionality of project components, including: The function of each knowledge graph node is identified based on a classifier model. Cluster the knowledge graph nodes according to the identified functions; and Displays AI-based assistance features, which receive user queries related to classifying components based on function; The remote AI module responds to the query by generating feature-based recommendations based on the cluster.

9. The method according to claim 8, further comprising: Based on the clusters, a cluster diagram with different functional clusters is generated and displayed on a portion of the display as another AI-based auxiliary feature, thereby providing visual assistance to the user by utilizing the functional classification in the graphic design.

10. The method of claim 8, further comprising: The AI ​​module identifies missing information in the design based on the cluster. and In response to identifying missing information related to the design, recommendations for the design are generated and displayed based on the AI-based assistive features.

11. The method of claim 8, further comprising: The functionality of project components is classified by extracting structural features from the knowledge graph and applying rule-based inference analysis to the extracted structure using rules stored in a rule database; and Send a message with a text description of the functional classification of the target component to the AI-based assistive feature.

12. The method according to claim 8, further comprising: Receive user queries related to the functionality of the target component; In response to the query, the functionality of the component is determined based on the cluster; and Send a message with a text description of the functional classification of the target component to the AI-based assistive feature.

13. The method of claim 8, further comprising: Detect gaps in the design project; Send a message to the AI-based assistance feature to notify the user that one or more elements of the feature cluster are missing.

14. The method of claim 8, further comprising: The compliance of components is mapped to the knowledge graph by the mapping engine in the form of normative data, rules related to policies, norms, standards, or combinations thereof; The difference between the engineering data in the knowledge graph and the canonical data in the knowledge graph of the target component is determined by the inference engine; and A message is sent to the AI-based assistance feature to notify the user that a potential non-compliance of the target component has been detected.

Citation Information

Patent Citations

  • Computer-aided process planning method with graphic function

    CN103268390A

  • Target identification method, device and system based on knowledge graph, and storage medium

    CN111159249A

  • Medical diagnosis and treatment system

    CN111292821A