IP Library Granted Patent US 7,849,439
Granted Patent B2
US 7,849,439 · App. 11/038,597 · Granted Dec 7, 2010

Application-generic sequence diagram generator driven by a non-proprietary language

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,849,439
App. No.
11/038,597
Granted
Dec 7, 2010
Kind
B2
Abstract

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.

Claims (40)

1. A system for generating sequence diagrams for communications protocol transactions independently of domain-specific encoding of data for said transactions, the system comprising:

an application-generic sequence diagram generator, wherein said application-generic sequence diagram generator includes:

a parser that dynamically receives data comprising message packets captured by a protocol analyzer application; and

a rendering engine that generates a sequence diagram representing a flow described by said received data, wherein the sequence diagram includes a graphical representation of a series of transactions between two or more actors, wherein the actors comprise entities that exchange message packets in communications protocol transactions and wherein:

each of the two or more actors is represented by a vertical line;

time is represented by a vertical progression down the vertical lines;

transactions are represented by message packets exchanged between the two or more actors; and

message packets are represented by directional horizontal lines between the vertical lines of actors and a label corresponding to each directional horizontal line denotes the message packet being transmitted; and

wherein said rendering engine includes an application programming interface (API) that presents an abstraction for drawing sequence diagrams independent of domain-specific applications and wherein said parser maps between domain-specific encoding in said received data and the API presented by the rendering engine.

2. The system of claim 1 wherein said received data is in a non-proprietary language.

3. The system of claim 2 wherein said non-proprietary language comprises Extensible Markup Language (XML).

4. The system of claim 1 wherein said parser includes a source parser reads said received data and builds an internal data model representing diagram metadata.

5. The system of claim 4 wherein said source parser identifies, in said received data described actors and a sequence of message packets communicated between the actors.

6. The system of claim 5 wherein said internal data model includes said diagram metadata corresponding to the identified actors and sequence of message packets.

7. The system of claim 4 wherein said parser includes a diagram parser operable to process said internal data model and generate corresponding drawing commands.

8. The system of claim 7 wherein said rendering engine receives said drawing commands and generates said sequence diagram representing said flow described by said received data.

9. The system of claim 8 wherein said sequence diagram is provided via a graphical user interface that allows a user to edit said received data on-screen and generate another sequence diagram on demand that reflects a change made to said received data.

10. A method for automatically generating updated sequence diagrams for communications protocol transactions in response to user changes to sequence diagram source data, the method comprising:

in a computer:

loading a textual source file into an intermediate variable and displaying content of the intermediate variable in a graphical user interface as editable text, wherein said textual source file is in non-proprietary language and describes a flow for a communications protocol generated by a software application;

building, by a source parser executed by the computer and based upon said intermediate variable, a data model for a diagram of said flow described by said textual source file;

generating, by a diagram parser executed by the computer and based on said data model, corresponding drawing commands;

responsive to said drawing commands, rendering by a rendering engine executed by the computer a sequence diagram representing said flow described by said intermediate variable as editable text, wherein the sequence diagram includes a graphical representation of a series of transactions between two or more actors, wherein the actors comprise entities that exchange message packets in communications protocol transactions and wherein:

each of the two or more actors is represented by a vertical line;

time is represented by a vertical progression down the vertical lines;

transactions are represented by message packets exchanged between the two or more actors; and

message packets are represented by directional horizontal lines between the vertical lines of actors and a label corresponding to each directional horizontal line denotes the message packet being transmitted;

allowing a user to edit said content of said intermediate variable via said graphical user interface; and

generating, by said diagram parser and based upon said edited content of said intermediate variable, an updated sequence diagram reflecting a change made by said user.

11. The method of claim 10 wherein said non-proprietary language comprises a markup language.

12. The method of claim 10 wherein said non-proprietary language comprises Extensible Markup Language (XML).

13. The method of claim 10 wherein said textual source file is independent of said software.

14. The method of claim 10 wherein said building said data model by said source parser comprises:

identifying in said intermediate variable described actors and sequence of message packets communicated between the actors.

15. The method of claim 14 wherein said building said data model by said source parser further comprises:

including in said data model information corresponding to the identified actors and sequence of message packets.

16. The method of claim 10 wherein said source parser, diagram parser, and rendering engine are operable to generate said sequence diagram representing the flow of any software application described in said textual source file.

17. The method of claim 10 wherein said receiving into said source parser said textual source file comprises:

receiving at least one textual source file into said source parser responsive to a command-line command.

18. A computer program which is executed in the computer and which, while being executed, performs the method of claim 10 .

Assignments (7)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 19, 2018
From: KEYSIGHT TECHNOLOGIES SINGAPORE (HOLDINGS) PTE. LTD.
To: KEYSIGHT TECHNOLOGIES SINGAPORE (SALES) PTE. LTD.
Reel/Frame 048225/0065 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2017
From: IXIA
To: KEYSIGHT TECHNOLOGIES SINGAPORE (HOLDINGS) PTE. LTD.
Reel/Frame 044222/0695 →
RELEASE OF SECURITY INTEREST Recorded Apr 26, 2017
From: SILICON VALLEY BANK, AS SUCCESSOR ADMINISTRATIVE AGENT
To: IXIA
Reel/Frame 042335/0465 →
NOTICE OF SUBSTITUTION OF ADMINISTRATIVE AGENT Recorded Feb 2, 2015
From: BANK OF AMERICA, N.A., RESIGNING ADMINISTRATIVE AGENT
To: SILICON VALLEY BANK, AS SUCCESSOR ADMINISTRATIVE AGENT
Reel/Frame 034870/0598 →
SECURITY AGREEMENT Recorded Jan 25, 2013
From: IXIA
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 029698/0060 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 30, 2009
From: AGILENT TECHNOLOGIES, INC.
To: IXIA
Reel/Frame 023574/0675 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2005
From: GREEN, KENNETH M.
To: AGILENT TECHNOLOGIES
Reel/Frame 016217/0137 →