IDENTIFICATION OF PATTERNS FOR SYSTEMS MODELED WITH FLAT STATE AUTHORISATION SYSTEMS
A software toolkit for FSM-modeled systems uses pattern recognition to identify and correct design errors, enhancing the design process and improving system quality and efficiency.
Patent Information
- Application Number
- DE102023128906
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-06-28
- Filing Date
- 2023-10-20
- Publication Date
- 2025-01-02
AI Technical Summary
Existing systems designed using finite state machines (FSM) lack effective methods for identifying and addressing complex patterns, leading to potential design errors and suboptimal user interactions.
A software-based toolkit that includes a pattern recognition platform to analyze FSM-modeled systems, identifying patterns through a system design module, hypothesis generation, design scanner, probability estimation, and notification module, using machine learning and neural networks to classify patterns as good, bad, or of interest.
Enhances the design process by automatically identifying and correcting design errors, improving the quality and efficiency of FSM-based systems by providing actionable insights and recommendations.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
INTRODUCTION
[0001] This disclosure relates to a software-based toolkit for supporting the design and implementation of systems modeled with finite state machines (FSMs) that exhibit multiple states, state transitions / mode changes, and other potentially complex behavior. This approach is intended to assist system designers, programmers, and other users during the system design process by identifying patterns.
[0002] Finite-state machines are mathematical abstractions commonly used to design and validate the behavior of a wide variety of software programs and physical systems. A finite-state machine can be represented graphically as a state flow diagram, a state transition table, or a hierarchical state diagram, such as a statechart. Systems modeled with FSMs begin with an initial state. Based on the current state of the designed system and a specific single event or combination of events ("superevents"), a finite-state machine can transition between various additional states in response to system inputs or triggering events.Although the state transition table or state flow diagram is critical to the overall system design process, the design of the FSM-modeled system can benefit from identifying patterns within it, e.g., to identify best practice patterns, problematic patterns, etc. DESCRIPTION
[0003] This paper presents automated systems and associated methods for assisting a user, e.g., a software programmer, designer, or systems developer, in identifying patterns, such as, but not necessarily limited to, best practices, errors, and other patterns that can be found in a system modeled with a finite-state machine (FSM). The automated methodology considered here is particularly well-suited to the design of systems with 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. Automotive vehicles with automatic control, for example, have relatively complex operating modes and state-transition rules.Some of these modes are executed automatically or in response to driver inputs, while others may rely on timers, hidden logic, or other automatically occurring activation criteria. Other complex systems, such as avionics, medical devices, and associated control logic for a variety of mobile or stationary systems, are designed using finite-state machine techniques and would also benefit from the automatic testing method described below.
[0004] 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 from a user device associated with a design of a system modeled with a finite state machine (FSM). The data may describe static properties, dynamic properties, structural properties, states, state transitions, events, and outputs of the FSM-modeled system. The pattern recognition platform may further include a hypothesis generation module configured to determine a design analysis model from one or more existing designs.The design analysis model can be used to train the pattern search of the FSM-modeled system according to the static properties, dynamic properties, structural properties, states, state transitions, events, and outputs. The pattern recognition platform can further include a design scanner module configured to identify one or more system patterns within the FSM-modeled system based on the search for the FSM-modeled system according to the design analysis model.
[0005] The pattern recognition platform may further include a probability estimation module configured to generate a pattern score for each of the system patterns.
[0006] The pattern recognition platform may further comprise a threshold module configured to provide one or more threshold values for comparison with one or more of the pattern values.
[0007] The pattern recognition platform may further include a notification module that may be configured to generate a notification to indicate one or more actions for the FSM-modeled system based on the comparison of the pattern results with the thresholds.
[0008] The notification may be suitable to identify one or more of the system patterns as good, bad, or of interest to a design team.
[0009] The notification may include an identification and location within the FSM-modeled system for one or more of the system patterns.
[0010] The static properties can include attributes and behaviors for one or more of the states.
[0011] The structural properties may include one or more graph patterns for a subset of one or more states and state transitions.
[0012] The dynamic properties may include further equations or mathematical representations for a subset of several states and state transitions.
[0013] The hypothesis generation module may be configured to determine the design analysis model using a machine learning algorithm and / or a neural network.
[0014] The hypothesis generation module may be configured to determine the design analysis model based on one or more annotated or existing designs.
[0015] The annotated or existing designs may contain information related to determining the identification and location of the one or more system patterns within the FSM-modeled system.
[0016] One or more of the pattern scores can be determined using a weighted average or a sigmoid function.
[0017] One or more of the thresholds may be specified by the user device or calculated using the user device.
[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)-modeled system from a user device, determining a design analysis model from one or more annotated or existing designs, and identifying one or more system patterns within the FSM-modeled system based on searching the FSM-modeled system according to the design analysis model.
[0019] The method may further comprise searching for training patterns for the FSM-modeled system based on static properties, dynamic properties, structural properties, states, state transitions, events, and outputs identified for the FSM-modeled system.
[0020] The method may further comprise generating a pattern value for each of the system patterns, providing one or more thresholds for comparison to one or more of the pattern values, and generating a notification to indicate one or more actions for the FSM-modeled system based on the comparison of the pattern values to the thresholds.
[0021] The method may further include identifying one or more of the system patterns as good, bad, or of interest to a development 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 system modeled with a finite state machine (FSM), a hypothesis generation module configured to determine a design analysis model from one or more existing designs, a design scanner module configured to identify one or more system patterns within the FSM-modeled system based on scanning the FSM-modeled system according to the design analysis model, a probability 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 sample scores, and a notification module configured to generate a notification to indicate one or more actions for the FSM-modeled system based on the comparison of the sample scores with the threshold scores.
[0023] The pattern recognition platform may also include a notification module configured to identify one or more of the system patterns as good, bad, or of interest to a design team.
[0024] The above features and advantages, as well as other features and associated advantages of this disclosure, will become readily apparent from the following detailed description of illustrative examples and modes for carrying out the present disclosure, when considered in conjunction with the accompanying drawings and the appended claims. Furthermore, this disclosure expressly includes combinations and subcombinations of the elements and features presented above and below. BRIEF DESCRIPTION OF THE DRAWINGS
[0025] The accompanying drawings, which are incorporated in this specification, illustrate implementations of the disclosure and, together with the description, serve to explain the principles of the disclosure. The accompanying drawings are not necessarily to scale and may present a somewhat simplified representation of various preferred features of the present disclosure as disclosed herein, including, for example, specific dimensions, orientations, positions, and shapes. Details associated with such features will be determined in part by the particular intended application and environment of use. Fig. 1 shows an automated system for use in designing and implementing a system using finite state machine (FSM)-based design techniques, the automated system configured to recognize and address patterns within the designed system in accordance with the disclosure. Fig. 1A shows an exemplary embodiment of distributed processing nodes for use in implementing portions of the Fig. 1 automated system. Fig. 2 shows a pattern recognition method in accordance with the disclosure. Fig. 3 is a flowchart of a method for pattern recognition in accordance with an embodiment of the disclosure. DETAILED DESCRIPTION
[0026] The present disclosure may be embodied in many different forms. Representative examples of the disclosure are illustrated in the drawings and are described in detail herein as non-limiting examples of the disclosed principles. To this end, elements and limitations described in the "Summary," "Introduction," "Summary," and "Detailed Description" sections, but not explicitly recited in the claims, should not be incorporated into the claims, individually or collectively, by implication, inference, or otherwise.
[0027] With reference to the drawings, in which like reference numbers refer to like features in the several views, Fig. 1 an automated system 10 configured to recognize patterns in a system modeled with a finite state machine (FSM). Since it is crucial to achieve the most perfect understanding and implementation of a designed system during the design process and to develop systems that are free from faulty structures that can lead to design errors and incorrect user interaction, it is useful to check whether the designed system and the associated human-machine interfaces behave in a logical manner and whether their behavior corresponds to what a user 11, e.g. a designer or programmer, expects, as opposed to a driver, pilot, or other end user of a physical embodiment of the modeled system.The ability to identify patterns in the FSM-modeled system, or what is generally referred to here as system patterns, can be helpful in providing a software-based “toolbox” to support a development team.
[0028] To this end, the present solutions enable the user 11 to identify and catalog system patterns within the FSM-modeled system. Furthermore, the present approach supports a structured hierarchical organization of the modeled system, as outlined here. As described below with reference to the Fig. As described in detail, the automated system 10 considered here aims to generalize a given set of annotated / marked positions of system patterns in an existing system and to use this generalization to identify positions for similar or related patterns in the FSM model.
[0029] The Fig. The automated system 10 illustrated in Figure 1 may include a user device 12, such as a laptop computer, a tablet computer, a desktop computer, a mobile application (“app”), or other application-suitable host machine configured to assist the user 11 in designing a potentially complex hardware and / or software-based system. Although the user device 12 in Fig. 1 is illustrated as a single computing device for the sake of simplicity, those skilled in the art will understand that the user device 12 may be implemented as a distributed user device 120 having multiple processing nodes, e.g., 12A, 12B, ..., 12N, as shown in Fig. 1A. Such processing nodes may communicate with each other via suitable wired, wireless, and / or cloud-based network connections. Underlying systems that benefit from the automated system 10 may design human-machine interfaces ("HMIs") or other devices onboard a motor vehicle or aircraft, a watercraft, a rail vehicle, or other dynamic system, or model the performance of a medical device, a jet engine, or other static system.
[0030] The Fig. The automated system 10 illustrated in Figure 1 may also include one or more peripheral devices 13, including a display screen 14 that serves as an output device for the user device 12. The user 11 may interact with the user device 12 via one or more additional peripheral devices 13 (not shown), such as a mouse, a keyboard, touch inputs on the display screen 14, etc., when developing or designing state transition tables for the FSM-modeled system, including the functions of the resident software and / or hardware thereof. The present solutions are intended to facilitate downstream verification of system behavior following the proper and thorough development of an FSM and the corresponding state transition table(s).Among the many potential benefits of the present solutions is that the user 11 is better able to identify within the larger design exactly where the design is not well structured and lacks an appropriate hierarchy.
[0031] As part of the present strategy, the host computer 12 may Fig. 1 or its constituent processing nodes 12A, 12B, ..., 12N of Fig. 1A comprising a non-transitory, tangible, computer-readable storage medium or memory (M) 54 storing non-transitory instructions, and one or more processors (P) 56, e.g., logic circuits, combinational logic circuits, application-specific integrated circuits (ASICs), electronic circuits, central processing units, semiconductor integrated circuits, etc., as well as input / output (I / O) circuits, suitable signal conditioning and buffer circuits, and other components such as a high-speed clock to provide the described functionality. The associated memory 54 may comprise application-appropriate amounts and types of non-transitory memory, including read-only memory, programmable read-only memory, random access memory, hard disk, etc., whether resident or remote memory, or a combination of both.
[0032] As a precursor to the implementation of the 100M procedure by Fig. 3 receives the Fig. 1, the user device 12 receives system properties 15 and user inputs 16 from the user 11. This action could include receiving various states, state transitions, and events of the modeled system, along with possible "super events" (event combinations), hierarchy definitions, and other system properties 15 for the FSM-modeled system. In response to the received system properties 15, the user device 12 automatically generates and outputs a first data set 17 containing an empty / unfilled initial state transition table (Ti) 19. This initial state transition table 19 is indexed with the most complete population possible of possible states and events of the modeled system and with the system characteristics 15 input by the user 11.Additionally, in some embodiments, the user device 12 automatically populates the initial state transition table 19 with a second data set 18 to create a third data set 19S, wherein the third data set 19S comprises a populated state transition table (“T. P ") 20 contains.
[0033] This means that the user device 12 automatically generates (“auto-generates”) the completed 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 finally outputs a final state transition table (T F) 21, which may be present as a series of transitions, nodes, diagrams, etc. The final state transition table 21 may serve as data 110 associated with the design of the FSM-modeled system, wherein the data 110 is used by a pattern recognition platform 25 in accordance with the disclosure. The user inputs 16 may also include similar information for existing designs 18 for other existing systems that were previously reviewed according to FSM processes. The existing designs 18 may, for example, include annotations, sequences, best practices, interests, problems, and other characterizations of patterns or pattern-inducing elements, features, transitions, etc. The data 110 is thus a starting point for further investigation by the user 11 in performing the method 100M of Fig. 3, if it recognizes patterns that the FSM-modeled system exhibits.
[0034] With brief reference to Fig. 2, the automated system 10 of Fig. 1 may involve an interaction between the user device 12 and the pattern recognition platform 25. In general, the present approach involves receiving the data 110 associated with a system design, including the various states, state transitions, events, and outputs, which, as mentioned above, may include details for existing designs 18. The existing designs 18, the final state table 21, and / or other Fig. 1 may be contained in the data 110 or may fully embody it. As contemplated herein, the pattern recognition platform 25 may process and search / analyze the data 110, e.g., via a suitable search algorithm, to determine the presence of predetermined behavior and / or other desired properties, e.g., to search for or otherwise identify system patterns occurring therein. The system patterns may be determined, e.g., based on a comparison with the existing designs 18 that are part of the data 110. Accordingly, the designer may be enabled to comment on problematic or good design patterns so that the system learns the associated patterns. The system may learn to flag bad patterns as well as flag good patterns. Over time, it may learn from these comments to better support the designer in their work.
[0035] The pattern recognition platform 25 would then delineate, identify, or otherwise "label" the system patterns within the FSM-modeled system, for example, by labeling each system pattern as "good," "bad," or "interesting" to the design team. A control action may then be performed in response to the recognized system patterns, as described below. For example, the target states S1, S2, S3, and S4 may be specified in the data 110, possibly with data describing static properties, dynamic properties, structural properties, states, state transitions, events, and outputs of the FSM-modeled system. As part of the present method 100M of Fig. 3, the pattern recognition platform 25 could then perform one or more control actions associated with the characterization of the behavior, for example, by issuing a notification 160 to the user device 12 and / or an external device 22 as part of that action.
[0036] The pattern recognition platform 25 from Fig. 1 and Fig. 2 may communicate one or more notifications 160 as specific recommendations for the system patterns. For example, recommendations for locating and identifying the system patterns relative to the desired states S1, S2, S3, and S4 could be part of the notifications 160. As part of such an exchange, the user device 12 could receive the notification 160 and possibly provide recommendations to the user 11 in response to the notification 160. In some implementations, the pattern recognition platform 25 could be used to identify potential design flaws and provide recommendations / suggestions for correcting state tables or state flow diagrams, potentially saving computing resources (e.g., processors, memory, and / or the like) that might otherwise be wasted.Thus, the use of the pattern recognition platform 25 facilitates the development of an FSM-modeled system, with the improved speed and efficiency of the development process and the quality of the designs being just some of the benefits that go beyond processing information that the development team could not handle alone.
[0037] In Fig. 3 shows a logical flow diagram illustrating one embodiment of the present method 100M. The logical flow diagram is constructed from individual logical segments or blocks, with each block being implemented manually and / or automatically as needed, e.g., as one or more algorithms or code segments. Those skilled in the art will appreciate that the flow diagram may be Fig. 3 is also suitable for the implementation of individual hardware / software modules, each configured to perform the associated tasks. Therefore, the terms "block" and "module" are used synonymously below.
[0038] Block B101 (System Design Module) flows into the method 100M to enable the user device 12 to Fig. 1 can receive data associated with the design of the FSM-modeled system ("System Design"). The system design module / Block B101 provides a record, as complete as possible, of the states, state transitions, events, and user-facing indications ("Outputs") of the FSM-modeled system. The system design may include data describing static properties, dynamic properties, structural properties, states, state transitions, events, and outputs of the FSM-modeled system. Block B101 is configured to enable the creation of a usable system design for the FSM-modeled system. As is known in the art, this effort in turn includes the generation and error-checking of one or more state transition tables and / or transition diagrams, e.g., using the automated approach described in United States Patent Application Serial No. 18 / 318,006, filed on June 16, 2006.May 2023, which is hereby incorporated by reference in its entirety, or using another sufficiently developed state transition table, e.g., the final state transition table 21 of . Fig. 1. Such data is received in block B102 as inputs to the method 100M.
[0039] Block B102 (hypothesis generation module) flows into the method 100M to inform the user device 12 of Fig.1 to receive data associated with Block B103 (Existing Patterns) from previously modeled systems (“Existing Patterns”). B102 can, for example, consider structural and static properties of existing patterns to form a generalizable hypothesis for future pattern identification in the FSM-modeled system. A designer can accordingly be enabled to annotate all structures that they suspect may be problematic. These may be structures that have passed formal incorrectness checking but that the developer still believes to be problematic. The same can be done for “good” properties. The existing design module / Block B103 provides the most complete possible record of the states, state transitions, events, and user-facing indications (“outputs”) for the existing designs.The existing designs may contain data describing static properties (B104), dynamic properties (B105), and structural properties (B106) for the states, state transitions, events, outputs, etc. of the existing designs. B102 may include a hypothesis generation process (B107) to generalize the existing designs and, based on this, labeling or training to generate a design analysis model. The design analysis model or a similar construct can be used to generate potential system design patterns for the FSM-modeled system based on the occurrence of corresponding patterns in the existing designs.
[0040] Block B110 (Design Scanner Module) identifies one or more system patterns within the FSM-modeled system based on scanning the system design for the FSM-modeled system according to the design analysis model. This may involve generalizing a given set of annotated / marked system pattern locations in existing designs derived in B107 to search for locations of similar or related patterns in the system design of the FSM-modeled system ("System Pattern"). Block B111 (Probability Estimation Module) generates a pattern score for each of the system patterns ("Pattern Scores"). The pattern scores may be determined using any general function, such as, but not necessarily limited to, at least one of the weighted average or sigmoid functions. Block B112 (Threshold Module) provides one or more thresholds for comparison with one or more of the pattern scores.The thresholds can be specified by the user device or calculated using the user device. Block B113 (Notification Module) generates a notification to indicate one or more actions for the FSM-modeled system based on the comparison of the pattern scores with the associated thresholds, which can be done on an individual basis for each of the scanned system patterns. The notification can be used to identify one or more of the system patterns as good, bad, or of interest to a development team, and / or to provide an identification and location within the FSM-modeled system for one or more of the system patterns.
[0041] In this way, the design scanner uses pattern matching of graphs to evaluate (estimate) the probability of each substructure; similar efforts are made from the perspective of static properties. The evaluations (static and structural) are aggregated and unified into a single probability measure. Parts of the system design are analyzed using the hypothesis generator, and finally, for each subgraph, there is a single probability estimate of how likely it is to be a pattern, e.g., an estimate of how likely it is that the subgraph is an instance of (or resembles) a bad design pattern. This can be done using graph matching techniques.
[0042] One aspect of the present disclosure relates to the detection of patterns within an FSM-modeled system. The types of detected patterns may vary depending on a number of factors, such as the patterns derived from annotated or existing designs, i.e., previously developed FSM-modeled systems. The patterns may, for example, be used to identify patterns that share common features indicated by the states and the nature of the interaction between the states. The present solutions are intended to assist designers in improving the quality of their designs by automatically identifying both bad and good patterns in their system design. The disclosure describes an automatic identification of error patterns in a system designed using artificial intelligence methods.Artificial intelligence methods involve training models using statecharts labeled / marked with the locations of system patterns. The patterns may share common characteristics indicated by the states and the nature of the interaction between the states. The present solutions aim to help designers improve the quality of their designs by leveraging a design scanner platform to automatically identify patterns in a system design. The identification is based on artificial intelligence models trained on annotated designs. The models are used to identify locations in a design that are highly likely to indicate a pattern that the design team needs to consider.
[0043] The data can include static properties and structural properties of the individual states. A static property describes an attribute of a state or an aspect of its behavior. Examples of state properties include physical properties, displayable objects with their properties (visual cues), auditory cues, text content, and any other properties that are system-dependent. A structural property describes the relationship (i.e., topology and pattern of connections) between a state and its actions to other states and their actions, where the relationship is not system-dependent. Edges and vertices form structural properties within a design. According to graph theory, a vertex is a point where several lines meet (where a point is a specific position in one-, two-, or three-dimensional space).An edge is the mathematical term for a line connecting two vertices. Many edges can be formed from a single vertex. Without a vertex, an edge cannot be formed. An edge requires a starting and an ending node. Structural properties include graph patterns, which are used as hypotheses to identify patterns with the FSM-modeled system. A graph pattern consists of a subset of states and transitions (edges). For example, two or more states connected by a bidirectional edge.
[0044] The pattern recognition platform 25 can analyze the design data and extract static properties and structural properties from the design data for processing and evaluation. The design analysis can analyze the design data in parts and identify the position of the system patterns in the data. For structural properties, graph matching techniques are used to extract the structural properties. Good patterns: hierarchy, global events, logical ordering, semantic ordering, criticality ordering. Bad patterns: no hierarchy, too many local events, illogical ordering with respect to the system operations (e.g., multiple overlapping modes), critical components (e.g., the ability to respond or not to a traffic device) are not adequately labeled in the state diagram. Those skilled in the art will be familiar with examples of graph matching techniques, such as:a recursive backtracking method for solving the subgraph isomorphism problem, a heuristic-based analysis, the Glasgow Subgraph Solver, etc.
[0045] The pattern recognition platform 25 may process the design to determine a design score associated with the design data. Using the extracted static properties and structural properties, the pattern recognition platform 25 may assign a design score to the design data, which is equivalent to assigning a design score to the design. To assign a design score, the pattern recognition platform 25 may use pattern matching of graphs for structural properties and apply a similar pattern matching method for static properties. The design score may be an overall score based on the overall probability that the design data contains a pattern. The overall score combines the probability that structural properties contain a pattern and the probability that static properties contain a pattern.The probability of structural properties is based on the structure of the subgraph of a state flow diagram and can be represented by the following equation:. P(G=Design Fault|structure(G)).
[0046] The probability of static properties is based on the static properties of states and transitions and can be represented by the following equation: P(G=Design pattern|static(v1,v2,vk)).
[0047] The total score can be represented by the following equation: P(G = Design pattern | structure(G), static(v1, v2, v k )).
[0048] The pattern recognition platform 25 may use a linear evaluation method to determine the design score. Examples of linear evaluation methods include, but are not limited to, the weighted average and the weighted sum of the influence factors. The pattern recognition platform 25 may use nonlinear evaluation methods to determine the design score. Examples of nonlinear evaluation methods include, but are not limited to, the sigmoid function (or sigmoid scoring functions). The pattern recognition platform 25 may determine whether the design score meets a threshold. The threshold represents a probability estimate that a pattern contains a pattern. The threshold may be predefined. The threshold score may be updated by a user. The threshold may be automatically determined by the pattern recognition platform 25 based on artificial intelligence methods and historical data.
[0049] The pattern recognition platform 25 may perform one or more actions associated with the design depending on whether the design score meets the threshold. Once the design score has met the threshold, the pattern recognition platform 25 or another module may perform the action of transmitting a notification. The pattern recognition platform 25 may forward the data associated with the met threshold to the pattern recognition platform 25 to update the pattern recognition platform 25. The pattern recognition platform 25 may train a 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, and / or the like, to train and / or generate a pattern recognition platform 25.The historical data contains static properties and / or structural properties associated with patterns.
[0050] After existing system patterns (good, bad, errors, of interest, etc.) have been identified, the patterns containing these patterns are provided to the pattern recognition platform 25 for training. The pattern recognition platform 25 uses the static and structural properties of the designs to determine patterns and build a model based on the patterns that identifies the patterns. The model is used to identify patterns in future designs. The pattern recognition platform 25 may include an intelligent data manipulation and integration model based on business rules, a machine learning model, a neural network model, a deep learning model, and / or the like that analyzes a vast amount of data (i.e.,a dataset that cannot be objectively processed by a human actor), detects patterns in the data, and makes a prediction without requiring a person to program specific instructions. The pattern recognition platform 25 may divide the historical data into a training set, a validation set, a test set, and / or the like. The training set may be used to train the pattern recognition platform 25. The validation set may be used to validate the results of the pattern recognition platform 25. The test set may be used to test the operation of the pattern recognition platform 25.
[0051] The pattern recognition platform 25 or another module may train the pattern recognition platform 25, for example, using an unsupervised training method and the historical data. For example, the pattern recognition platform 25 may perform dimensionality reduction to reduce the historical data to a minimal feature set, thereby reducing resources (e.g., processing resources, memory resources, and / or the like) required for training the neural network, and may apply a classification technique to the minimal feature set. The pattern recognition platform 25 may use a logistic regression classification technique to determine a categorical outcome (e.g., static properties and structural properties associated with patterns). Additionally or alternatively, the pattern recognition platform 25 may use a naive Bayesian classification technique.In this case, the pattern recognition platform 25 can perform binary recursive partitioning to divide the historical data into partitions and / or branches, and use the partitions and / or branches to determine the results (e.g., static properties and structural properties associated with patterns). By using recursive partitioning, the pattern recognition platform 25 can reduce the use of computing resources compared to manually sorting and analyzing data points linearly, enabling the use of thousands, millions, or billions of data points to train the machine learning model, which can result in more accurate models than using fewer data points.
[0052] The pattern recognition platform 25 may use a support vector machine (SVM) classification method to generate a nonlinear boundary between data points in the training set. In this case, the nonlinear boundary is used to classify test data into a specific class. The pattern recognition platform 25 may train the pattern recognition platform 25 using a supervised training method that includes receiving input to the pattern recognition platform 25 from a domain expert, which may reduce the time required, the amount of processing resources, and / or the like for training the pattern recognition platform 25 compared to an unsupervised training method. The pattern recognition platform 25 may train the pattern recognition platform 25 using a graph convolutional network (GCN), a graph attention network (GAT), a graph isomorphism network (GIN), and / or the like.GCN solves node and graph classification tasks. GAT solves node and graph classification tasks by focusing on essential nodes. GIN is used to solve classification tasks involving nodes and graphs by leveraging the structural information of graphs.
[0053] The pattern recognition platform 25 can train the pattern recognition platform 25 with a convolutional neural network (CNN) and a recurrent neural network (RNN). A CNN is a deep, feedforward artificial neural network consisting of neurons that have adaptive weights and biases. An RNN is a feedforward neural network that focuses on modeling in the temporal domain. The pattern recognition platform 25 can use one or more other model training techniques, such as a neural network technique, a latent semantic indexing technique, and / or the like. For example, the pattern recognition platform 25 can perform an artificial neural network processing technique (e.g.,using a two-layer feedforward neural network architecture, a three-layer feedforward neural network architecture, and / or the like) to perform pattern recognition with respect to the patterns of the historical data. In this case, the use of the artificial neural network may improve the accuracy of the pattern recognition platform 25 generated by the pattern recognition platform 25 by making the pattern recognition platform 25 more robust to noisy, inaccurate, or incomplete data and enabling the pattern recognition platform 25 to detect patterns and / or trends that are not detectable by human analysts or systems using less complex techniques.
[0054] Optionally, instead of training the model, the pattern recognition platform 25 may also 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 the historical data for use in training the model and provide the other system or device with updated historical data to retrain the pattern recognition platform 25 to update the pattern recognition platform 25. In this way, the use of the design scanner platform saves computational resources (e.g., processors, memory, and / or the like) that would otherwise be wasted in the design cycle of a system design because the design scanner platform alerts users to potential patterns.
[0055] For the purposes of this description, the use of the singular includes the plural and vice versa, unless expressly excluded; the terms "and" and "or" apply both subjunctive and disjunctive; and the words "including," "containing," "comprising," "having," and the like mean "including without limitation." Furthermore, words of approximation such as "approximately," "almost," "substantially," "generally," "about," etc., may be used herein to mean "at, near, or almost at," or "within 0-5% of," or "within acceptable manufacturing tolerances," or logical combinations thereof. A component "configured" to perform a particular function is capable of performing the stated function without modification, rather than merely having the potential to perform the stated function after further modifications.In other words, if the hardware described is expressly configured to perform the specified function, it is specifically selected, created, implemented, used, programmed, and / or designed to perform the specified function.
[0056] The detailed description and the drawings or figures are supportive and descriptive of the present teachings, but the scope of the present teachings is defined solely by the claims. While some of the best modes and other embodiments for carrying out the present teachings have been described in detail, various alternative designs and embodiments for carrying out the present teachings exist, as defined in the appended claims. Furthermore, this disclosure expressly includes combinations and subcombinations of the elements and features presented above and below. QUOTES CONTAINED IN THE DESCRIPTION
[0000] This list of documents submitted by the applicant was generated automatically and is included solely for the convenience of the reader. This list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions. Cited patent literature
[0000] US 18 / 318,006
[0038]
Claims
[1] A pattern recognition platform that includes: a system design module configured to receive data from a user device associated with a design of a system modeled with a finite state machine (FSM), the data describing static properties, dynamic properties, structural properties, states, state transitions, events, and outputs of the system modeled as an FSM; a hypothesis generation module configured to determine a design analysis model from one or more existing designs, wherein the design analysis model is operable to train the pattern search of the FSM-modeled system according to the static properties, the dynamic properties, the structural properties, the states, the state transitions, the events, and the outputs; and a design scanner module configured to identify one or more system patterns within the FSM-modeled system based on scanning the FSM-modeled system according to the design analysis model. [2] The pattern recognition platform of claim 1, further comprising: a probability estimation module configured to generate a pattern score for each of the system patterns. [3] The pattern recognition platform of claim 2, further comprising: a threshold module configured to provide one or more threshold scores for comparison with one or more of the sample scores. [4] The pattern recognition platform of claim 3, further comprising: a notification module configured to generate a notification to indicate one or more actions for the FSM-modeled system based on the comparison of the pattern scores to thresholds. [5] The pattern recognition platform of claim 4, wherein: the notification is capable of identifying one or more of the system patterns as at least one of good, bad, and of interest to a design team. [6] The pattern recognition platform of claim 5, wherein: the notification includes an identification and a location within the FSM-modeled system for one or more of the system patterns. [7] The pattern recognition platform of claim 6, wherein: the static properties include attributes and behaviors for one or more of the states. [8] The pattern recognition platform of claim 7, wherein: the structural properties comprise one or more graph patterns for a subset of one or more of the states and the state transitions. [9] The pattern recognition platform of claim 8, wherein: the dynamic properties comprise a further equation or mathematical representation for a subset of another of the states and the state transitions. [10] The pattern recognition platform of claim 9, wherein: the hypothesis generation module is configured to determine a design analysis model using a machine learning algorithm and / or a neural network.
Citation Information
Patent Citations
Automated data entry and error checking methodology for generating state transition tables
US20240383491A1
18/318,006
