Identification of patterns for finite state machine modeling systems

Identifying complex patterns in the FSM modeling system through the pattern recognition platform solves the problem of difficult to identify and optimize complex behavior patterns in the prior art, improves design efficiency and quality, and reduces design errors and waste of computing resources.

CN119225863APending Publication Date: 2024-12-31GM GLOBAL TECHNOLOGY OPERATIONS LLC
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202311421792.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-06-28
Filing Date
2023-10-30
Publication Date
2024-12-31

AI Technical Summary

Technical Problem

Existing finite state machine (FSM) modeling systems are difficult to effectively identify and optimize complex and highly interactive behavior patterns during the design process, resulting in design errors and inefficiency.

Method used

A pattern recognition platform is adopted, including system design module, assumption generation module, design scanner module, likelihood estimation module, threshold module and notification module. By receiving design data from the FSM modeling system, a design analysis model is generated and the system mode is identified. , calculate the pattern score and generate notifications based on threshold value classification to help the design team identify good, bad, and interesting patterns.

Benefits of technology

It improves the efficiency and quality of FSM modeling system design, reduces design errors, saves computing resources, and supports automated verification and optimization of design processes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119225863A_ABST
    Figure CN119225863A_ABST
Patent Text Reader

Abstract

A software-based "toolbox" for identifying support of patterns in a finite state machine (FSM) modeling system. Pattern recognition may include: identifying, from a user device, data associated with a design of a finite state machine (FSM) modeling system; determining a design analysis model according to the one or more annotated designs or existing designs; and identifying one or more system modes within the FSM modeling system based on searching the FSM modeling system in accordance with the design analysis model.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to a supportive software-based "toolbox" for aiding the design and implementation of finite state machine (FSM) modeling systems with multiple states, state transitions / mode changes, and other potentially complex behaviors. The present approach is intended to aid system designers, programmers, and other users during the system design process by identifying patterns. Background Art

[0002] Finite state machine is a mathematical abstraction frequently used to design and verify the behavior of a large number of different software programs and physical systems. Finite state machine can be represented as a state flow diagram, a state transition table or a hierarchical state machine / diagram on a graph, such as a state diagram. The FSM modeling system starts from an initial state. Based on the current state of the designed system and a given single event or event combination ("super event"), the finite state machine can be transferred between various additional states in response to system input or triggering events. Although the state transition table or state flow diagram plays an important role for the overall system design process, the design of the FSM modeling system can benefit from identifying patterns therein, such as, to identify the pattern of best practices, problematic patterns, etc. Summary of the invention

[0003] Disclosed herein are automated systems and associated methods for assisting a user (e.g., a software programmer, designer, or system developer) in the identification of patterns, such as, but not necessarily limited to, identifying best practices, faults, and other patterns that may be found in finite state machine (FSM) modeling systems. The automated methods contemplated herein are particularly well suited for designing systems that have relatively complex and / or highly interactive behavioral characteristics (e.g., across a wide range of possible states, state transitions, state or mode triggering events, and outputs). For example, a motor vehicle with automated control capabilities has relatively complex operating modes and state transition rules. Some of these modes are automatically executed or executed in response to driver input, while other modes may be based on timers, hidden logic, or other automatically occurring activation criteria. Other complex systems, such as avionics, medical devices, and associated control logic for a wide range of mobile or stationary systems, are designed using finite state machine techniques and will similarly benefit from automated verification methods as described in detail below.

[0004] A non-limiting aspect of the present disclosure relates to a pattern recognition platform. The pattern recognition platform may include: a system design module configured to receive data associated with a design of a finite state machine (FSM) modeling system from a user device. The data may describe static characteristics, dynamic characteristics, structural characteristics, states, state transitions, events, and outputs of the FSM modeling system. The pattern recognition platform may further include: a hypothesis generation module configured to determine a design analysis model based on one or more existing designs. The design analysis model may be operable to: train the pattern search of the FSM modeling system based on static characteristics, dynamic characteristics, structural characteristics, states, state transitions, events, and outputs. The pattern recognition platform may further include: a design scanner module configured to identify one or more system patterns within the FSM modeling system based on searching the FSM modeling system according to the design analysis model.

