DESIGN OPTIMIZATION FOR SYSTEMS MODELED WITH A FINITE STATE MACHINE
A software-based toolkit optimizes finite state machine systems by iteratively refining state flow representations using domain knowledge and algorithms, addressing design errors and enhancing usability and effectiveness.
Patent Information
- Application Number
- DE102023128672
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-07-06
- Filing Date
- 2023-10-19
- Publication Date
- 2025-01-09
AI Technical Summary
Existing systems modeled with finite state machines face challenges in optimizing design to ensure complex and interactive behaviors, leading to potential design errors and suboptimal user interactions.
A software-based toolkit that includes a design optimization platform to generate, score, and iteratively refine state flow representations of finite state machine systems using domain knowledge rules, genetic algorithms, and local search algorithms to optimize system design based on criteria such as user experience and correctness.
Enhances the design process by identifying and correcting structural flaws, improving usability and effectiveness, and ensuring logical system behavior through automated optimization of state transitions and interactions.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
INTRODUCTION
[0001] The present disclosure relates to a software-based "toolbox" for supporting the design and implementation of systems modeled with a finite state machine (FSM) and exhibiting multiple states, state transitions / mode changes, and other potentially complex behavior. This approach is intended to assist system designers, programmers, and other users in optimizing system design.
[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 machine / diagram, such as a statechart. Systems modeled with a finite-state machine start from an initial state. Given the current state of the designed system and a specific single event or combination of events ("superevent"), a finite-state machine is capable of transitioning 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 optimization. SUMMARY
[0003] Systems and associated methods are presented herein to assist a user, a software programmer, a designer, a system developer, etc., in optimizing system designs, such as, but not necessarily limited to, the optimization of a system modeled with a finite state machine (FSM) using iterative modeling of domain knowledge rules to predictably rank state flow representations of the FSM-modeled system according to one or more of the criteria of user experience, usability, correctness, transformability, effectiveness, and readiness. The automated process technique 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 / autonomously 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 the associated control logic for a variety of mobile or stationary systems, are developed using state machine techniques and would also benefit from the automated testing procedures described in detail below.
[0004] One non-limiting aspect of the present disclosure relates to a design optimization platform. The design optimization 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) from a user device. The data may describe states, state transitions, events, and outputs of the FSM-modeled system. The design optimization platform may further include a combination generator module configured to generate a plurality of state flow representations for the FSM-modeled system, each of the state flow representations reflecting the behavior of the FSM-modeled system when operating according to one or more alternatives for one or more of the states and state transitions, events, and outputs of the FSM-modeled system.The design optimization platform may further include an evaluation mechanism module configured to generate an evaluation for each of the state flow representations.
[0005] The design optimization platform may include a domain knowledge rules module configured to contain a plurality of domain knowledge rules used to define the alternatives.
[0006] The combination generator module may be configured to generate a plurality of iterated state flow representations for the FSM-modeled system according to iterated alternatives, wherein optionally each of the iterated state flow representations represents the behavior of the FSM-modeled system when operating according to one or more of the iterated alternatives.
[0007] The evaluation mechanism module may be configured to generate an iterated evaluation for each of the iterated state flow representations.
[0008] The design optimization platform may include an optimized design module configured to determine an optimized state flow representation for the FSM-modeled system based at least in part on the evaluations and the iterated evaluations.
[0009] The evaluation mechanism module can be designed to calculate the scores and the iterated scores according to an optimization algorithm.
[0010] The design optimization platform may include a weighting module configured to assign weight values used by the evaluation mechanism module in calculating the scores.
[0011] The values can be assigned for one or more level hierarchy(s), nested structures, number of connections between states, radius of the statechart, distance between states and predefined structures.
[0012] The evaluation mechanism module may comprise an optimization algorithm configured to operate as a genetic algorithm.
[0013] The evaluation mechanism module may comprise an optimization algorithm configured to operate as a local search algorithm.
[0014] One non-limiting aspect of the present disclosure relates to the design optimization platform. The design optimization 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) from a user device. The data may describe states, state transitions, events, and outputs of the FSM-modeled system. The design optimization platform may further include a combination generator module configured to generate a plurality of state flow representations for the FSM-modeled system according to domain and iteration alternatives, optionally wherein each of the state flow representations reflects the behavior of the FSM-modeled system when operating according to one or more of the domain and iteration alternatives.The design optimization platform may further include an evaluation mechanism module configured to generate an evaluation for each of the state flow representations.
[0015] The design optimization platform further comprises an optimized design module configured to determine an optimized state flow representation for the FSM-modeled system based at least in part on the scores determined for the state flow representations.
[0016] The optimized design module may be configured to instruct the iteration module to iterate the domain alternatives into the iterated alternatives based at least in part on analyzing one or more of the evaluations according to an optimization algorithm.
[0017] The evaluation mechanism module may be configured to calculate the evaluations according to an optimization algorithm.
[0018] One non-limiting aspect of the present disclosure relates to methods for design optimization. The method may include receiving data associated with a design of a system modeled with a finite state machine (FSM) from a user device. The data may describe states, state transitions, events, and outputs of the FSM-modeled system. The method may further include receiving a plurality of domain knowledge rules to define domain alternatives for one or more of the states and state transitions of the FSM-modeled system, and generating a plurality of state flow representations for the FSM-modeled system, each of the state flow representations optionally reflecting the behavior of the FSM-modeled system when operated according to one or more of the domain alternatives.The method may further comprise generating a score for each of the state flow representations.
[0019] The method may comprise generating the domain alternatives based at least in part on randomizing one or more features for the domain knowledge rules.
[0020] The method may comprise automatically iterating one or more of the domain alternatives into iterated alternatives and generating a plurality of iterated state flow representations for the FSM-modeled system, optionally wherein each of the iterated state flow representations expresses the original behavior of the FSM-modeled system when operating according to one or more of the iterated alternatives.
[0021] The method may include generating an iterated score for each of the iterated state flow representations.
[0022] The method may include determining an optimized state flow representation for the FSM-modeled system based at least in part on the evaluations and the iterated evaluations.
[0023] The method may include calculating the values and the iterated values using an optimization algorithm.
[0024] The above features and advantages, as well as other features and associated advantages of this disclosure, will be readily apparent from the following detailed description of examples and modes for carrying out the present disclosure, taken 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 embodiments 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 a system for use in designing and implementing a system using finite state machine (FSM)-based design techniques, the system being configured to optimize 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 system shown. Fig. 2 shows an optimization method according to the disclosure. Fig. 3 is a flowchart of a method for optimizing designs 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 expressly set forth 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 a system 10 trained to facilitate the design of a system modeled with a finite state machine (FSM). Since it is crucial to achieve a sound design, in particular the most perfect understanding and implementation of a designed system in the context of a high-risk 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 that the designed system and the associated human-machine interfaces behave in a logical manner and in a way that is expected by the end users (a user 11, e.g., a designer or programmer, as opposed to a driver, pilot) or any 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 design team.
[0028] To this end, the presented solutions enable the user 11 to optimize the design of the FSM-modeled system. Furthermore, the presented approach supports a structured hierarchical design of the modeled system, as described here. As described below with reference to the Fig. 2 and Fig. As described in detail in Figure 3, the system 10 considered here pursues the goal of automatically designing efficient / usable systems based on user-specified preferences across multiple configurations, optionally leveraging structural properties present in models to predict effectiveness. The contemplated optimization may include generating a large number of combinations and exploring the combination space using local search, genetic algorithms, and the like to advance the design and converge on an optimized design for the FSM-modeled system.
[0029] The Fig. The system 10 illustrated in Figure 1 may include a user device 12, e.g., a laptop computer, tablet computer, 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. The system 10 and the underlying systems may be used to improve the design of human-machine interfaces ("HMIs") or other devices onboard a motor vehicle or aircraft, watercraft, rail vehicle, or other dynamic system, or to model the performance of a medical device, engine, or other static system.
[0030] The Fig. The system 10 illustrated in Figure 1 may also include one or more peripheral devices 13, including a display screen 14 serving 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 functionality of the 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, a hard disk, etc., whether contained memory, remote memory, or a combination of both.
[0032] As a preliminary step to the implementation of the 100M procedure by Fig. 3 receives the Fig. 1, the user device 12 receives system characteristics 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 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 containing an empty / unfilled initial state transition table (Ti) 19. This initial state transition table 19 can, for example, be generated or received with the most complete possible population of possible states and events of the modeled system and with the system characteristics 15 entered 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] After performing one or more iterations, the user device 12 finally outputs a final state transition table (T F) 21. 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 design optimization platform 25 according to the disclosure. The user inputs 16, hard coding, or another mechanism or entity may be used to identify a plurality of domain knowledge rules to define, at least in part, domain alternatives for one or more of the states, state transitions, events, and outputs of the FSM-modeled system, which may additionally include generating the domain alternatives based at least in part on randomizing one or more features according to the domain knowledge rules. The data 110 is thus a starting point for further exploration by the user 11 in performing the method 100M of Fig. 3, i.e., in optimizing the design of the FSM-modeled system.
[0034] With brief reference to Fig. 2, the system 10 can Fig. 1 may include an interaction between the user device 12 and the design optimization platform 25. In general, the present approach includes receiving the data 110 associated with a set of domain knowledge rules, with optional randomization of the associated features, and 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. The information described in Figure 1 may be included in or fully embody the data 110. As provided herein, the design optimization platform 25 may use iterative modeling of domain knowledge rules to predictively rank state flow representations of the FSM-modeled system according to one or more of the criteria of user experience, usability, correctness, transformability, effectiveness, and readiness.
[0035] In response to the identification of an optimized design, a control action may then be performed (see 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 design optimization platform 25 could then perform one or more control actions associated with the optimization of the behavior, for example by displaying the optimized design, ie, one or more state flow representations for the FSM-modeled system with a highest ranking.
[0036] 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 designed to perform the associated tasks. Therefore, the terms "block" and "module" are used synonymously below.
[0037] Block B101 (System Design Module) is fed into the method 100M to provide the user device 12 with Fig. 1 to receive data related to the design of the FSM-modeled system ("System Design"). The System Design Module / Block B101 provides a record, as complete as possible, of the state, state transitions, events, and user-supplied inputs ("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 create 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.
[0038] Block B102 (domain knowledge rules module) feeds into the method 100M to enable the user device 12 to Fig.1 can receive data associated with a plurality of domain knowledge rules. The domain knowledge rules can, for example, be used to at least partially define domain alternatives for one or more of the states, state transitions, events, and outputs of the FSM-modeled system. Block B102 can be configured to optionally use a randomization process to randomize or otherwise expand the domain knowledge rules. Block B102 can be configured to generate a plurality of domain alternatives in this way. The domain alternatives can be used with block B103 (combination generator module) as a mechanism to subject the system design to various simulations, tests, sequences, etc., to iteratively optimize the system design through convergence to the optimized design.
[0039] Block B103 relates to the generation of a plurality of state flow representations for the FSM-modeled system according to the domain alternatives. The state flow representations can be used to reflect the behavior of the FSM-modeled system when operating according to one or more of the domain alternatives. The state flow representations can correspond to data sets, tables, diagrams, etc., which can be prepared to contain metrics, values, statistics, and other appropriate information for modeling the system design according to the domain alternatives, without requiring the visual or physical creation of actual state flow diagrams.State flow representation can thus be beneficial to improve the recognition of the FSM-modeled system when it behaves according to the domain alternatives, which can advantageously be done without a design team having to physically represent the states, state transitions, interactions, outputs, etc.
[0040] The state flow representations modeled according to the domain alternatives, i.e., various features, randomization, options, etc., can be input to block B105 (evaluation mechanism module). Block B105 can be configured to generate a score for each of the state flow representations. Each score can be used to rank a corresponding state flow representation based at least in part on one or more of the following criteria: user experience, usability, correctness, transformability, effectiveness, and readiness. Block B106 (weighting module) can be configured to assign weight values that are used by block B105 in calculating the model scores. The weight values can be variable to account for different contingencies, measure the impact of different alternatives on system performance, etc.
[0041] To further improve the analysis performed based on the domain knowledge rules and / or their randomization, block B107 (Iteration Module) can be used to iterate or otherwise adapt the domain alternatives used in calculating the scores. Block B107 can thus be used to automatically vary the domain alternatives, i.e., the domain rules and / or their randomization, to provide additional features, scenarios, etc., for use in the additionally iterative operation of the FSM-modeled system. The iteration of the domain alternatives, i.e., the generation of iterated alternatives, can be performed based on the scores.This can be useful for automatically generating iterated alternatives based on a previously performed evaluation analysis for the FSM-modeled system, for example, to perform further tests and simulations for specific scenarios. Block B107 can be configured to iterate the rules of domain knowledge, e.g., to operate as a genetic algorithm and / or local search algorithm.
[0042] The iterated alternatives can be fed into block B103 to generate a plurality of iterated state flow representations for the FSM-modeled system. The iterated state flow representations can be used to reflect the behavior of the FSM-modeled system when operating according to one or more of the iterated alternatives. The iterated state flow representations can be similar to the state flow representations described above, with the further advantage that the analysis of the FSM-modeled system can be varied to automatically account for possibilities that may not have been considered during user input of the domain knowledge rules. Block B105 can be configured to generate iterated evaluations for each of the iterated state flow representations.The iterated scores can be generated, weighted, or otherwise calculated in the same way as the state-flow representations to achieve normalization between the scores and the iterated scores. The ability to generate iterated scores based on both user input (scores) and computer-generated input (iterated scores) can be advantageous for improving the behavior of the FSM-modeled system beyond the limits of human input.
[0043] Block B110 (Optimization Design Module) may be configured to determine an optimized state-flow representation for the FSM-modeled system based at least in part on the evaluations. The optimized state-flow representation may correspond to one or more selected domain state-flow representations and the iterated state-flow representation that have the highest ranking based on the corresponding iterated evaluations. The optimized state-flow representation may thus be generated by iteratively creating and evaluating new models, e.g., domain and iterated state-flow representations, until convergence to the optimized state-flow representation is determined. This procedure may be performed multiple times, optionally with different weightings of the evaluation mechanism.The evaluation or determination of the optimized design can be based, for example, on the level of hierarchical (nested) structures (e.g., higher may be better), the number of connections between states (e.g., less may be better), the radius of the graph (e.g., smaller may be better), the distance between states (e.g., larger may be better), and predefined structures that are known to be good (e.g., more may be better).
[0044] As supported above, the design optimization platform 25 may be configured to use state flow representations typically used to represent finite state machines. The design optimization platform 25 may be configured to assist designers in improving the quality of their designs while minimizing design cycle iterations by using a model optimization platform 25 to automatically generate optimized state flow representations based on a user's design preferences and computer-aided alternatives thereto. The design optimization platform 25 may process model data and domain knowledge data, which may include information or domain rules, to generate state flow representations. The domain rules may include definitions for a correct state flow representation and rules for transformations to a representation.Examples of definitions for a correct state flow representation might include: each vertex is represented by a closed shape (usually a square or a circle); each vertex is labeled with unique label symbols or words written inside it; transitions from one state to another; an edge is usually drawn as an arrow leading from the current state to the next state; the label of a transition rule is written next to the corresponding edge; the output state is indicated with an arrow without an origin pointing to it; the output of each state can be given inside it or in a separate table; and / or a given state may be contained in a single "parent" state (no more than one parent state in the same hierarchy).
[0045] Examples of rules for transformations of a representation can include: adding an edge between two unconnected vertices; removing an edge between two connected vertices; splitting a single state into two separate states; merging two states into a single state; adding edges from each state to the initial state; and / or assigning a direction to an edge (adding a "previous / next" relationship). The domain knowledge data can contain predefined rules and can be updated by the user. For example, a user can update the rules for spacing between states for state-flow representations. The model features are properties associated with graph theory.Model features may include, but are not limited to, hierarchical (nested) level structures, a number of connections between states, a representation radius, a distance between states, and predefined structures. For example, in some implementations, the scoring mechanism may use a weighted sum of the squares of the model properties of state-flow representations to assign a score to each state-flow representation, but 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.
[0046] For the purposes of this description, the use of the singular includes the plural and vice versa, unless expressly waived. 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 "designed" 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 designed to perform the specified function, it is specifically selected, created, implemented, used, programmed and / or designed to perform the specified function.
[0047] 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, which are 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
[0037]
Claims
[1] Design optimization platform, comprising: a system design module configured to receive data associated with a design of a system modeled with a finite state machine (FSM) from a user device, the data describing states, state transitions, events, and outputs of the FSM-modeled system; a combination generator module configured to generate a plurality of state flow representations for the FSM-modeled system, each of the state flow representations reflecting the behavior of the FSM-modeled system when operated according to one or more alternatives for one or more of the states and state transitions, events, and outputs of the FSM-modeled system; and an evaluation mechanism module configured to generate an evaluation for each of the state flow representations. [2] The design optimization platform of claim 1, further comprising: a domain knowledge rules module is designed to contain a plurality of domain knowledge rules that are used to define the alternatives. [3] The design optimization platform of claim 2, wherein: the combination generator module is configured to generate a plurality of iterated state flow representations for the FSM-modeled system according to iterated alternatives, each of the iterated state flow representations representing the behavior of the FSM-modeled system when operated according to one or more of the iterated alternatives. [4] The design optimization platform of claim 3, wherein: the evaluation mechanism module is configured to generate an iterated evaluation for each of the iterated state flow representations. [5] The design optimization platform of claim 4, further comprising: an optimized design module configured to determine an optimized state flow representation for the FSM-modeled system based at least in part on the evaluations and the iterated evaluations. [6] The design optimization platform of claim 5, further comprising: wherein the evaluation mechanism module is configured to calculate the evaluations and the iterated evaluations according to an optimization algorithm. [7] The design optimization platform of claim 5, further comprising: a weighting module configured to assign weighting values to be used by the evaluation mechanism module in calculating the scores and the iterated scores. [8] The design optimization platform of claim 7, wherein: the weight values are assigned for one or more of the following: level hierarchy, nested structures, set of connections between states, radius of the statechart, distance between states and predefined structures. [9] The design optimization platform of claim 1, wherein: the evaluation mechanism module comprises an optimization algorithm designed to operate as a genetic algorithm. [10] The design optimization platform of claim 1, wherein: the evaluation mechanism module comprises 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
State assignment method with probabilistic pairwise swap search
US20180336294A1
