IP Library › Granted Patent US 10,452,366
Granted Patent B2
US 10,452,366 · App. 15/303,340 · Granted Oct 22, 2019

Method and tool for engineering software architectures with its various software artifacts of complex cyber-physical systems of different technical domains

Inventors: Donny Thomas Daniel (Unterhaching, DE); Egon Wuchner (Biessenhofen, DE)
Assignee: SIEMENS AKTIENGESELLSCHAFT
G06F8/433G06F8/36G06F8/76
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 10,452,366
App. No.
15/303,340
Granted
Oct 22, 2019
Kind
B2
Abstract

In order to give architects engineering the software of software architectures with its various software artifacts of complex cyber-physical systems of different technical domains a powerful way to identify and control architecture erosion in codebases of the complex cyber-physical systems, a method or tool is provided that may (i) diagnose and categorize software artifacts dependencies in the software architectures of complex cyber-physical systems triggered by revisions or commits, (ii) relate changes in the diagnosed and categorized dependencies with change events on the software artifacts, e.g., those caused by at least one of enhancing the complex cyber-physical system with new features as required by market demands and fixing defects found in operation and/or raised during maintenance of the complex cyber-physical system, and (iii) represent the diagnosed and categorized dependencies and the related changes in the diagnosed and categorized dependencies.

Claims (55)

1. A method for managing a software architecture with various software artifacts of complex cyber-physical systems of different technical domains, the method comprising:

executing, by a computer processor, a software tool stored in non-transitory computer-readable media to:

a) extract dependencies of the software artifacts, wherein the dependencies are triggered by revisions or commits,

b) identifying and categorizing the extracted dependencies of the software artifacts triggered by revisions or commits,

c) detecting changes in the identified and categorized dependencies as the software architecture is changed by the revisions or commits,

d) providing relationships between the detected changes in the identified and categorized dependencies and change events on the software artifacts, wherein the change events are caused by enhancing the complex cyber-physical system with new features or fixing defects either found in operation or raised during maintenance of the complex cyber-physical system, and

e) displaying on a computer display device a representation of the identified and categorized dependencies and the related change events in the identified and categorized dependencies.

2. The method of claim 1 , comprising the computer processor executing to software tool to:

executing a dependency diagnosis process to diagnose for a single revision or commit the software artifacts dependencies, the software artifacts being considered as nodes and at least three node groups provided as per different diagnostic criteria, wherein the computer processor executing the dependency diagnosis process includes:

(i) receiving as input a graph G=<N,E>, where N is a set of nodes and E is a set of tuples (a,b) representing a dependency from a to b, when a,b ∈N, and

(ii) outputting, based on the graph G, at least three node sets, the three node sets including:

(a) a layered node set with layered nodes grouped by levels,

(b) a tangled node set with tangled nodes grouped due to “strongly connected components”, whereby the group encompasses all nodes participating in the tangled node set, and

(c) a context node set with context nodes grouped for reducing clutter and which do not require detailed dependency information to be represented.

3. The method of claim 1 , comprising the computer processor executing to software tool to:

executing a dependency diagnosis process to diagnose for a single revision or commit the software artifacts dependencies, the software artifacts being considered as nodes and at least three node groups provided as per different diagnostic criteria, wherein the computer processor executing the dependency diagnosis process includes:

(i) receiving as input a graph H=<N,E>, where N is a set of nodes and E is a set of tuples (a,b) representing a dependency from a to b, when a,b ∈N, and

(ii) outputting, based on the graph H, at least four node sets, the four node sets including:

(a) a layered node set with layered nodes grouped by levels,

(b) a tangled node set with tangled nodes grouped due to “strongly connected components”, whereby the group encompasses all nodes participating in the tangled node set,

(c) an independent node set with independent nodes not having an inherent ordering via dependency relations, and

(d) a context node set with context nodes grouped regarding a lower context, holding context nodes with only incoming dependencies and an upper context, having context nodes with only outgoing dependencies, for reducing clutter and which do not require detailed dependency information to be represented.

4. The method of claim 2 , wherein the nodes, the nodes groups, and the node sets are represented by a graphical representation representing in a single graph for each revision or commit on a user scrollable display via the computer display device, wherein the nodes are displayed as geometric figures, the node sets are displayed as subareas, and the dependencies between the nodes are displayed as arrows.

5. The method of claim 1 , wherein a variation of the dependencies over time is represented by a time bar representation.

6. The method of claim 5 , wherein the time bar representation includes representation control elements for indicating or marking playback control, revision information, progress of evolution information, and diagnostic events.

7. The method of claim 2 , wherein the nodes are colored based on a number of dependencies of each respective node.

8. The method of claim 1 , wherein each change in the identified and categorized dependencies is displayed in a separate diagram via the computer display device, in which changes from a previous diagram are highlighted in different colors.

