Software Functional Decomposition for FSM Error Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional functional decomposition methods in software design are vague in defining lower decomposition levels, leading to unconstrained complexity and lack of clarity, and are not effectively integrated with project management tools, which limits their effectiveness in software development.

Innovation Solution

The multiprocessor functional decomposition (MPfd) model is used to constrain software design to a single control structure per decomposition level, allowing translation into a finite state machine (FSM), and integrates with project management tools like Gantt and PERT charts for better error detection and project tracking.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If traditional functional decomposition methods are used, then software design can be broken down into functions, but the decomposition becomes vague at lower levels and complexity is unconstrained

Engineering Contradiction:
Improvesoftware design decompositionVSAvoiddecomposition complexity
Core Design Contradiction:
Ease of manufactureVSDevice complexity

Solution Approach 1:

The patent segments the software design decomposition process into distinct hierarchical levels (Level 1: Control Transformations, Level 2: Data Transformations, Level 3: Elementary Transformations). Each level has specific decomposition rules and constraints, preventing vague or unconstrained breakdown of functions. This structured segmentation ensures that decomposition stops at appropriate boundaries while maintaining clarity at each level.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces specific parameters and metrics to constrain decomposition, including the rule that Level 1 control transformations must decompose into exactly one Level 2 data transformation and one Level 3 elementary transformation. These parameter-based constraints transform the vague decomposition process into a controlled, measurable process with defined stopping criteria.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If unconstrained decomposition is used as in the McCabe model, then decomposition can proceed from highest to lower levels, but the amount of control is unconstrained and it is not clear when decomposition should end

Engineering Contradiction:
Improvedecomposition speedVSAvoidcontrol complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent establishes preliminary decomposition rules and constraints before the actual decomposition process begins. The hierarchical structure with defined levels and transformation types is predetermined, providing clear stopping criteria and control boundaries. This preliminary structuring prevents uncontrolled decomposition while maintaining efficient progression through the levels.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If traditional FSM methods are used, then compilers and sequential circuits can be designed, but general software design and programming do not benefit from FSM integration

Engineering Contradiction:
ImproveFSM application scopeVSAvoidintegration complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent creates a universal decomposition framework that can be applied to general software design, not just compilers or sequential circuits. The hierarchical transformation model is domain-independent and can be adapted to various software systems. This universality allows FSM benefits to extend to general programming while the standardized decomposition process manages the integration complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

4Ease of operation

If project management tools are separate from software design tools, then Gantt and PERT charts can be used for project management, but they are not integrated with the software design process

Engineering Contradiction:
Improveproject management capabilityVSAvoidtool integration
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent merges project management functionality directly into the software design decomposition process. The hierarchical decomposition structure automatically generates project management artifacts (Gantt charts, PERT charts) from the decomposition levels and transformation relationships. This merging eliminates the need for separate project management tools while providing integrated visibility into both design progress and project status.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9395954B2Project planning and debugging from functional decomposition
Publication Date: 2016.07.19 MASSIVELY PARALLEL TECHNOLOGIES INC
  • US9395954B2 patent drawing
  • US9395954B2 patent drawing
  • US9395954B2 patent drawing

AI summary

A system and method for performing functional decomposition of a software design to generate a computer-executable FSM and a graphical representation of the design in a decomposition diagram stored in a program database with source code, test code, and other program data. The method includes searching for pre-existing software modules that meet program design requirements. Modules needing work are displayed on Gantt or PERT charts as tasks, and may be annotated with start dates, and completion dates. Percent complete of the design is automatically generated and updated, and may be displayed on the charts. The decomposition is automatically used to introduce error detection states into the FSM for recognizing invalid states and saving checkpoints, and for recognizing and repairing both race conditions and deadlock conditions in the design.