Automatic Hierarchy Detection for Block Diagrams
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Complex and large software block diagrams are difficult to navigate and understand due to inaccuracies and inefficiencies in hierarchical grouping, which can vary significantly based on individual developer preferences, hindering the efficient and accurate comprehension of code logic.
Innovation Solution
A system and method for automatically detecting hierarchies in block diagrams through structural analysis, converting connected components into directed acyclic graphs, determining candidate hierarchies, verifying them, and generating a displayable hierarchical block diagram that facilitates efficient understanding of code logic without considering node roles.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If developers manually create hierarchical groupings of nodes in block diagrams, then the block diagram becomes more navigable and understandable, but inaccuracies and personal bias are introduced that hinder accurate understanding of code logic
Solution Approach 1:
The system performs self-service by automatically analyzing the flat block diagram structure and generating hierarchical groupings without human intervention. The electronic processor identifies connected components, converts them to DAGs, determines candidate hierarchies, and verifies them algorithmically, eliminating reliance on developer subjectivity while maintaining navigability benefits
Solution Approach 2:
The manual mechanical process of developers creating hierarchies is replaced with an automated computational system. The electronic processor executes algorithms to perform structural analysis, convert graphs, determine hierarchies, and verify results, substituting human cognitive processes with deterministic computational operations that eliminate personal bias
2Ease of operation
If developers create hierarchical block diagrams to simplify complex diagrams, then navigation is improved, but the results become diverse and inconsistent based on individual developer preferences
Solution Approach 1:
The system changes the parameter of hierarchy creation from subjective developer preference to objective algorithmic determination. By using structural analysis and DAG conversion with verification, the hierarchy structure becomes consistent and reproducible based on the diagram's inherent topology rather than variable human preferences
Solution Approach 2:
The inconsistent manual process of hierarchy creation is replaced with a deterministic computational system that produces consistent results. The electronic processor applies the same algorithmic rules to all diagrams, ensuring stability and reproducibility of hierarchical structures across different users and applications
3Ease of manufacture
If manual hierarchical grouping is used to document code structure, then some level of organization is achieved, but inefficiencies and inaccuracies reduce the quality of code understanding
Solution Approach 1:
The system performs self-service by automatically generating hierarchical structures without requiring developer time and effort. The electronic processor executes the complete hierarchy detection process autonomously, freeing developers from this task while ensuring high-quality, accurate results that improve code understanding efficiency
Solution Approach 2:
The manual mechanical process of creating hierarchies for code documentation is replaced with automated computational processing. The electronic processor performs structural analysis, graph conversion, hierarchy determination, and verification algorithmically, eliminating the inefficiencies and inaccuracies of manual methods while accelerating the production of accurate code documentation
Data Source
AI summary
Methods and systems for hierarchy detection for block diagrams. One system includes an electronic processor configured to access a block diagram. The electronic processor is also configured to identify a set of connected components in the block diagram. The electronic processor is also configured to convert a first connected component included in the set of connected components into a directed acyclic graph (DAG). The electronic processor is also configured to determine a set of candidate hierarchies included in the DAG. The electronic processor is also configured to verify the set of candidate hierarchies. The electronic processor is also configured to generate a displayable hierarchical block diagram based on the verified set of candidate hierarchies.