[0005] The pattern recognition platform may further include: a likelihood estimation module configured to generate a pattern score for each of the system patterns.

[0006] The pattern recognition platform may further include a threshold module configured to provide one or more threshold scores for comparison with one or more of the pattern scores.

[0007] The pattern recognition platform may further include a notification module configured to generate a notification indicating one or more actions for the FSM modeling system based on comparing the pattern score to a threshold score.

[0008] The notification may be operable to identify one or more of the system modes as at least one of good, bad, and interesting to a design team.

[0009] The notification may include an identification and location within the FSM modeling system for one or more of the system modes.

[0010] The static properties may include attributes and behaviors for one or more of the states.

[0011] The structural characteristics may include one or more graph patterns for a subset of one or more of the states and the state transitions.

[0012] The dynamic characteristics may include one or more equations or mathematical representations for a subset of one or more of the states and the state transitions.

[0013] The hypothesis generation module may be configured to determine the design analysis model using at least one of a machine learning algorithm and a neural network.

[0014] The hypothesis generation module may be configured to determine the design analysis model using one or more annotated designs or existing designs.

[0015] The annotated design or existing design may include information associated with determining the identification and location of the one or more system modes within the FSM modeling system.

[0016] One or more of the pattern scores may be determined using at least one of a weighted average or a sigmoid function.

[0017] One or more of the threshold scores may be predetermined from or calculated using the user equipment.

[0018] One non-limiting aspect of the present disclosure relates to a method for pattern recognition. The method may include: receiving data associated with a design of a finite state machine (FSM) modeling system from a user device; determining a design analysis model based on one or more annotated designs or existing designs; and identifying one or more system patterns within the FSM modeling system based on searching the FSM modeling system according to the design analysis model.

[0019] The method may further include training a pattern search of the FSM modeling system based on static properties, dynamic properties, structural properties, states, state transitions, events, and outputs identified for the FSM modeling system.

[0020] The method may further include generating a pattern score for each of the system patterns; providing one or more threshold scores for comparison with one or more of the pattern scores; and generating a notification indicating one or more actions for the FSM modeling system based on comparing the pattern scores to the threshold scores.

[0021] The method may further include identifying one or more of the system patterns as at least one of good, bad, and interesting to a design team.

[0022] One non-limiting aspect of the present disclosure relates to a pattern recognition platform. The pattern recognition platform may include: a system design module configured to receive data associated with a design of a finite state machine (FSM) modeling system; a hypothesis generation module configured to determine a design analysis model based on one or more existing designs; a design scanner module configured to identify one or more system patterns within the FSM modeling system based on searching the FSM modeling system according to the design analysis model; a likelihood estimation module configured to generate a pattern score for each of the system patterns; a threshold module configured to provide one or more threshold scores for comparison with one or more of the pattern scores; and a notification module configured to generate a notification indicating one or more actions for the FSM modeling system based on comparing the pattern score with the threshold score.

[0023] The pattern recognition platform may further include the notification module configured to identify one or more of the system patterns as at least one of good, bad, and interesting to a design team.

[0024] The above features and advantages of the present disclosure and other features and attendant advantages will be apparent from the following detailed description of illustrative examples and modes for implementing the present disclosure when taken in conjunction with the accompanying drawings and the appended claims. In addition, the present disclosure explicitly includes combinations and sub-combinations of the elements and features presented above and below. BRIEF DESCRIPTION OF THE DRAWINGS

[0025] The accompanying drawings, which are incorporated into and constitute part of this specification, illustrate implementations of the present disclosure and serve together with the description to explain the principles of the present disclosure. The accompanying drawings are not necessarily drawn to scale and may present slightly simplified representations of various preferred features of the present disclosure as disclosed herein, including, for example, specific dimensions, orientations, positions, and shapes. The details associated with such features will be determined in part by the specific intended application and use environment.

[0026] Figure 1 An automation system for use in designing and implementing a system using finite state machine (FSM) based design techniques according to the present disclosure is illustrated, wherein the automation system is configured to identify and resolve patterns within the designed system.

[0027] Figure 1A The diagram shows the Figure 1 An exemplary embodiment of a distributed processing node is used when using a portion of an automation system.

