Design optimization of finite state machine modeling system
By designing the system design module and scoring mechanism of the optimization platform, combining genetic algorithms and local search algorithms, the state flow representation of the finite state machine is optimized, which solves the problem of insufficient optimization in the design of FSM modeling system and improves the design quality and reliability.
Patent Information
- Application Number
- CN202311437686.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-07-06
- Filing Date
- 2023-10-31
- Publication Date
- 2025-01-07
AI Technical Summary
Finite State Machine (FSM) modeling systems have insufficient optimization in the design and verification process, especially in systems that deal with complex and highly interactive behaviors. The existing technology is difficult to effectively optimize state transitions and pattern changes, resulting in insufficient structure and design. reliable.
Design optimization platform, including system design module, combination generator module, scoring mechanism module and optimization design module, generate multiple state flow representations by receiving user data and domain knowledge rules, and iterative optimization is performed using genetic algorithms and local search algorithms. Compute the score and iterative score to determine the optimized state flow representation.
It improves the design quality and reliability of the FSM modeling system, reduces the design cycle, ensures that the system improves user experience, availability and correctness, and can better identify and optimize the state transitions and pattern behavior of complex systems.
Smart Images

Figure CN119272469A_ABST
Abstract
Description
[0001] introduce
[0002] 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 help system designers, programmers, and other users optimize system designs.
[0003] Finite state machines are mathematical abstractions that are often used to design and verify the behavior of countless different software programs and physical systems. Finite state machines can be graphically represented as state flow diagrams, state transition tables, or hierarchical state machines / diagrams, such as statecharts. FSM modeling systems start from an initial state. Based on the current state of the designed system and a given single event or combination of events ("super events"), the finite state machine can transition between various additional states in response to system inputs or triggering events. Although state transition tables or state flow diagrams help the overall system design process, the design of FSM modeling systems can benefit from optimization. Summary of the invention
[0004] Disclosed herein are systems and related methods for helping users, software programmers, designers, system developers, etc. optimize system designs, such as, but not necessarily limited to, iterative modeling using domain knowledge rules to optimize finite state machine (FSM) modeling systems, to predictably rank the state flow representations of FSM modeling systems according to one or more of user experience, usability, correctness, convertibility, validity, and ready states. The automated methods contemplated herein are particularly suitable for designing systems with relatively complex and / or highly interactive behavioral characteristics, such as across a wide variety of possible states, state transitions, state or mode triggering events, and outputs. For example, a motor vehicle with automated control functions has relatively complex operating modes and state transition rules. Some of these modes are automatically / autonomously executed or executed in response to driver input, while other modes can be based on timers, hidden logic, or other automatically occurring activation criteria. Other complex systems, such as avionics, medical devices, and related control logic for various mobile or fixed systems can be designed using finite state machine technology, and these systems also benefit from the automated verification methods described in detail below.
[0005] A non-limiting aspect of the present disclosure relates to a design optimization platform. The design optimization platform may include a system design module, which is configured to receive data associated with the design of a finite state machine (FSM) modeling system from a user device. The data may describe the state, state transition, event, and output of the FSM modeling system. The design optimization platform may also include a combination generator module, which is configured to generate multiple state flow representations of the FSM modeling system, optionally, each state flow representation reflects the behavior of the FSM modeling system when working according to one or more alternatives in the state and state transition, event, and output of the FSM modeling system. The design optimization platform may also include a scoring mechanism module, which is configured to generate a score for each state flow representation.
[0006] The design optimization platform may include a domain knowledge rules module configured to contain a plurality of domain knowledge rules for defining alternatives.
[0007] The combinatorial generator module may be configured to generate a plurality of iterated state flow representations of the FSM modeling system according to the iteration alternatives, optionally each iterated state flow representation representing the behavior of the FSM modeling system when operating according to one or more iteration alternatives.
[0008] The scoring mechanism module may be configured to generate an iteration score for each iterated state flow representation.
[0009] The design optimization platform may include a design optimization module configured to determine an optimized state flow representation of the FSM modeling system based at least in part on the scores and the iteration scores.
[0010] The scoring mechanism module may be configured to calculate scores and iterate scores according to an optimization algorithm.
[0011] The design optimization platform can include a weighting module configured to assign weight values to be used by the scoring mechanism module in calculating the scores and iterating the scores.
[0012] Values may be assigned for one or more of hierarchy levels, nesting structure, number of connections between states, state diagram radius, spacing between states, and predefined structures.
[0013] The scoring mechanism module may include an optimization algorithm configured to operate as a genetic algorithm.
[0014] The scoring mechanism module may include an optimization algorithm configured to operate as a local search algorithm.
[0015] A non-limiting aspect of the present disclosure relates to a design optimization platform. The design optimization platform may include a system design module, which is configured to receive data associated with the design of a finite state machine (FSM) modeling system from a user device. The data may describe the state, state transitions, events, and outputs of the FSM modeling system. The design optimization platform may also include a combination generator module, which is configured to generate multiple state flow representations of the FSM modeling system according to domains and iteration alternatives, and optionally, each state flow representation reflects the behavior of the FSM modeling system when working according to one or more domains and iteration alternatives. The design optimization platform may also include a scoring mechanism module, which is configured to generate a score for each state flow representation.
[0016] The design optimization platform also includes an optimization design module configured to determine an optimized state flow representation of the FSM modeling system based at least in part on the score determined for the state flow representation.
[0017] The optimization design module can be configured to direct the iteration module to iterate the domain alternatives into iterated alternatives based at least in part on analyzing the one or more scores according to the optimization algorithm.
[0018] The scoring mechanism module may be configured to calculate the score according to an optimization algorithm.
[0019] A non-limiting aspect of the present disclosure relates to a method for design optimization. The method may include receiving data associated with the design of a finite state machine (FSM) modeling system from a user device. The data may describe the state, state transitions, events, and outputs of the FSM modeling system. The method may also include receiving a plurality of domain knowledge rules to define one or more domain alternatives in the state and state transitions of the FSM modeling system, and generating a plurality of state flow representations of the FSM modeling system, optionally, wherein each of the state flow representations reflects the behavior of the FSM modeling system when working according to one or more domain alternatives. The method may also include generating a score for each state flow representation.
[0020] The method may include generating domain alternatives based at least in part on one or more features of the randomized domain knowledge rules.
[0021] The method may include automatically iterating one or more domain alternatives into iterated alternatives and generating a plurality of iterated state flow representations of the FSM modeling system, optionally each iterated state flow representation representing the original behavior of the FSM modeling system when operating according to the one or more iterated alternatives.
[0022] The method may include generating an iteration score for each of the iterated state flow representations.
[0023] The method may include determining an optimized state flow representation of the FSM modeling system based at least in part on the score and the iteration score.
[0024] The method may include calculating the score using an optimization algorithm and iterating the score.
[0025] The above features and advantages of the present disclosure and other features and attendant advantages should be apparent from the following detailed description of illustrative examples and modes for implementing the present disclosure when combined with the accompanying drawings and the appended claims. In addition, the present disclosure expressly includes combinations and sub-combinations of the elements and features presented above and below. BRIEF DESCRIPTION OF THE DRAWINGS
[0026] The accompanying drawings are incorporated into and constitute a part of this specification, and illustrate embodiments of the present disclosure and are used 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. Details related to these features will be determined in part by specific intended applications and use environments.
[0027] Figure 1 A system for designing and implementing a system using finite state machine (FSM) based design techniques is shown, wherein the system is configured to optimize the designed system according to the present disclosure.
[0028] Figure 1A Shown for implementation Figure 1 An exemplary embodiment of a distributed processing node that is part of a system is shown.
[0029] Figure 2 An optimization method according to the present disclosure is shown.
[0030] Figure 3 is a flow chart of a method for optimizing design according to an embodiment of the present disclosure. DETAILED DESCRIPTION
[0031] The present disclosure can be implemented in many different forms. Representative examples of the present disclosure are shown in the drawings and described in detail herein as non-limiting examples of the disclosed principles. For this reason, elements and limitations described in the abstract, introduction, 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.
[0032] Referring to the drawings, wherein like numerals represent like features throughout the several views, Figure 1A system 10 configured for finite state machine (FSM) modeling system design is depicted. Critical to achieving sound design, particularly in the context of a high-stakes design process to get as close as possible to a perfect understanding and implementation of the designed system, and to developing a system that is unlikely to have incorrect structures that lead to design errors and incorrect user interactions, is the verification that the designed system and associated human-machine interface will behave in a logical manner and in a manner that an end user (user 11, such as a designer or programmer, not a driver, pilot, or other end user of a physical embodiment of the modeled system) would expect it to behave. The ability to recognize patterns in FSM modeling systems, or what may be collectively referred to herein as system patterns, may be supported in providing a software-based "toolbox" for assisting design teams.
[0033] To this end, the present solution enables the user 11 to optimize the design of the FSM modeling system. In addition, the proposed method supports the structured hierarchical design of the modeling system as described herein. Figure 2 and 3 As described in detail, the system 10 as contemplated herein has the goal of automatically designing an efficient / usable system based on user indicated preferences for a number of configurations, optionally utilizing structural properties present in the model to predict effectiveness. The contemplated optimization may include generating a large number of combinations and searching the combinatorial space using local search, genetic algorithms, etc., in order to advance the design and converge on an optimal design for the FSM modeled system.
[0034] Figure 1 The system 10 shown in FIG. 1 may include a user device 12, such as a laptop computer, tablet computer, desktop computer, mobile application (“app”), or other suitable application host configured to assist a user 11 in the design of a potentially complex hardware and / or software-based system. Although for simplicity of illustration, the user device 12 is not shown in FIG. Figure 1 Although it is depicted as a single computer device in the figure, it should be understood by those skilled in the art that the user device 12 can also be implemented as Figure 1A 12A, 12B, ..., 12N). The processing nodes may communicate with each other via appropriate wired, wireless, and / or cloud-based network connections. The system 10 and underlying systems may benefit the design of human-machine interfaces ("HMIs") or other devices on motor vehicles or aircraft, ships, rail vehicles, or other dynamic systems, or be used to model the performance of medical devices, power plants, or other static systems.
[0035] Figure 1The system 10 shown may also include one or more peripheral devices 13, including a display screen 14 that can function as an output device of the user device 12. When developing or designing a state transition table for a FSM modeling system, the user 11 may interact with the user device 12 via one or more additional peripheral devices 13 (not shown), such as a mouse, keyboard, touch input to the display screen 14, etc., and the state transition table includes functionality of resident software and / or its hardware. The present solution is intended for downstream verification of system behavior after the FSM and corresponding state transition table are properly and comprehensively designed. Among the many possible attendant benefits of the present solution, the user 11 is better able to pinpoint in larger designs where the design is not well structured and lacks sufficient hierarchical structure.
[0036] As part of this strategy, Figure 1 The host computer 12 or its Figure 1A The constituent processing nodes 12A, 12B, ..., 12N may be equipped with a non-transitory tangible computer-readable storage medium or memory (M) 54 having non-transitory instructions stored thereon, and one or more processors (P) 56, such as logic circuits, combinational logic circuits, application-specific integrated circuits (ASICs), electronic circuits, central processing units, semiconductor IC devices, etc., as well as input / output (I / O) circuits, appropriate signal conditioning and buffering circuits, and other components such as high-speed clocks, to provide the described functions. The associated memory 54 may include a suitable amount and type of non-transitory memory for the application, including read-only, programmable read-only, random access, hard disk drives, etc., whether resident, remote, or a combination of both.
[0037] As execution Figure 3 The premise of method 100M is Figure 1 The user device 12 shown in the figure can receive 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, as well as possible "super events" (event combinations), hierarchical structure definitions and other system characteristics 15 of the FSM modeled system. Based on the received system characteristics 15, the user device 12 automatically generates and outputs a first data set 17 containing a blank / unfilled initial state transition table ("T19". The initial state transition table 19 can, for example, be generated or received to complete the filling of possible states and events of the modeled system as much as possible, and has the system characteristics 15 input by the user 11. In addition, in some embodiments, the user device 12 automatically fills the initial state transition table 19 with a second data set 18 to generate a third data set 19S, wherein the third data set 19S includes the filled state transition table ("T P ”)20.
[0038] After one or more iterations, the user device 12 may finally output a final state transition table (T F )21, the final state transition table 21 can serve as data 110 associated with the design of the FSM modeling system, wherein the data 110 can be used by the design optimization platform 25 according to the present invention. User input 16, hard coding or other mechanisms or entities can be used to identify multiple domain knowledge rules to at least partially define domain alternatives for one or more of the states, state transitions, events and outputs of the FSM modeling system, which can additionally include generating domain alternatives based at least in part on one or more characteristics randomized according to the domain knowledge rules. Therefore, the data 110 is the user 11 performing Figure 3 The method 100M was a starting point for further investigation when optimizing the design presentation of the FSM modeling system.
[0039] Brief reference Figure 2 , Figure 1 The system 10 may involve interaction of a user device 12 and a design optimization platform 25. In general, the method involves receiving data 110 associated with a set of domain knowledge rules, wherein characteristics associated therewith are optionally randomized, and receiving a system design as described above, including various states, state transitions, events, and outputs, which may include details of an existing design 18. Figure 1 The existing design 18, the final state table 21, and / or other information described in the embodiment of the present invention may include or fully implement the data 110. As contemplated herein, the design optimization platform 25 may utilize iterative modeling of domain knowledge rules to predictably rank the state flow representation of the FSM modeling system according to one or more of user experience, usability, correctness, convertibility, validity, and ready state.
[0040] Then, control actions may be performed in response to the identified optimal design as described below. For example, normalized states S1, S2, S3, and S4 may be specified in data 110, which may be data describing static properties, dynamic properties, structural properties, state transitions, events, and outputs of the FSM modeling system. Figure 3 As part of the present method 100M, the design optimization platform 25 may thereafter execute one or more control actions associated with the optimization behavior, such as by indicating an optimized design, ie, one or more state flow representations of the FSM modeling system having the highest ranking.
[0041] Reference now Figure 3 , shows a logic flow diagram illustrating an embodiment of the method 100M. The logic flow diagram is composed of constituent logic sections or boxes, wherein each box is manually and / or automatically implemented as one or more algorithms or code segments as needed. It should be understood by those skilled in the art that Figure 3The flowchart also lends itself to implementing constituent hardware / software modules, each of which can be configured to perform associated tasks. Therefore, the terms "box" and "module" may be used synonymously hereinafter.
[0042] Method 100M is fed into block B101 (system design module) to Figure 1 The user device 12 is capable of receiving data associated with the design of a FSM modeling system ("system design"). The system design module / box 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, state transitions, events, and outputs of the FSM modeling system. Box B101 can be configured to construct a feasible system design for a FSM modeling system. As should be understood in the art, this effort, in turn, involves the generation and error checking of one or more state transition tables and / or transition diagrams, for example, using the automated methods described in U.S. patent application Ser. No. 18 / 318,006, filed on May 16, 2023, which is incorporated herein by reference in its entirety, or using other fully developed state transition tables, such as Figure 1 Final state transition table 21. Such data is received as input to method 100M at block B102.
[0043] Method 100M is fed into block B102 (Domain Knowledge Rules Module) to enable Figure 1 The user device 12 is capable of receiving data associated with multiple domain knowledge rules. For example, the domain knowledge rules can be used to at least partially define domain alternatives for one or more of the states, state transitions, events, and outputs of the FSM modeling system. Box B102 can be configured to optionally utilize a randomization process to randomly or otherwise expand the domain knowledge rules. Box B102 can be configured to generate multiple domain alternatives in this manner. The domain alternatives can be used with box B103 (combinatorial generator module) as a mechanism for subjecting the system design to various simulations, tests, sequences, etc., so as to iteratively optimize the system design by converging on an optimized design.
[0044] Box B103 involves generating multiple state flow representations of the FSM modeling system according to the domain alternatives. The state flow representation can be used to reflect the behavior of the FSM modeling system when working according to one or more domain alternatives. The state flow representation can correspond to a data set, table, chart, etc., which can be prepared to include metrics, values, statistics and other suitable information for modeling the system design according to the domain alternatives without having to visually or physically generate an actual state flow diagram. The state flow representation can be beneficial in this way to improve the identification of the FSM modeling system that behaves according to the domain alternatives, which can be beneficially accomplished without requiring a design team to physically describe states, state transitions, interactions, outputs, etc.
[0045] State flow representations modeled according to domain alternatives, i.e., various features, randomizations, options, etc., may be fed to box B105 (scoring mechanism module). Box B105 may be configured to generate a score for each state flow representation. Each score may be used to rank a corresponding one of the state flow representations based at least in part on user experience, usability, correctness, deformability, validity, and ready state. Box B106 (weighting module) may be configured to assign weight values to be used by box B105 when calculating model scores. The weight values may be variable to take into account different contingencies, measure the impact of different alternatives on system performance, etc.
[0046] In order to further enhance the analysis performed based on domain knowledge rules and / or randomization thereof, box B107 (iteration module) can be used to iterate or otherwise adjust the domain alternatives used when calculating the score. Box B107 can be used in this way to automatically change the domain alternatives, i.e., domain rules and / or randomization thereof, to provide additional features, scenarios, etc., for additional iterative operations of the FSM modeling system. The iteration of the domain alternatives, i.e., the generation of iterative alternatives, can be performed based on the score. This may be useful when analyzing the automatically generated iterative alternatives based on the previous score performed on the FSM modeling system, so as to further test and simulate for a specific scenario. Box B107 can be configured to iterate domain knowledge rules, for example, domain knowledge rules configured to work as a genetic algorithm and / or a local search algorithm.
[0047] The iterative alternatives can be fed to the frame B103 place, so as to be used to generate multiple iterated state flow representations of the FSM modeling system. The iterated state flow representation can be used to reflect the behavior of the FSM modeling system when working according to one or more iterated alternatives. The iterated state flow representation can be similar to the above-mentioned state flow representation, and it has other benefits of changing the analysis of the FSM modeling system to automatically consider the possibility that the user input of the domain knowledge rule has not yet been solved. Frame B105 can be configured to generate an iterative score for each iterated state flow representation. The iterative score can be generated, weighted or otherwise calculated in the same manner as the state flow representation, so as to provide the normalization between the score and the iterative score. The ability to generate iterative scores based on user input (scoring) and based on computer-generated input (iterative scoring) can benefit from improving the behavior of the FSM modeling system, which makes it exceed the limitation of human input.
[0048] Block B110 (optimization design module) may be configured to determine an optimized state flow representation of the FSM modeling system based at least in part on the scoring. The optimized state flow representation may correspond to one or more selected from the domain and the iterated state flow representation, which have the highest ranking based on the corresponding iteration score. The optimized state flow representation may be generated in this manner by iteratively creating new models (e.g., domains and iterated state flow representations) and scoring them until it is determined that they converge to the optimized state flow representation. This process may be performed multiple times, optionally using different weights of the scoring mechanism. Scoring or determining the optimized design may be based on, for example, the level of the hierarchical (nested) structure (e.g., the higher the better), the number of connections between states (e.g., the fewer the better), the radius of the graph (e.g., the smaller the better), the interval between states (e.g., the larger the better), and a predefined structure known to be good (e.g., the more the better).
[0049] As supported above, the design optimization platform 25 can be configured to utilize a state flow representation commonly used to represent finite state machines. The design optimization platform 25 can be used to support designers in minimizing design cycle iterations while improving the quality of their designs, which is achieved by automatically generating an optimized state flow representation based on the user's design preferences and its computer iteration alternatives using the model optimization platform 25. The design optimization platform 25 can process model data and domain knowledge data, which can include information or domain rules about generating state flow representations. The domain rules can include definitions of correct state flow representations and rules for transforming representations. Examples of definitions of correct state flow representations can include: each vertex is represented by a closed shape (usually a square or circle); each vertex is marked with a unique indicator symbol or word written therein; transitions from one state to another; edges are usually drawn as arrows pointing from the current state to the next state; labels of transition rules are written next to the corresponding edges; initial states are indicated by arrows with no origin pointing to it; the output of each state can be written inside it or in a separate table; and / or a given state can be contained within a single "parent" state (no more than 1 parent in the same hierarchy).
[0050] Examples of transformation rules used on the representation may include: adding an edge between two unconnected vertices; removing the edge between two connected vertices; splitting a single state into two separate states; merging two states into a single state; adding the edge of each state to the initial state; and / or specifying a direction for the edge (adding a "previous / next" relationship). The domain knowledge data may include predefined rules and may be updated by a user. For example, a user may update the rules regarding the spacing between states of a state flow representation. Model properties are attributes associated with graph theory. Model properties may include, but are not limited to, the level of a hierarchical (nested) structure, the number of connections between states, the radius of a representation, the spacing between states, and a predefined structure. In some embodiments, the scoring mechanism may, for example, use a weighted sum of squares of the model properties of the state flow representation to assign a score to each state flow representation, however, a wide range of other calculations may also be used. The optimization algorithm may use a heuristic method to determine an optimized state flow representation. For example, the optimization algorithm may use a genetic algorithm or a local search algorithm.
[0051] Some of the aspects explained above are summarized below by means of numbered examples.
[0052] Example 1. A design optimization platform, comprising:
[0053] 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 states, state transitions, events, and outputs of the FSM modeling system;
[0054] a combination generator module configured to generate a plurality of state flow representations of the FSM modeling system, each of the state flow representations reflecting the behavior of the FSM modeling system when operating according to one or more alternatives among states and state transitions, events, and outputs of the FSM modeling system; and
[0055] A scoring mechanism module is configured to generate a score for each state flow representation.
[0056] Example 2. The design optimization platform according to Example 1 further includes:
[0057] A domain knowledge rule module is configured to contain a plurality of domain knowledge rules for defining the alternatives.
[0058] Example 3. A design optimization platform according to Example 2, wherein:
[0059] The combinatorial generator module is configured to generate a plurality of iterated state flow representations of the FSM modeling system according to iteration alternatives, each of the iterated state flow representations representing behavior of the FSM modeling system when operating according to the one or more iteration alternatives.
[0060] Example 4. A design optimization platform according to Example 3, wherein:
[0061] The scoring mechanism module is configured to generate an iteration score for each of the iterated state flow representations.
[0062] Example 5. The design optimization platform according to Example 4 further includes:
[0063] An optimization design module is configured to determine an optimized state flow representation of the FSM modeling system based at least in part on the score and the iteration score.
[0064] Example 6. The design optimization platform according to Example 5, further comprising:
[0065] The scoring mechanism module is configured to calculate the score and the iterative score according to an optimization algorithm.
[0066] Example 7. The design optimization platform according to Example 5, further comprising:
[0067] A weighting module is configured to assign weight values to be used by the scoring mechanism module when calculating the score and the iterative score.
[0068] Example 8. The design optimization platform according to Example 7, wherein:
[0069] A weight value is assigned to one or more of a hierarchy level, a nesting structure, a number of connections between states, a radius of a state graph, a spacing between states, and a predefined structure.
[0070] Example 9. A design optimization platform according to Example 1, wherein:
[0071] The scoring mechanism module includes an optimization algorithm configured to operate as a genetic algorithm.
[0072] Example 10. The design optimization platform according to Example 1, wherein:
[0073] The scoring mechanism module includes an optimization algorithm configured to operate as a local search algorithm.
[0074] Example 11. A design optimization platform, comprising:
[0075] 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 states, state transitions, events, and outputs of the FSM modeling system;
[0076] a combinatorial generator module configured to generate a plurality of state flow representations of the FSM modeling system according to domain and iteration alternatives, each of the state flow representations reflecting behavior of the FSM modeling system when operating according to one or more of the domain and iteration alternatives; and
[0077] A scoring mechanism module is configured to generate a score for each state flow representation.
[0078] Example 12. The design optimization platform according to Example 11, further comprising:
[0079] An optimization design module is configured to determine an optimized state flow representation of the FSM modeling system based at least in part on a score determined for the state flow representation.
[0080] Example 13. The design optimization platform according to Example 12, wherein:
[0081] The optimization design module is configured to direct the iteration module to iterate the domain alternatives into iterated alternatives based at least in part on analyzing the one or more scores according to the optimization algorithm.
[0082] Example 14. The design optimization platform according to Example 13, wherein:
[0083] The scoring mechanism module is configured to calculate a score according to an optimization algorithm.
[0084] Example 15. A method for design optimization, comprising:
[0085] Receiving data associated with a design of a finite state machine (FSM) modeling system from a user device, wherein the data describes states, state transitions, events, and outputs of the FSM modeling system;
[0086] receiving a plurality of domain knowledge rules to define domain alternatives for one or more of states and state transitions of the FSM modeling system;
[0087] generating a plurality of state flow representations of the FSM modeling system, each of the state flow representations reflecting behavior of the FSM modeling system when operating according to the one or more domain alternatives; and
[0088] Generate a score for each state flow representation.
[0089] Example 16. The method according to Example 15, further comprising:
[0090] The domain alternatives are generated based at least in part on randomizing one or more features of the domain knowledge rules.
[0091] Example 17. The method according to Example 16, further comprising:
[0092] automatically iterating the one or more domain alternatives into iterated alternatives; and
[0093] A plurality of iterated state flow representations of the FSM modeling system are generated, each of the iterated state flow representations expressing an original behavior of the FSM modeling system when operating according to the one or more iteration alternatives.
[0094] Example 18. The method according to Example 17, further comprising:
[0095] An iteration score is generated for each iterated state flow representation.
[0096] Example 19. The method according to Example 18, further comprising:
[0097] An optimized state flow representation of the FSM modeling system is determined based at least in part on the score and the iteration score.
[0098] Example 20. The method according to Example 19, further comprising:
[0099] The score and the iteration score are calculated using an optimization algorithm.
[0100] For the purpose of description, unless specifically disclaimed, the use of the singular also includes the use of the plural, and vice versa, the terms "and" and "or" shall be conjunctions and disjunctions, and the words "including", "comprising", "containing", "having", etc. shall mean "including but not limited to". In addition, synonyms such as "approximately", "almost", "substantially", "substantially", "approximately", etc. may be used herein in the sense of "at, close to, or nearly at" or "within 0-5%" or "within an acceptable manufacturing tolerance" or a logical combination thereof. As used herein, a component "configured to" perform a specified function is able to perform the specified function without change, rather than merely having the potential to perform the specified function after further modification. In other words, when explicitly configured to perform a specified function, the hardware described may be specifically selected, created, implemented, utilized, programmed and / or designed for the purpose of performing the specified function.
[0101] The detailed description and accompanying drawings support and describe the present teaching, but the scope of the present teaching is limited only by the claims. Although some best modes and other embodiments for carrying out the present teaching have been described in detail, there are various alternative designs and embodiments that can be used to practice 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 design optimization 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 states, state transitions, events, and outputs of the FSM modeling system; a combination generator module configured to generate a plurality of state flow representations of the FSM modeling system, each of the state flow representations reflecting the behavior of the FSM modeling system when operating according to one or more alternatives among states and state transitions, events, and outputs of the FSM modeling system; and A scoring mechanism module is configured to generate a score for each state flow representation.
2. The design optimization platform according to claim 1, further comprising: A domain knowledge rule module is configured to contain a plurality of domain knowledge rules for defining the alternatives.
3. The design optimization platform according to claim 2, wherein: The combinatorial generator module is configured to generate a plurality of iterated state flow representations of the FSM modeling system according to iteration alternatives, each of the iterated state flow representations representing behavior of the FSM modeling system when operating according to the one or more iteration alternatives.
4. The design optimization platform according to claim 3, wherein: The scoring mechanism module is configured to generate an iteration score for each of the iterated state flow representations.
5. The design optimization platform according to claim 4, further comprising: An optimization design module is configured to determine an optimized state flow representation of the FSM modeling system based at least in part on the score and the iteration score.
6. The design optimization platform according to claim 5, further comprising: in, The scoring mechanism module is configured to calculate the score and the iteration score according to an optimization algorithm.
7. The design optimization platform according to claim 5, further comprising: A weighting module is configured to assign weight values to be used by the scoring mechanism module when calculating the score and the iterative score.
8. The design optimization platform according to claim 7, wherein: A weight value is assigned to one or more of a hierarchy level, a nesting structure, a number of connections between states, a radius of a state graph, a spacing between states, and a predefined structure.
9. The design optimization platform according to claim 1, wherein: The scoring mechanism module includes an optimization algorithm configured to operate as a genetic algorithm.
10. The design optimization platform according to claim 1, wherein: The scoring mechanism module includes an optimization algorithm configured to operate as a local search algorithm.
Citation Information
Patent Citations
Automated data entry and error checking methodology for generating state transition tables
US20240383491A1