Multiprocessor Functional Decomposition for Software Parallelism

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional functional decomposition methods are vague in defining lower decomposition levels and lack constraints, leading to unconstrained complexity and failure to simplify design, particularly in handling software statements like goto, if-then-else, switch loops, and subroutine calls.

Innovation Solution

The multiprocessor functional decomposition (MPfd) model constrains each decomposition level to a single control structure and translates software designs into finite state machines (FSMs), enabling clearer software design and better integration with hardware by exposing all transitions and allowing for automatic detection and correction of incorrect structures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional functional decomposition methods are used to decompose algorithms into lower levels, then the decomposition can represent real-time aspects of the system, but the definition of control transformation is vague and does not include standard software statements such as goto, if-then-else, switch loops, and subroutine calls

Engineering Contradiction:
Improvecoverage of software statementsVSAvoiddecomposition model complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent changes the parameters of control transformation by explicitly defining it to include standard software statements (goto, if-then-else, switch loops, subroutine calls) that were previously excluded. This parameter expansion allows the decomposition model to handle a broader range of software constructs while maintaining a systematic approach to real-time control representation.

Inventive Principle:
Principle #35Parameter changes

2Ease of operation

If decomposition is performed from highest to lower levels without constraints as in the McCabe model, then the decomposition process can proceed freely, but the complexity is unconstrained and it is not clear when the decomposition should end

Engineering Contradiction:
Improvedecomposition process freedomVSAvoiddecomposition complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent implements feedback mechanisms by establishing clear termination criteria for the decomposition process. The model provides feedback signals that indicate when decomposition should continue versus when it should stop, preventing unlimited decomposition while maintaining operational freedom. This is achieved through defined constraints on control transformations and decomposition levels.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent introduces constraint parameters that limit the decomposition process. By defining specific rules for control transformations and decomposition depth, the model changes the parameters from completely free decomposition to constrained decomposition, making the process both operable and bounded.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If unconstrained decomposition is performed without simplification, then the decomposition process can proceed without restrictions, but it does not actually meet the criteria of mathematical functional decomposition and does not simplify the design

Engineering Contradiction:
Improvedesign simplificationVSAvoiddecomposition constraints
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent replaces the mechanical approach of unrestricted decomposition with a systematic method based on mathematical functional decomposition criteria. By substituting the unconstrained mechanical process with a structured mathematical framework, the model achieves both simplification and rigor, ensuring that decomposition actually reduces design complexity rather than merely proceeding without restrictions.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS8959494B2Parallelism from functional decomposition
Publication Date: 2015.02.17 MASSIVELY PARALLEL TECHNOLOGIES INC
  • US8959494B2 patent drawing
  • US8959494B2 patent drawing
  • US8959494B2 patent drawing

AI summary

A system and method for performing functional decomposition of a software design to generate a computer-executable finite state machine. Initially, the software design is received in a form wherein functions in the software design are repetitively decomposed into (1) data and control transformations. Included between the functions are control flow indicators which have transformation-selection conditions associated therewith. The data transformations and the control transformations are translated into states in the finite state machine. The transformation-selection conditions associated with the control transformations are translated into state transitions in the finite state machine.