[0028] Figure 2 A pattern recognition method according to the present disclosure is illustrated.

[0029] Figure 3 is a flowchart of a method for identifying a pattern according to an embodiment of the present disclosure. DETAILED DESCRIPTION

[0030] The present disclosure may be embodied in many different forms. Representative examples of the present disclosure are shown in the accompanying drawings and described in detail herein as non-limiting examples of the disclosed principles. For this reason, elements and limitations described in the Abstract, Background, Summary, and Detailed Description sections but not explicitly set forth in the claims should not be incorporated into the claims individually or collectively, by implication, inference, or otherwise.

[0031] Referring to the drawings, wherein like reference numerals refer to like features throughout the several views, Figure 1 An automation system 10 configured to recognize patterns within a finite state machine (FSM) modeling system is depicted. Due to the criticality of achieving as close as possible to a perfect understanding and implementation of the designed system during the design process, and in order to develop a system without incorrect structures that can lead to design errors and incorrect user interactions, it is useful to verify that the designed system and associated human-machine interfaces will behave in a logical manner and in contrast to the driver, pilot or other end user of the physical embodiment of the modeled system, and that their behavior is also expected by the user 11 (e.g., designer or programmer). The ability to recognize patterns in FSM modeling systems, or what are generally referred to herein as system patterns, can support the provision of a software-based "toolbox" for assisting design teams.

[0032] To this end, the present solution enables the user 11 to identify and catalog system patterns within the FSM modeling system. In addition, the present approach supports the structured hierarchical design of the system modeled as described herein. Figure 2 and 3 As described in detail, the automation system 10 as contemplated herein has the goal of generalizing a given set of annotated / marked locations of system patterns in an existing system and using the generalization to identify locations of similar or related patterns in FSM modeling.

[0033] Figure 1 The automation system 10 illustrated in FIG. 1 may include a user device 12, such as a laptop computer, tablet computer, desktop computer, mobile application (“app”), or another application suitable host configured to assist a user 11 in designing a potentially complex hardware and / or software-based system. Although not shown in FIG. 1 for simplicity of illustration, the user device 12 may include a user device 12, such as a laptop computer, tablet computer, desktop computer, mobile application (“app”), or another application suitable host configured to assist a user 11 in designing a potentially complex hardware and / or software-based system. Figure 1The user device 12 is depicted as a single computer device, but those skilled in the art will appreciate that the user device 12 may be implemented as a distributed user device 120 having multiple processing nodes (eg, 12A, 12B, ..., 12N), such as Figure 1A Schematically depicted in . Such processing nodes may communicate with each other over suitable wired, wireless and / or cloud-based networking connections. The underlying system benefits from the automation system 10 to design a human machine interface ("HMI") or other equipment on a motor vehicle or aircraft, aquatic equipment, a rail vehicle, or another dynamic system, or to model the performance of a medical device, a power plant, or another static system.

[0034] Figure 1 The automation system 10 illustrated in the figure may also include: one or more peripheral devices 13, including a display screen 14 that can be operated as an output device for the user device 12. The user 11 can interact with the user device 12 via one or more additional peripheral devices 13 (not shown) (e.g., a mouse, keyboard, touch input to the display screen 14, etc.) when developing or designing a state transition table for the FSM modeling system, the state transition table including the functions of its resident software and / or hardware. The present solution is intended to facilitate downstream verification of system behavior after appropriate and thorough design of the FSM and (one or more) corresponding state transition tables. Among the many possible attendant advantages of the present solution, the user 11 is better able to accurately identify within the larger design where the design is not well structured and lacks sufficient levels.

[0035] As part of this strategy, Figure 1 Host computer 12 or Figure 1A Its constituent processing nodes 12A, 12B, ..., 12N may be equipped with a non-transient tangible computer-readable storage medium or memory (M) 54 having non-transient instructions stored thereon and one or more processors (P) 56, such as logic circuits, (one or more) combinational logic circuits, (one or more) application-specific integrated circuits (ASICs), (one or more) electronic circuits, (one or more) central processing units, semiconductor IC devices, etc., and (one or more) input / output (I / O) circuits, appropriate signal conditioning and buffering circuits and other components for providing the described functions, such as high-speed clocks. The associated memory 54 may include non-transient memory of an application-appropriate amount and type, including read-only, programmable read-only, random access, hard disk drives, etc., whether resident, remote, or a combination of the two.

