Extensible Code Visualization via Model Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional code visualization mechanisms lack extensibility, limiting users' ability to customize and enhance the visualization of program code in graphical user interfaces.

Innovation Solution

The implementation of an extensible code visualization method that allows users to acquire program code, generate a model, and map it to a graphical user interface (GUI) in various predefined views, enabling customization through XML configuration files and Abstract Syntax Tree (AST) parsing, allowing users to specify rendering options for model elements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional code visualization mechanisms are used, then code can be displayed in predefined views, but extensibility and customization capability are limited

Engineering Contradiction:
ImproveextensibilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The code visualization system is segmented into distinct components: a model generation layer that creates abstract representations of code, a mapping layer that connects model elements to UI components, and a presentation layer that renders the visualization. This segmentation enables independent extension of each layer without affecting others, resolving the contradiction between extensibility and complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

An intermediate model layer is introduced between the raw code and the GUI presentation. This model serves as a mediator that can be independently configured and mapped to various UI representations. The model element mapping mechanism acts as an intermediary that enables customization without directly modifying the core visualization engine, thus maintaining extensibility while managing complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If predefined views are used for code visualization, then implementation is straightforward, but user customization capability is restricted

Engineering Contradiction:
Improveease of useVSAvoidcustomization capability
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The visualization system transitions from static predefined views to dynamic customizable views. Users can configure model element mappings to change how code is presented without altering the underlying code structure. The system dynamically adapts the presentation layer based on user-defined mapping configurations, enabling both ease of use through configuration rather than programming and high customization capability.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system enables users to customize their own visualizations through configurable mapping mechanisms rather than requiring developer intervention or complex programming. Users can independently configure how model elements map to UI components, allowing them to tailor the visualization to their specific needs while maintaining ease of operation through a user-friendly configuration interface.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8336023B2Extensible code visualization
Publication Date: 2012.12.18 ORACLE INT CORP
  • US8336023B2 patent drawing
  • US8336023B2 patent drawing
  • US8336023B2 patent drawing

AI summary

A method, apparatus and computer program product for providing extensible code visualization are presented. Program code is received. A model is generated relating to the program code. The model is mapped to a user interface (UI) to produce a UI reflecting the program code. Changes made to the program code are reflected in the UI and changes made to the UI are reflected in the program code via the model.