Interactive layered visualization of a layered software architecture

US9716632B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9716632-B2
Application numberUS-86221610-A
CountryUS
Kind codeB2
Filing dateAug 24, 2010
Priority dateAug 24, 2010
Publication dateJul 25, 2017
Grant dateJul 25, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A system to generate an interactive layered visualization of a software system includes a storage device to storage a model of the system that defines entities and relationships among entities. The system also includes a visualization tool to generate nodes representing the entities and assign nodes to layers in a set of ordered layers in accordance with rules associated with each layer. A layered layout of the software system is thereby generated and an interactive visualization of the layered layout is rendered for display to the user.

First claim

Opening claim text (preview).

What is claimed is: 1. A system to generate a layered visualization of a software system, the system comprising: a storage device to store a model of a software system, the model defining a plurality of entities of the software system and relationships among the entities; at least one processor; and a visualization tool executable on the at least one processor to: generate nodes representing the entities of the software system model; assign the generated nodes to layers in a set of ordered layers in accordance with rules associated with the layers to generate a layered layout, including the layers, of the software system, wherein the assigning includes evaluating, for a given one of the nodes, the rules and determining that the given node satisfies a particular one of the rules, the given node being assigned to the layer associated with the particular rule; render an interactive visualization of the layered layout for display; receive importance levels for respective ones of the nodes, wherein at least two of the importance levels are different; and group at least some of the nodes into a group node in the interactive visualization according to the importance levels of the nodes. 2. The system as recited in claim 1 , wherein the visualization tool is further executable to: determine a hierarchical structure of the software system based on the relationships among the entities, and calculate edges interconnecting the generated nodes based on the hierarchical structure, wherein the layered layout includes the edges, and wherein the edges point from nodes in upper layers of the layered layout towards nodes in lower layers of the layered layout. 3. The system as recited in claim 2 , wherein, in response to a user input, the visualization tool is executable to re-assign the generated nodes to a different set of ordered layers in accordance with the rules associated with the layers of the different set, wherein the different set of ordered layers maintains the hierarchical structure. 4. The system as recited in claim 1 , wherein the visualization tool further includes a perspectives module to define a view for the interactive visualization, wherein the view specifies levels of detail to display in the interactive visualization, and wherein the visualization tool is executable to render the interactive visualization of the layered layout in accordance with the view. 5. The system as recited in claim 4 , wherein the visualization tool is executable to collapse nodes assigned to a same layer into another group node based on specified levels of detail associated with the collapsed nodes. 6. The system as recited in claim 4 , wherein the view further specifies entity relationships to display in the interactive visualization, and wherein the visualization tool is executable to exclude nodes from the interactive visualization in accordance with the view. 7. The system as recited in claim 2 , wherein the visualization tool is executable to reposition a selected node within the corresponding layer in response to a user interaction with the interactive visualization. 8. The system as recited in claim 1 , wherein the visualization tool is executable to expand the group node in response to a user interaction with the interactive visualization. 9. The system as recited in claim 1 , wherein the assigning further includes evaluating, for a second one of the nodes, the rules and determining that the second node satisfies a second one of the rules, wherein the second node is assigned to another of the layers associated with the second rule. 10. The system as recited in claim 1 , wherein the importance levels for respective ones of the nodes comprise respective numerical values. 11. The system as recited in claim 1 , wherein the visualization tool is executable to receive the importance levels prior to performing the grouping of the at least some of the nodes into the group node. 12. An article comprising a non-transitory computer-accessible storage medium containing instructions of software code that, when executed by a computer processing device, cause the computer processing device to: construct a graph of a software system based on information associated with a model of the software system, the model defining entities of the software system and relationships among the entities, the graph including nodes representing the entities and edges representing the relationships; divide, by a visualization tool, the nodes into layers in accordance with rules associated with the layers; identify, by the visualization tool, a hierarchical structure of the software system based on the relationships; compute, by the visualization tool, an ordered layout of the nodes in the layers and the edges in accordance with the hierarchical structure, wherein the edges point from nodes in upper layers towards nodes in lower layers; render, by the visualization tool, the ordered layout including the layers including the divided nodes to generate an interactive visualization for display; receive, by the visualization tool, importance levels for respective ones of the nodes, wherein at least two of the importance levels are different; and group, by the visualization tool, at least some of the nodes into a group node in the interactive visualization according to the importance levels of the nodes. 13. The article as recited in claim 12 , wherein the instructions further cause the processing device to compute the ordered layout by filtering from the ordered layout entities and details in accordance with a perspective defined by a user. 14. The article as recited in claim 13 , wherein the instructions further cause the processing device to filter details by excluding nodes from the ordered layout based on relationships of the excluded nodes with other nodes. 15. The article as recited in claim 12 , wherein, in response to a user input, the instructions further cause the processing device to: re-divide the nodes into different layers in accordance with rules associated with the different layers; re-compute the ordered layout while preserving the hierarchical structure; and render the re-computed ordered layout to generate a different interactive visualization for display. 16. The article as recited in claim 12 , wherein the instructions further cause the processing device to reposition a selected node within the corresponding layer in response to a user interaction with the interactive visualization. 17. The article as recited in claim 12 , wherein the dividing comprises: evaluating, for a given one of the nodes, the rules; determining whether the given node satisfies a particular one of the rules; and assign the given node to the layer associated with the particular rule. 18. The article as recited in claim 12 , wherein the importance levels for respective ones of the nodes comprise respective numerical values. 19. The article as recited in claim 12 , wherein receiving the importance levels is performed before the grouping of the at least some of the nodes into the group node. 20. A method comprising: generating a visualization of a software system from a software system model stored in a repository, the software system model defining entities and relationships among the entities, wherein the generating of the visualization of the software system is performed by executing machine-readable instructions on at least one processor, and comprises: generating nodes representing the entities of the model to be visualized; generating edges interconne

Assignees

Inventors

Classifications

  • comprising specially adapted graphical user interfaces [GUI] · CPC title

  • G06F3/0482Primary

    Interaction with lists of selectable items, e.g. menus · CPC title

  • by actively collecting configuration information or by backing up configuration information · CPC title

  • Discovery or management of network topologies · CPC title

  • H04L41/14Primary

    Network analysis or design · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9716632B2 cover?
A system to generate an interactive layered visualization of a software system includes a storage device to storage a model of the system that defines entities and relationships among entities. The system also includes a visualization tool to generate nodes representing the entities and assign nodes to layers in a set of ordered layers in accordance with rules associated with each layer. A laye…
Who is the assignee on this patent?
Novak Miroslav, Regner Albert, Rubas Roman, and 1 more
What technology area does this patent fall under?
Primary CPC classification G06F3/0482. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 25 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).