[0036] As execution Figure 3 The method of 100M is a precursor, Figure 1The user device 12 illustrated in the figure receives system characteristics 15 and user input 16 from the user 11. This action may require receiving various states, state transitions and events of the modeled system, together with possible "super events" (event combinations), hierarchy definitions and other system characteristics 15 for the FSM modeled system. In response to the received system characteristics 15, the user device 12 automatically generates and outputs a first data set 17 embodying a blank / unpopulated initial state transition table ("T19". The initial state transition table 19 is indexed by being populated as completely as possible with the possible states and events of the modeled system and using the system characteristics 15 entered by the user 11. In addition, the user device 12, in some embodiments, automatically populates the initial state transition table 19 using a second data set 18 to generate a third data set 19S, wherein the third data set 19S includes a populated state transition table ("T P ”)20.

[0037] That is, the user device 12 automatically generates ("auto-generates") a populated state transition table 20 in response to the system characteristics 15 and other user inputs 16. After performing one or more iterations, the user device 12 eventually outputs a final state transition table (T F ) 21, which may be given as a collection of transitions, nodes, graphs, etc. The final state transition table 21 may serve as data 110 associated with the design of the FSM modeling system, wherein the data 110 is used by the pattern recognition platform 25 according to the present disclosure. The user input 16 may also include similar information for existing designs 18 of other existing systems that have been previously examined according to the FSM process. The existing design 18 may, for example, include annotations, sequences, best practices, interests, questions, and other representations of patterns or pattern-inducing elements, features, transitions, etc. The data 110 is thus provided to the user 11 when performing Figure 3 The method 100M is a starting point for further research in identifying patterns exhibited by FSM modeled systems.

[0038] Brief reference Figure 2 , Figure 1 The automated system 10 may involve interaction of a user device 12 and a pattern recognition platform 25. In general, the approach involves receiving data 110 associated with a system design, including various states, state transitions, events, and outputs, which, as noted above, may include details for an existing design 18. The existing design 18, the final state table 21, and / or Figure 1Other information described in the data 110 may be included with the data 100 or fully embody the data 110. As contemplated herein, the pattern recognition platform 25 may process and search / analyze the data 110 for the presence of predetermined behaviors and / or other desired characteristics (e.g., via a suitable search algorithm), such as searching for or otherwise identifying system patterns occurring therein. System patterns may be determined, for example, based on comparisons with existing designs 18 included as part of the data 110. The designer may be enabled to annotate problematic or good design patterns accordingly so that the system learns the patterns associated therewith. The system may learn to label bad patterns and also label good patterns. In additional time, it may learn from these annotations to better support the designer during his or her work.

[0039] The pattern recognition platform 25 will thereafter demarcate, identify, or otherwise "label" the system patterns within the FSM modeling system, such as by indicating each system pattern as one of "good," "bad," or "interesting" to the design team. Control actions may then be performed in response to the identified system patterns as set forth below. For example, nominal states S1, S2, S3, and S4 may be specified in the data 110, potentially utilizing data describing the static characteristics, dynamic characteristics, structural characteristics, states, state transitions, events, and outputs of the FSM modeling system. As Figure 3 As part of the present method 100M, the pattern recognition platform 25 may thereafter perform one or more control actions associated with marking the behavior, such as by outputting a notification 160 to the user device 12 and / or the external device 22 as part of the action.

[0040] Figure 1 and 2 The pattern recognition platform 25 may transmit one or more notifications 160 as specific recommendations for system patterns. For example, recommendations for locating and identifying system patterns relative to nominal states S1, S2, S3, and S4 may be part of the notifications 160. The user device 12 as part of such an exchange may receive the notifications 160 and may provide the recommendations to the user 11 in response to the notifications 160. In some implementations, the pattern recognition platform 25 may be used to identify potential design flaws and provide recommendations / suggestions for correcting state tables or state flow diagrams, and may save computing resources (e.g., processors, memory, etc.) that may otherwise be wasted. Thus, the use of the pattern recognition platform 25 facilitates the design of FSM modeling systems, where the improved speed and efficiency of the design process and the quality of the design are only some of the attendant advantages of processing information in a manner that the design team will be able to undertake individually.

[0041] Reference now Figure 3, shows a logic flow diagram illustrating an embodiment of the present method 100M. The logic flow diagram is composed of constituent logic segments or blocks, wherein each block is implemented manually and / or automatically as needed, for example, as one or more algorithms or code segments. Those skilled in the art will appreciate that Figure 3 The flowcharts also help implement constituent hardware / software modules that are each configured to perform associated tasks. Therefore, the terms "block" and "module" are used synonymously hereinafter.

[0042] Block B101 (system design module) feeds into method 100M to make Figure 1 The user device 12 is capable of receiving data associated with the design of the FSM modeling system ("system design"). The system design module / block B101 provides as complete a record as possible of the states, state transitions, events, and user-oriented instructions ("outputs") of the FSM modeling system. The system design may include data describing the static characteristics, dynamic characteristics, structural characteristics, states, state transitions, events, and outputs of the FSM modeling system. Block B101 is configured to construct a feasible system design for the FSM modeling system. As is appreciated in the art, this effort, in turn, involves the generation and error checking of one or more state transition tables and / or transition diagrams, such as using the automated approach described in U.S. patent application serial number 18 / 318,006 filed on May 16, 2023, which is incorporated herein by reference in its entirety, or using another fully developed state transition table, such as Figure 1 The final state transition table 21. This data is received at block B102 as input to method 100M.

[0043] Block B102 (hypothesis generation module) feeds into method 100M to make Figure 1The user device 12 is capable of receiving data associated with a block B103 (existing design) of a previously modeled system ("existing design"). B102 may, for example, consider the structure and static properties of the existing pattern to form a generalizable hypothesis for future identification of patterns in the FSM modeling system. The designer may be enabled to annotate all structures that she or he has a hunch may be problematic accordingly. These may be structures that have passed formal incorrectness verification, but the designer still feels that it is problematic. The same operation can be completed for "good" properties. The existing design module / block B103 provides a record of the state, state transitions, events, and user-oriented instructions ("outputs") for the existing design as completely as possible. The existing design may include data describing the static properties (B104), dynamic properties (B105), and structural properties (B106) of the state, state transitions, events, outputs, etc. for the existing design. B102 may include: a hypothesis generation process (B107) for generalizing the existing design and marking or training based on it to generate a design analysis model. A design analysis model or similar construct may be used to tailor potential patterns in the system design for a FSM modeled system based on the occurrence of corresponding patterns in existing designs.

[0044] Block B110 (design scanner module) identifies one or more system patterns within the FSM modeling system based on scanning the system design for the FSM modeling system according to the design analysis model. This may include generalizing a given set of annotated / marked locations of system patterns in existing designs derived in B107 to scan the locations of similar or related patterns ("system patterns") in the system design of the FSM modeling system. Block B111 (likelihood estimation module) generates a pattern score ("pattern score") for each of the system patterns. The pattern score may be determined using any general function, such as but not necessarily limited to at least one of a weighted average or a hyperbolic function. Block B112 (threshold module) provides one or more threshold scores for comparison with one or more of the pattern scores. The threshold score may be predetermined from a user device or calculated using a user device. Block B113 (notification module) generates a notification indicating one or more actions for the FSM modeling system based on comparing the pattern score with the threshold score associated therewith, which may occur on an individual basis for each of the scanned system patterns. The notification may be operable to identify one or more of the system patterns as at least one of good, bad, and interesting to the design team and / or include an identification and location within the FSM modeling system for one or more of the system patterns.

[0045] In this way, the design scanner uses pattern matching of the graph to score (estimate) the likelihood of each substructure, completing a similar effort from the perspective of static properties. There is an aggregation and unification of the scores (static and structural) into a single measure of likelihood. Using the hypothesis generator to analyze parts of the system design, ultimately, for each subgraph, there is a single likelihood estimate for how likely it will be a pattern, for example, it can be an estimate of how likely the subgraph is to be an instance of a bad design pattern (or similar to a bad design pattern). This can be done by using graph matching techniques.

[0046] One aspect of the present disclosure relates to identifying patterns within a FSM modeling system. The type of pattern identified may vary depending on multiple factors, such as patterns derived from an annotated design or an existing design, i.e., a previously developed FSM modeling system. Patterns may be used, for example, to identify patterns that share common characteristics indicated by states and types of interactions between states. The present solution is intended to support designers in improving the quality of their designs by automatically identifying both bad and good patterns in their system designs. The present disclosure describes the automatic identification of failure modes in systems designed using artificial intelligence methods. The artificial intelligence method involves training a model using a state diagram annotated / marked with the location of a system pattern. Patterns may share common characteristics indicated by states and types of interactions between states. The present solution is intended to support designers in improving the quality of their designs by using a design-scanner platform to automatically identify patterns in system designs, wherein the identification is based on an artificial intelligence model trained using an annotated design. The model is used to identify locations in the design that have a high likelihood of indicating a pattern for consideration by the design team.

[0047] Data may include static and structural properties of each state. Static properties describe the attributes of a state or aspects of its behavior. Examples of state properties include, but are not limited to, physical properties, displayable objects (visual cues) with their properties, audio cues, text content, and any other arbitrary properties that depend on the system. Structural properties describe the relationship between a state and its actions and other states and their actions (i.e., the topology and pattern of connections), where the relationship does not depend on the system. Edges and vertices form structural properties within a design. According to graph theory, a vertex is a point where multiple lines meet (wherein a point is a specific position in one, two, or three-dimensional space). An edge is a mathematical term for a line connecting two vertices. Many edges can be formed by a single vertex. In the absence of a vertex, an edge cannot be formed. For an edge, a starting vertex and an ending vertex are required. Structural properties include graph patterns used as hypotheses for identifying patterns using FSM modeling systems. Graph patterns include subsets of states and transitions (edges). For example, two or more states connected by bidirectional edges.

[0048] The pattern recognition platform 25 can analyze the design data and extract static and structural characteristics from the design data for processing and scoring. The design analysis can analyze the design data in several parts and identify the location of the system pattern in the data. For structural characteristics, graph matching technology is used to extract structural characteristics. Good patterns: hierarchy, global events, logical arrangement, semantic arrangement, critical arrangement. Bad patterns: no hierarchy, too many local events, illogical arrangement of system operation (e.g., multiple overlapping modes), key components (e.g., the ability to respond to traffic equipment or the lack of this ability) do not receive appropriate designations in the state machine diagram. Those skilled in the art will readily recognize examples of graph matching techniques, such as recursive backtracking processes for solving subgraph isomorphism problems, heuristic-based analysis, Glasgow subgraph solvers, etc.

[0049] The pattern recognition platform 25 can process the design to determine a design score associated with the design data. Using the extracted static and structural characteristics, the pattern recognition platform 25 can assign a design score to the design data, which is equivalent to assigning a design score to the design. To assign the design score, the pattern recognition platform 25 can use pattern matching of the graph for structural characteristics, and can use a similar method of pattern matching for static characteristics. The design score can be an aggregate score based on the overall probability of the design data containing the pattern. The aggregate score combines the probability of the structural characteristics containing the pattern and the probability of the static characteristics containing the pattern. The probability of the structural characteristics is based on the structure of the subgraph of the state flow graph and can be represented by the following equation: P(G=design fault|structure(G)).

[0050] The probability of static properties is based on the static properties of states and transitions and can be expressed by the following equation: P(G = design pattern | static(v1, v2, v k )).

[0051] The total score can be expressed by the following equation: P(G = Design Pattern | Structure(G), Static(v1,v2,v k )).

[0052] The pattern recognition platform 25 may use a linear scoring method for determining a design score. Examples of linear scoring methods include, but are not limited to, weighted averages and weighted sums of influencing factors. The pattern recognition platform 25 may use a nonlinear scoring method for determining a design score. Examples of nonlinear scoring methods include, but are not limited to, a hyperbolic function (or a hyperbolic scoring function). The pattern recognition platform 25 may determine whether the design score meets a threshold score. The threshold score represents an estimate of the likelihood that the design contains a pattern. The threshold score may be predetermined. The threshold score may be updated by a user. The threshold score may be automatically determined by the pattern recognition platform 25 based on artificial intelligence methods and historical data.

[0053] The pattern recognition platform 25 may perform one or more actions associated with the design based on whether the design score meets the threshold score. Once the design score has met the threshold score, the pattern recognition platform 25 or another module may perform an action of transmitting a notification. The pattern recognition platform 25 may perform the following actions: providing data associated with the threshold met to the pattern recognition platform 25 for updating the pattern recognition platform 25. The pattern recognition platform 25 may train the model using historical data. The pattern recognition platform 25 may use one or more artificial intelligence techniques (such as machine learning (i.e., machine learning algorithms), deep learning, etc.) to train and / or generate the pattern recognition platform 25. The historical data contains static characteristics and / or structural characteristics associated with the pattern.

[0054] After the existing system mode (good, bad, faulty, interesting, etc.) is identified, the design containing the mode is provided to the pattern recognition platform 25 for training. The pattern recognition platform 25 uses the static and structural characteristics of the design to determine the mode and create a model based on the mode of the recognition mode. The model is used to identify the mode in the future design. The pattern recognition platform 25 may include intelligent data manipulation and integration models based on business rules, machine learning models, neural network models, deep learning models, etc., which analyze a large amount of data (i.e., data of a quantity that cannot be objectively processed by human actors), identify patterns among the data, and make predictions without requiring people to program specific instructions. The pattern recognition platform 25 can separate historical data into training sets, verification sets, test sets, etc. The training set can be used to train the pattern recognition platform 25. The verification set can be used to verify the results of the pattern recognition platform 25. The test set can be used to test the operation of the pattern recognition platform 25.

[0055] The pattern recognition platform 25 or another module can use, for example, an unsupervised training process and historical data to train the pattern recognition platform 25. For example, the pattern recognition platform 25 can perform dimensionality reduction to reduce the historical data to a minimum feature set, thereby reducing the resources (e.g., processing resources, memory resources, etc.) used to train the neural network, and classification techniques can be applied to the minimum feature set. The pattern recognition platform 25 can use logistic regression classification techniques to determine the classification results (e.g., static characteristics and structural characteristics associated with the pattern). Additionally or alternatively, the pattern recognition platform 25 can use naive Bayes classifier technology. In this case, the pattern recognition platform 25 can perform binary recursive partitioning to split the historical data into partitions and / or branches, and use partitions and / or branches to determine the results (e.g., static characteristics and structural characteristics associated with the pattern). Based on the use of recursive partitioning, the pattern recognition platform 25 can reduce the utilization of computing resources relative to manual linear sorting and analysis of data points, thereby enabling the use of thousands, millions, or billions of data points to train machine learning models, which may result in more accurate models than using fewer data points.

[0056] The pattern recognition platform 25 can use support vector machine (SVM) classifier technology to generate nonlinear boundaries between data points in the training set. In this case, the nonlinear boundary is used to classify the test data into specific classes. The pattern recognition platform 25 can use a supervised training process to train the pattern recognition platform 25, and the supervised training process includes receiving the input to the pattern recognition platform 25 from a subject matter expert, which can reduce the amount of time, processing resources, etc. of the training pattern recognition platform 25 relative to the unsupervised training process. The pattern recognition platform 25 can use a graph convolutional network (GCN), a graph attention network (GAT), a graph isomorphism network (GIN), etc. to train the pattern recognition platform 25. GCN solves node and graph classification tasks. GAT solves node and graph classification tasks by focusing on basic nodes. GIN is used to solve classification problems involving nodes and graphs by utilizing the structural information of the graph.

[0057] The pattern recognition platform 25 can use convolutional neural networks (CNN) and recurrent neural networks (RNN) to train the pattern recognition platform 25. CNN is a deep feedforward artificial neural network composed of neurons with learnable weights and biases. RNN is a feedforward neural network focused on modeling in the time domain. The pattern recognition platform 25 can use one or more other model training techniques, such as neural network technology, latent semantic indexing technology, etc. For example, the pattern recognition platform 25 can perform artificial neural network processing technology (for example, using a two-layer feedforward neural network architecture, a three-layer feedforward neural network architecture, etc.) to perform pattern recognition about the pattern of historical data. In this case, the use of artificial neural network processing technology can be made more robust to noisy, imprecise or incomplete data by making the pattern recognition platform 25, and by enabling the pattern recognition platform 25 to use less complex technology to detect patterns and / or trends that are undetectable to human analysts or systems, to improve the accuracy of the pattern recognition platform 25 generated by the pattern recognition platform 25.

[0058] Alternatively, instead of training the model, the pattern recognition platform 25 may obtain the pattern recognition platform 25 from another system or device that trained the pattern recognition platform 25 to generate the pattern recognition platform 25. In this case, the pattern recognition platform 25 may provide the other system or device with historical data for use in training the model, and may provide the other system or device with updated historical data to retrain the pattern recognition platform 25 in order to update the pattern recognition platform 25. In this way, using the design-scanner platform saves computing resources (e.g., processors, memory, etc.) that would otherwise be wasted in the design cycle of system design because the design-scanner platform makes the user aware of potential patterns.

[0059] For the purposes of this description, unless specifically disclaimed, the use of the singular includes the plural, and vice versa, the terms "and" and "or" shall be both conjunctive and disjunctive, and the words "including", "comprising", "containing", "having", and the like shall mean "including but not limited to". In addition, approximate words such as "about", "almost", "substantially", "generally", "approximately", and the like may be used herein in the sense of "at, around, or nearly at" or "within 0-5% of" or "within acceptable manufacturing tolerances" or logical combinations thereof. As used herein, a component "configured to" perform a specified function is capable of performing the specified function without modification, rather than being likely to perform the specified function only after further modification. In other words, the hardware described, when explicitly configured to perform a specified function, is specifically selected, created, implemented, utilized, programmed, and / or designed for the purpose of performing the specified function.

[0060] The detailed description and the accompanying drawings or figures support and describe the present teaching, but the scope of the present teaching is limited only by the claims. Although the best mode and some of the other embodiments for implementing the present teaching have been described in detail, there are various alternative designs and embodiments for practicing the present teaching defined in the appended claims. In addition, the present disclosure explicitly includes combinations and sub-combinations of the elements and features presented above and below.

Claims

1. A pattern recognition platform, comprising: a system design module configured to receive data associated with a design of a finite state machine (FSM) modeling system from a user device, wherein the data describes static characteristics, dynamic characteristics, structural characteristics, states, state transitions, events, and outputs of the FSM modeling system; a hypothesis generation module configured to determine a design analysis model based on one or more existing designs, the design analysis model being operable to: train a pattern search of the FSM modeling system based on static properties, dynamic properties, structural properties, states, state transitions, events, and outputs; as well as A design scanner module is configured to identify one or more system patterns within the FSM modeling system based on searching the FSM modeling system according to the design analysis model.

2. The pattern recognition platform according to claim 1, further comprising: A likelihood estimation module is configured to generate a pattern score for each of the system patterns.

3. The pattern recognition platform according to claim 2, further comprising: A threshold module is configured to provide one or more threshold scores for comparison with one or more of the pattern scores.

4. The pattern recognition platform according to claim 3, further comprising: A notification module is configured to generate a notification indicating one or more actions for the FSM modeling system based on comparing the pattern score to a threshold score.

5. The pattern recognition platform according to claim 4, wherein: The notification is operable to identify one or more of the system modes as at least one of good, bad, and interesting to a design team.

6. The pattern recognition platform according to claim 5, wherein: The notification includes an identification and a location within the FSM modeling system for one or more of the system modes.

7. The pattern recognition platform according to claim 6, wherein: The static properties include attributes and behaviors for one or more of the states.

8. The pattern recognition platform according to claim 7, wherein: The structural characteristics include one or more graph patterns for a subset of one or more of the states and the state transitions.

9. The pattern recognition platform according to claim 8, wherein: The dynamics include one or more equations or mathematical representations for a subset of one or more of the states and the state transitions.

10. The pattern recognition platform according to claim 9, wherein: The hypothesis generation module is configured to determine the design analysis model using at least one of a machine learning algorithm and a neural network.

Citation Information

Patent Citations

  • Automated data entry and error checking methodology for generating state transition tables

    US20240383491A1