XML-Driven Sequence Diagram Generator for Automated Software Flow Visualization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing automatic sequence diagram generation tools are often restricted to specific applications, require proprietary languages, and lack flexibility and command-line operation, making them burdensome to create and maintain, especially for general-purpose diagram generation.

Innovation Solution

A system and method using a non-proprietary markup language like XML to generate sequence diagrams, comprising a source parser, diagram parser, and rendering engine, allowing for the creation of general-purpose sequence diagrams that can represent any application's flow without requiring users to learn proprietary languages.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual creation methods (bitmap editors, diagramming tools, CASE tools) are used to generate sequence diagrams, then the diagrams can be created with proper licensing and tool support, but the time and labor required for creation and maintenance increases significantly

Engineering Contradiction:
Improvetool supportVSAvoidcreation and maintenance time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system enables sequence diagrams to generate themselves automatically from source code through integrated parsing and rendering components, eliminating the need for manual creation and reducing maintenance overhead when source code changes

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces the mechanical manual process of drawing sequence diagrams with an automated computational system that parses source code and generates diagrams programmatically, substituting human effort with algorithmic processing

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

2Manufacturing precision

If application-specific tools (e.g., Java source code generator) are used, then the tool can be optimized for that specific application type, but the tool lacks flexibility to generate sequence diagrams for other application types

Engineering Contradiction:
Improvegeneration accuracyVSAvoidapplication type flexibility
Core Design Contradiction:
Manufacturing precisionVSAdaptability or versatility

Solution Approach 1:

The patent creates a universal sequence diagram generator that can process multiple application types through a single platform. The system uses language-agnostic parsing capabilities and configurable rendering options to generate sequence diagrams for different programming languages and application domains, eliminating the need for separate application-specific tools

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

3Ease of manufacture

If proprietary languages are required for input, then the tool can provide specialized syntax for sequence diagram generation, but users must learn and remember the proprietary language syntax

Engineering Contradiction:
Improvediagram generation capabilityVSAvoiduser operation simplicity
Core Design Contradiction:
Ease of manufactureVSEase of operation

Solution Approach 1:

The patent introduces source code itself as an intermediary between the user's application logic and the sequence diagram output. Instead of requiring users to learn a proprietary diagram description language, the system uses the existing source code as input, which users already understand, and automatically translates it into sequence diagrams through parsing and analysis

Inventive Principle:
Principle #24Intermediary (Mediator)

4Productivity

If automatic diagram generation tools are developed, then the requirement for manual creation is alleviated, but the tools often lack command-line operation capability and integration into automation processes

Engineering Contradiction:
Improvediagram generation efficiencyVSAvoidautomation integration capability
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent replaces interactive graphical tool operation with command-line interface-based automation. The system accepts source code files as input via command-line parameters and outputs sequence diagrams automatically, enabling integration into build processes, continuous integration pipelines, and automated documentation workflows without requiring manual tool invocation

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

Data Source

PatentUS7849439B2Application-generic sequence diagram generator driven by a non-proprietary language
Publication Date: 2010.12.07 KEYSIGHT TECH SINGAPORE (SALES) PTE LTD
  • US7849439B2 patent drawing
  • US7849439B2 patent drawing
  • US7849439B2 patent drawing

AI summary

An application-generic sequence diagram generator is driven by a non-proprietary language. According to one embodiment, a source file describes, in a non-proprietary language, a flow (e.g., a message exchange) of an application. An automatic sequence diagram generator is operable to receive as input the source file, and generate, based on such source file, a sequence diagram representing the flow described by the source file. In an exemplary embodiment, the non-proprietary language is a markup language, such as Extensible Markup Language (XML). The sequence diagram generator is general purpose (or “application-generic”), as it can generate a sequence diagram representing the flow of any application described in the source file. The application for which the source file describes the flow may be any type of application, including without limitation a computer-executable software application, a communication protocol, or any message exchange between actors.