9. A software tool stored in non-transitory computer-readable media and executable by a computer processor to manage software architectures with various software artifacts of complex cyber-physical systems of different technical domains, the software tool comprising:

a) a source repository analysis program module executable by the computer processor to:

a1) extract dependencies of the software artifacts, wherein the dependencies are triggered by revisions or commits,

a2) identify and categorize dependencies of the software artifacts triggered by revisions or commits,

a3) detect changes in the identified and categorized dependencies as the software architecture is changed by the revisions or commits, and

a4) provide relationships between the detected changes in the identified and categorized dependencies and change events on the software artifacts, wherein the change events are caused by enhancing the complex cyber-physical system with new features as required by market demands or fixing defects either found in operation or raised during maintenance of the complex cyber-physical system, and

b) a representation program module executable by the computer processor to display on a computer display device a representation of the identified and categorized dependencies and the change events in the identified and categorized dependencies, which are connected with the source repository analysis system.

10. The software tool of claim 9 , wherein the source repository analysis program module is connected to a version control system for the triggering of dependencies by the revisions or commits and to an issue/change event management system for relating the changes in the identified and categorized dependencies with the change events on the software artifacts.

11. The software tool of claim 9 , wherein the source repository analysis program module includes representational support system transforming data processed in the source repository analysis program module in a form usable by the representation program module designed as a workspace and interface for a user.

12. The software tool of claim 9 , wherein the source repository analysis program module includes an artifact analyzer and an analysis engine forming a first common functional unit executable by the computer processor to perform a dependency diagnosis process to diagnose for a single revision or commit the software artifacts dependencies, the software artifacts being considered as nodes and at least three node groups provided as per different diagnostic criteria, wherein execution of the dependency diagnosis process includes:

(i) receiving as input a graph G=<N,E>, where N is a set of nodes and E is a set of tuples (a,b) representing a dependency from a to b, when a,b ∈N, and

(ii) outputting, based on the graph G, to the representation program module at least three node sets including:

(a) a layered node set with layered nodes grouped by levels,

(b) a tangled node set with tangled nodes grouped due to “strongly connected components”, whereby the group encompasses all nodes participating in the tangled node set, and

(c) a context node set with context nodes grouped for reducing clutter and which do not require detailed dependency information to be represented.

13. The software tool of claim 9 , wherein the source repository analysis program module includes an artifact analyzer and an analysis engine forming a first common functional unit executable by the computer processor to perform a dependency diagnosis process to diagnose for a single revision or commit the software artifacts dependencies, the software artifacts being considered as nodes and at least three node groups provided as per different diagnostic criteria, wherein execution of the dependency diagnosis process includes:

(i) receiving as input a graph H=<N,E>, where N is a set of nodes and E is a set of tuples (a,b) representing a dependency from a to b, when a,b ∈N, and

(ii) outputting, based on the graph H, to the representation program module at least four node sets including:

(a) a layered node set with layered nodes grouped by levels,

(b) a tangled node set with tangled nodes grouped due to “strongly connected components”, whereby the group encompasses all nodes participating in the tangled node set,

(c) an independent node set with independent nodes not having an inherent ordering via dependency relations, and

(d) a context node set with context nodes grouped regarding a lower context, holding context nodes with only incoming dependencies and an upper context, having context nodes with only outgoing dependencies, for reducing clutter and which do not require detailed dependency information to be represented.

14. The software tool of claim 12 , wherein the representation program module includes a graphical representation generator and a unit supporting representations forming a second common functional unit executable to represent the nodes, the nodes groups, and the node sets in a single graph for each revision or commit on a user scrollable display, wherein the nodes are displayed as geometric figures, the node sets are displayed as subareas, and the dependencies between the nodes are displayed as arrows.

15. The software tool of claim 9 , wherein the representation program module is configured to represent a variation of the dependencies over time using a time bar representation.

16. The software tool of claim 15 , wherein the time bar representation includes representation control elements for indicating or marking playback control, revision information, progress of evolution information, and diagnostic events.

17. The software tool of claim 12 , wherein the representation program module is configured to color-code the nodes based on a number of dependencies of each respective node.

18. The software tool of claim 9 , wherein the representation program module is configured to display each change in the identified and categorized dependencies in a separate diagram, and wherein in which changes from a previous diagram are highlighted in different colors.

19. The software tool of claim 9 , wherein the representation program module is configured to display a user-scrollable display via the computer display device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 18, 2016
From: DANIEL, DONNY THOMAS; WUCHNER, EGON
To: SIEMENS AKTIENGESELLSCHAFT
Reel/Frame 040366/0939 →
Priority Claims (1)
EP 14164745 · Apr 15, 2014 · regional
Continuity (1)
Related Publication 20170031663A1 · Feb 2, 2017
Cited By (2)
US 12,530,330 US 12,705,261