DE102022130493A1 - Computer-implemented method, apparatus and computer program for selecting signal paths of a graph-based network to be validated - Google Patents

Computer-implemented method, apparatus and computer program for selecting signal paths of a graph-based network to be validated Download PDF

Info

Publication number
DE102022130493A1
DE102022130493A1 DE102022130493.0A DE102022130493A DE102022130493A1 DE 102022130493 A1 DE102022130493 A1 DE 102022130493A1 DE 102022130493 A DE102022130493 A DE 102022130493A DE 102022130493 A1 DE102022130493 A1 DE 102022130493A1
Authority
DE
Germany
Prior art keywords
signal
signal paths
paths
signals
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102022130493.0A
Other languages
German (de)
Inventor
Sebastian Grasreiner
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bayerische Motoren Werke AG
Original Assignee
Bayerische Motoren Werke AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bayerische Motoren Werke AG filed Critical Bayerische Motoren Werke AG
Priority to DE102022130493.0A priority Critical patent/DE102022130493A1/en
Publication of DE102022130493A1 publication Critical patent/DE102022130493A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3608Software analysis for verifying properties of programs using formal methods, e.g. model checking, abstract interpretation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Ausführungsbeispiele der vorliegenden Erfindung beziehen sich auf ein Computerimplementiertes Verfahren, auf eine Vorrichtung und auf ein Computerprogramm zur Auswahl von Signalpfaden eines zu validierenden graphenbasierten Netzwerks. Das Verfahren umfasst ein Erhalten (110) von Informationen über eine Mehrzahl von Eingabesignalen und eine Mehrzahl von Ausgabesignalen des zu validierenden graphenbasierten Netzwerks. Das Verfahren umfasst ferner ein Berechnen (120), für die Mehrzahl von Eingabesignalen und die Mehrzahl von Ausgabesignalen, einer Anzahl von internen Signal-Teilstrecken zwischen dem jeweiligen Eingabesignal und dem jeweiligen Ausgabesignal, falls ein Signalpfad zwischen dem jeweiligen Eingabesignal und Ausgabesignal existiert. Das Verfahren umfasst ferner ein Berechnen (130), mittels einer Statistikfunktion, für die Mehrzahl von Eingabesignalen und/oder die Mehrzahl von Ausgabesignalen, eines statistischen Werts, der die Signalpfade zwischen einem Eingabesignal und der Mehrzahl von Ausgabesignalen oder die Signalpfade zwischen einem Ausgabesignal und der Mehrzahl von Eingabesignalen repräsentiert. Das Verfahren umfasst ferner ein Auswählen (140), basierend auf besonders hohen und/oder besonders niedrigen statistischen Werten, ein oder mehrerer Eingabesignale und/oder Ausgabesignale, für die die besonders hohen oder niedrigen statistischen Werte berechnet wurden. Das Verfahren umfasst ferner ein Bereitstellen (190) einer Information über zu validierende Signalpfade, wobei die Signalpfade basierend auf den ausgewählten ein oder mehreren Eingabesignalen und/oder Ausgabesignalen ausgewählt wurden.Embodiments of the present invention relate to a computer-implemented method, to a device and to a computer program for selecting signal paths of a graph-based network to be validated. The method comprises obtaining (110) information about a plurality of input signals and a plurality of output signals of the graph-based network to be validated. The method further comprises calculating (120), for the plurality of input signals and the plurality of output signals, a number of internal signal sections between the respective input signal and the respective output signal, if a signal path exists between the respective input signal and output signal. The method further comprises calculating (130), by means of a statistical function, for the plurality of input signals and/or the plurality of output signals, a statistical value that represents the signal paths between an input signal and the plurality of output signals or the signal paths between an output signal and the plurality of input signals. The method further comprises selecting (140), based on particularly high and/or particularly low statistical values, one or more input signals and/or output signals for which the particularly high or low statistical values were calculated. The method further comprises providing (190) information about signal paths to be validated, wherein the signal paths were selected based on the selected one or more input signals and/or output signals.

Description

Ausführungsbeispiele der vorliegenden Erfindung beziehen sich auf ein Computerimplementiertes Verfahren, auf eine Vorrichtung und auf ein Computerprogramm zur Auswahl von Signalpfaden eines zu validierenden graphenbasierten Netzwerks.Embodiments of the present invention relate to a computer-implemented method, a device and a computer program for selecting signal paths of a graph-based network to be validated.

Komplexe Signalnetze sind eine Möglichkeit, Softwarefunktionen mit ihren internen Abhängigkeiten darzustellen, wie sie etwa bei der Dokumentation für die Zulassung von Fahrzeugen in den USA notwendig ist. Dabei werden die komplexen Signalnetzwerke verwendet, um Datenabhängigkeiten zwischen Signalen, und insbesondere zwischen Eingabesignalen und Ausgabesignalen, modellhaft zusammenzufassen. Zu den Anwendungen zählen etwa die zuvor genannte Analyse zum Zwecke der Zulassung, aber auch die Verbesserung der Software-Architektur, die Absicherung von Einflüssen auf die Funktionssicherheit und das Testmanagement von neuen Softwarefunktionen.Complex signal networks are a way of representing software functions with their internal dependencies, as is necessary, for example, in the documentation for the approval of vehicles in the USA. The complex signal networks are used to summarize data dependencies between signals, and in particular between input signals and output signals, in a model. Applications include the aforementioned analysis for the purpose of approval, but also the improvement of the software architecture, the safeguarding of influences on functional safety and the test management of new software functions.

Wenn ein umfangreiches Signalnetz bzgl. seiner Verbindungen und Abhängigkeiten ausgewertet werden soll, kann oder sollte vorab eine ausreichende Validierung seiner enthaltenen Information im Erstellungsprozess des Signalnetzes erfolgen (unabhängig von der genauen Art der Erstellung oder konkreten weiteren Verwendung). Eine Komplettabsicherung des Signalnetzes ist aus Zeit- und Ressourceneinschänkungen sowie Praktikabilität nicht möglich, da zumeist mehrere Millionen Verbindungen abgesichert werden müssten.If a large signal network is to be evaluated in terms of its connections and dependencies, sufficient validation of the information it contains can or should be carried out in advance during the signal network creation process (regardless of the exact type of creation or specific further use). Complete protection of the signal network is not possible due to time and resource constraints and practical reasons, as several million connections would usually have to be secured.

Es ist somit das Ziel, eine ausreichend große und robuste Absicherungsbreite des Signalnetzes zu erzeugen, so dass man dem Signalnetz während der nachfolgenden Analyse in seiner Aussagekraft vertrauen kann.The aim is therefore to create a sufficiently large and robust security width of the signal network so that the signal network can be trusted in its informative value during the subsequent analysis.

Diesem Bedarf tragen das computerimplementierte Verfahren, die Vorrichtung sowie das Computerprogramm gemäß der unabhängigen Ansprüche Rechnung.The computer-implemented method, the device and the computer program according to the independent claims take this need into account.

Die vorliegende Erfindung basiert auf der Erkenntnis, dass eine statistische Auswertung der Pfadlängen von Signalpfaden in einem zu validierenden Signalnetzwerk einen nützlichen Ausgangspunkte für die Reduzierung der Anzahl von zu validierenden Signalpfaden bietet, der, bei einer erheblichen Reduzierung der zu validierenden Signalpfade, eine große und robuste Absicherungsbreite des Signalnetzes mit sich bringt. Dabei werden, ausgehend von den Eingabesignalen und Ausgabesignalen des zu validierenden Signalnetzes, Eingabesignale und Ausgabesignale ausgewählt, bei denen die berechneten statistischen Werte besonders hoch oder besonders niedrig sind. Ausgehend von diesen Eingabesignalen und/oder Ausgabesignalen können nun (mit den Eingabesignalen und/oder Ausgabesignalen verknüpfte) Signalpfade für die Validierung ausgewählt werden. Zusätzliche Techniken, wie die Berechnung eines Pfadindex oder einer Pfadkodierung, können diese Vorauswahl weiter konkretisieren. Als Resultat ergibt sich eine Auswahl von Signalpfaden, die eine große und robuste Absicherungsbreite des Signalnetzes mit sich bringt, bei einem erheblich reduzierten Validierungsaufwand.The present invention is based on the finding that a statistical evaluation of the path lengths of signal paths in a signal network to be validated offers a useful starting point for reducing the number of signal paths to be validated, which, with a significant reduction in the number of signal paths to be validated, brings with it a large and robust security range of the signal network. Based on the input signals and output signals of the signal network to be validated, input signals and output signals are selected for which the calculated statistical values are particularly high or particularly low. Based on these input signals and/or output signals, signal paths (linked to the input signals and/or output signals) can now be selected for validation. Additional techniques, such as calculating a path index or path coding, can further specify this preselection. The result is a selection of signal paths that brings with it a large and robust security range of the signal network, with a significantly reduced validation effort.

Ein Aspekt der vorliegenden Erfindung bezieht sich auf ein computerimplementiertes Verfahren zur Auswahl von Signalpfaden eines zu validierenden graphenbasierten Netzwerks. Beispielsweise kann das graphenbasierte Netzwerk eine Funktionalität eines Steuergeräts eines Fahrzeugs abbilden. Das Verfahren umfasst ein Erhalten von Informationen über eine Mehrzahl von Eingabesignalen und eine Mehrzahl von Ausgabesignalen des zu validierenden graphenbasierten Netzwerks. Das Verfahren umfasst ferner ein Berechnen, für die Mehrzahl von Eingabesignalen und die Mehrzahl von Ausgabesignalen, einer Anzahl von internen Signal-Teilstrecken zwischen dem jeweiligen Eingabesignal und dem jeweiligen Ausgabesignal, falls ein Signalpfad zwischen dem jeweiligen Eingabesignal und Ausgabesignal existiert. Das Verfahren umfasst ferner ein Berechnen, mittels einer Statistikfunktion, für die Mehrzahl von Eingabesignalen und/oder die Mehrzahl von Ausgabesignalen, eines statistischen Werts, der die Signalpfade zwischen einem Eingabesignal und der Mehrzahl von Ausgabesignalen oder die Signalpfade zwischen einem Ausgabesignal und der Mehrzahl von Eingabesignalen repräsentiert. Das Verfahren umfasst ferner ein Auswählen, basierend auf besonders hohen und/oder besonders niedrigen statistischen Werten, ein oder mehrerer Eingabesignale und/oder Ausgabesignale, für die die besonders hohen oder niedrigen statistischen Werte berechnet wurden. Das Verfahren umfasst ferner ein Bereitstellen einer Information (zur Klassifizierung) über zu validierende Signalpfade, wobei die Signalpfade basierend auf den ausgewählten ein oder mehreren Eingabesignalen und/oder Ausgabesignalen ausgewählt wurden. Die hier ausgewählten Signalpfade können nun für die Validierung verwendet werden.One aspect of the present invention relates to a computer-implemented method for selecting signal paths of a graph-based network to be validated. For example, the graph-based network can map a functionality of a control unit of a vehicle. The method comprises obtaining information about a plurality of input signals and a plurality of output signals of the graph-based network to be validated. The method further comprises calculating, for the plurality of input signals and the plurality of output signals, a number of internal signal sections between the respective input signal and the respective output signal, if a signal path exists between the respective input signal and output signal. The method further comprises calculating, by means of a statistical function, for the plurality of input signals and/or the plurality of output signals, a statistical value that represents the signal paths between an input signal and the plurality of output signals or the signal paths between an output signal and the plurality of input signals. The method further comprises selecting, based on particularly high and/or particularly low statistical values, one or more input signals and/or output signals for which the particularly high or low statistical values were calculated. The method further comprises providing information (for classification) about signal paths to be validated, wherein the signal paths were selected based on the selected one or more input signals and/or output signals. The signal paths selected here can now be used for validation.

Insbesondere kann als Statistikfunktion eine Berechnung des Variationskoeffizienten verwendet werden. In anderen Worten kann ausgehend von einem Eingabesignal oder einem Ausgabesignal der Variationskoeffizient über die Länge der Signalpfade (d.h. die Anzahl von internen Signal-Teilstrecken) zu den mit diesem Eingabesignal verbundenen Ausgabesignalen oder Eingabesignalen berechnet werden. Der Variationskoeffizient hat sich in Versuchen als geeignetes Auswahlkriterium erwiesen.In particular, a calculation of the coefficient of variation can be used as a statistical function. In other words, starting from an input signal or an output signal, the coefficient of variation can be calculated over the length of the signal paths (i.e. the number of internal signal sections) to the output signals or input signals connected to this input signal. The coefficient of variation has proven to be a suitable selection criterion in tests.

Dabei kann, bei der Auswahl der Eingabesignale und/oder Ausgabesignale, ein statistischer Wert als besonders hoch oder besonders niedrig gelten, falls der statistische Wert unter den n höchsten oder m niedrigsten statistischen Werten liegt, wobei n und m vordefinierte positive Ganzzahlen sind. Alternativ oder zusätzlich kann ein statistischer Wert als besonders hoch gelten, wenn der statistische Wert zumindest 95% des höchsten statistischen Werts erreicht und/oder wobei ein statistischer Wert als besonders niedrig gilt, wenn der statistische Wert höchstens 105% des niedrigsten statistischen Werts erreicht. Beides sind geeignete Ansätze zur Identifikation von besonders hohen oder niedrigen statistischen Werten.When selecting the input signals and/or output signals, a statistical value can be considered particularly high or particularly low if the statistical value is among the n highest or m lowest statistical values, where n and m are predefined positive integers. Alternatively or additionally, a statistical value can be considered particularly high if the statistical value reaches at least 95% of the highest statistical value and/or a statistical value can be considered particularly low if the statistical value reaches at most 105% of the lowest statistical value. Both are suitable approaches for identifying particularly high or low statistical values.

Je nach Anwendungsfall kann es sinnvoll sein, die Ausgangsmenge von Eingabe- und Ausgabesignalen im Vorhinein einzuschränken. Beispielsweise können die Mehrzahl von Eingabesignalen und die Mehrzahl von Ausgabesignalen durch einen Benutzer ausgewählte Signale unter der Gesamtheit der Eingabesignale und Ausgabesignale des graphenbasierten Netzwerks sein. Dies ermöglicht a priori eine Einschränkung der zu validierenden Signalpfade.Depending on the use case, it may be useful to restrict the set of input and output signals in advance. For example, the majority of input signals and the majority of output signals can be signals selected by a user from the totality of input signals and output signals of the graph-based network. This allows an a priori restriction of the signal paths to be validated.

Ausgehend von den ausgewählten Eingabe- und/oder Ausgabesignalen können nun Signalpfade ermittelt werden, die die Grundlage für die weiteren Auswahlfilter bieten. Das Verfahren kann ein Bestimmen einer Mehrzahl von Signalpfaden basierend auf den ausgewählten ein oder mehreren Eingabesignalen und/oder Ausgabesignalen umfassen. Dabei beginnen die Signalpfade der Mehrzahl von Signalpfaden mit einem der ausgewählten Eingabesignale oder terminieren mit einem der ausgewählten Ausgabesignale. Das Verfahren kann nun ein Auswählen der Signalpfade für die Information über zu validierende Signalpfade unter der Mehrzahl von Signalpfaden umfassen. In anderen Worten werden ausgehend von den ausgewählten Eingabe- und/oder Ausgabesignale Signalpfade identifiziert, die mit den ausgewählten Eingabe- und/oder Ausgabesignalen zusammenhängen. Dies bietet die Grundlage für die nachfolgende Auswahl.Based on the selected input and/or output signals, signal paths can now be determined that provide the basis for the further selection filters. The method can include determining a plurality of signal paths based on the selected one or more input signals and/or output signals. The signal paths of the plurality of signal paths start with one of the selected input signals or terminate with one of the selected output signals. The method can now include selecting the signal paths for the information about signal paths to be validated from the plurality of signal paths. In other words, based on the selected input and/or output signals, signal paths are identified that are related to the selected input and/or output signals. This provides the basis for the subsequent selection.

Die weitere Auswahl kann nun auf einer Maßzahl basieren. Das Verfahren kann ein Berechnen, für die Mehrzahl von Signalpfaden, einer Maßzahl, die den jeweiligen Signalpfad charakterisiert, umfassen. Dabei kann die Maßzahl auf zumindest einem der Anzahl von internen Signal-Teilstrecken des jeweiligen Signalpfads, einer Anzahl von internen Signaleingängen, die zu dem Signalpfad beitragen, und einer Anzahl von internen Signalausgängen basieren. Das Verfahren kann ein Sortieren der Mehrzahl von Signalpfaden gemäß der Maßzahl, und Auswählen der Signalpfade unter der Mehrzahl von Signalpfaden für die Information über zu validierende Signalpfade basierend auf der Sortierung umfassen. Die Maßzahl erlaubt die Identifikation von ähnlichen Signalpfaden, unter denen einer oder einige wenige zur Validierung ausgewählt werden können.The further selection can now be based on a metric. The method can include calculating, for the plurality of signal paths, a metric that characterizes the respective signal path. The metric can be based on at least one of the number of internal signal sections of the respective signal path, a number of internal signal inputs that contribute to the signal path, and a number of internal signal outputs. The method can include sorting the plurality of signal paths according to the metric and selecting the signal paths among the plurality of signal paths for the information about signal paths to be validated based on the sorting. The metric allows the identification of similar signal paths, among which one or a few can be selected for validation.

Um die Auswahl weiter zu unterstützen, kann auch ein teilweise manuelles Verfahren verwendet werden, das von einer automatisierten, grafischen Kodierung der Signalpfade unterstützt wird. Das Verfahren kann ein Erstellen einer grafischen Repräsentation für die Teilstrecken der jeweiligen Signalpfade zwischen Eingangssignal und Ausgangssignal umfassen (im Folgenden auch Pfadkodierung genannt). Dabei kann die grafische Repräsentation der Teilstrecken zumindest auf einem Verhältnis zwischen internen Signaleingängen und internen Signalausgängen der jeweiligen Teilstrecke basieren. Ferner kann die grafische Repräsentation der Teilstrecken auf der absoluten Anzahl an internen Signaleingängen und/oder internen Signalausgängen basieren. Das Verfahren kann ferner ein Berechnen einer grafischen Übersicht der Mehrzahl von Signalpfaden, sortiert gemäß der Maßzahl, basierend auf der grafischen Repräsentation der Teilstrecken, und Bereitstellen der Information über die zu validierenden Signalpfade mit der grafischen Übersicht der Mehrzahl von Signalpfaden. Eine solche Darstellung kann von einem Experten genutzt werden, um unter den verbliebenen Signalpfaden geeignete Signalpfade zur Validierung auszuwählen.To further support the selection, a partially manual method can also be used, which is supported by an automated, graphical coding of the signal paths. The method can include creating a graphical representation for the sections of the respective signal paths between the input signal and the output signal (hereinafter also referred to as path coding). The graphical representation of the sections can be based at least on a ratio between internal signal inputs and internal signal outputs of the respective section. Furthermore, the graphical representation of the sections can be based on the absolute number of internal signal inputs and/or internal signal outputs. The method can also include calculating a graphical overview of the plurality of signal paths, sorted according to the metric based on the graphical representation of the sections, and providing the information about the signal paths to be validated with the graphical overview of the plurality of signal paths. Such a representation can be used by an expert to select suitable signal paths for validation from the remaining signal paths.

Zusätzlich, oder alternativ dazu, können auch Signal-Teilstrecken automatisiert ausgewählt werden, die besonders häufig verwendet werden. Das Verfahren kann ein Auswählen, unter der Mehrzahl von Signalpfaden, von Signal-Teilstrecken, die in mehreren Signalpfaden enthalten sind, umfassen. Das Verfahren kann ein Auswählen der Signalpfade unter der Mehrzahl von Signalpfaden für die Information über zu validierende Signalpfade basierend auf den ausgewählten Signal-Teilstrecken umfassen. Beispielsweise können basierend auf den ausgewählten Signal-Teilstrecken ein oder mehrere Signalpfade ermittelt werden, die die ausgewählten Signal-Teilstrecken umfassen.Additionally or alternatively, signal sub-paths that are used particularly frequently can also be selected automatically. The method can include selecting, from the plurality of signal paths, signal sub-paths that are contained in a plurality of signal paths. The method can include selecting the signal paths from the plurality of signal paths for the information about signal paths to be validated based on the selected signal sub-paths. For example, based on the selected signal sub-paths, one or more signal paths that include the selected signal sub-paths can be determined.

Ein Aspekt der vorliegenden Erfindung bezieht sich auf ein Computerprogramm, umfassend Befehle, die bei der Ausführung des Programms durch einen Computer diesen veranlassen, das zuvor genannte Verfahren auszuführen.One aspect of the present invention relates to a computer program comprising instructions which, when the program is executed by a computer, cause the computer to carry out the aforementioned method.

Ein Aspekt der vorliegenden Erfindung bezieht sich auf eine Vorrichtung, umfassend ein oder mehrere Prozessoren und ein oder mehrere Speichergeräte, ausgebildet zum Ausführen des zuvor genannten Verfahrens.One aspect of the present invention relates to a device comprising one or more processors and one or more memory devices configured to carry out the aforementioned method.

Ausführungsbeispiele werden nachfolgend bezugnehmend auf die beiliegenden Figuren näher erläutert. Es zeigen:

  • 1a zeigt ein Flussdiagramm eines Beispiels eines computerimplementierten Verfahrens zur Auswahl von Signalpfaden eines zu validierenden graphenbasierten Netzwerks;
  • 1b zeigt ein schematisches Diagramm einer Vorrichtung zur Ausführung eines computerimplementierten Verfahrens zur Auswahl von Signalpfaden eines zu validierenden graphenbasierten Netzwerks;
  • 2 zeigt ein schematisches Diagramm einer Hitze-Karte (Heat-Map) -Darstellung einer Verbindungsmatrix eines Signalnetzwerks;
  • 3 zeigt ein Diagramm eines einfachen Beispiels zur Bestimmung der Parameter eines Pfadindex;
  • 4 zeigt ein Kennfeld des Pfadindex;
  • 5 zeigt ein schematisches Diagramm einer Unterteilung von Knoten in unterschiedliche Kategorien;
  • 6 zeigt ein schematisches Diagramm einer Pfadkodierung für eine beispielhafte Auswahl von Signalpfaden mit der gleichen Quelle; und
  • 7 zeigt eine schematische Darstellung einer Verwendungshäufigkeit von Signalknoten in den Signalpfaden.
Examples of embodiments are explained in more detail below with reference to the accompanying figures. They show:
  • 1a shows a flowchart of an example of a computer-implemented method for selecting signal paths of a graph-based network to be validated;
  • 1b shows a schematic diagram of an apparatus for carrying out a computer-implemented method for selecting signal paths of a graph-based network to be validated;
  • 2 shows a schematic diagram of a heat map representation of a connection matrix of a signal network;
  • 3 shows a diagram of a simple example of determining the parameters of a path index;
  • 4 shows a map of the path index;
  • 5 shows a schematic diagram of a division of nodes into different categories;
  • 6 shows a schematic diagram of a path coding for an exemplary selection of signal paths with the same source; and
  • 7 shows a schematic representation of a usage frequency of signal nodes in the signal paths.

Einige Beispiele werden nun ausführlicher Bezug nehmend auf die beiliegenden Figuren beschrieben. Weitere mögliche Beispiele sind jedoch nicht auf die Merkmale dieser detailliert beschriebenen Ausführungsformen beschränkt. Diese können Modifikationen der Merkmale sowie Entsprechungen und Alternativen zu den Merkmalen aufweisen. Ferner soll die Terminologie, die hierin zum Beschreiben bestimmter Beispiele verwendet wird, nicht einschränkend für weitere mögliche Beispiele sein.Some examples will now be described in more detail with reference to the accompanying figures. However, other possible examples are not limited to the features of these detailed embodiments. These may include modifications of the features as well as equivalents and alternatives to the features. Furthermore, the terminology used herein to describe particular examples is not intended to be limiting of other possible examples.

Die vorliegende Erfindung befasst insbesondere sich mit der Identifikation von stichprobenhaften Validierungspfaden in komplexen Signalnetzwerken.The present invention is particularly concerned with the identification of sample validation paths in complex signal networks.

Die Entwicklung von Steuergeräten, oder anderen Geräten, ist mittlerweile Software-getrieben, wobei viele Steuergerätefunktionen als Softwarefunktionen entwickelt werden. Das Verhalten der Software, und bestehende Datenabhängigkeiten, können über Signalnetze modelliert werden. Um diese Signalnetze effizient zu validieren, kann die folgende Vorgehensweise verwendet werden. Zuerst werden das oder die Signalnetzwerke von Interesse erstellt. Dabei werden die Datenabhängigkeiten beispielsweise aus Softwarebausteinen extrahiert, etwa mittels (statischer oder dynamischer) Codeanalyse oder manuell oder anderweitig. Ferner wird Verbindungswissen aus der oder den Softwarefunktionen hinterlegt. Als nächstes wird eine Teilmenge von Signalpfaden ausgewählt. Dann erfolgt die Validierung der ausgewählten Signalpfade aus dem Netzwerk zwischen vordefinierten Quellen (Start des Pfads, im Zusammenhang mit den 1a und 1b auch Eingabesignale genannt) und vordefinierten Senken (Ende des Pfads, im Zusammenhang mit den 1a und 1b auch Ausgabesignale genannt). Hierbei wird eine Funktionsdokumentation oder direkt der Softwarecode, die das Soll abbilden, mit dem Signalnetz, das das Ist abbildet, verglichen.The development of control units or other devices is now software-driven, with many control unit functions being developed as software functions. The behavior of the software and existing data dependencies can be modeled using signal networks. To efficiently validate these signal networks, the following procedure can be used. First, the signal network(s) of interest are created. The data dependencies are extracted from software components, for example by means of (static or dynamic) code analysis or manually or otherwise. Furthermore, connection knowledge from the software function(s) is stored. Next, a subset of signal paths is selected. The selected signal paths from the network are then validated between predefined sources (start of the path, in connection with the 1a and 1b also called input signals) and predefined sinks (end of the path, in connection with the 1a and 1b (also called output signals). In this case, a functional documentation or directly the software code, which represents the target, is compared with the signal network, which represents the actual.

Die vorliegende Erfindung befasst sich mit der Auswahl der Teilmenge von Signalpfaden. Hierbei wird die Brücke geschlagen zwischen einem vorliegendem Signalnetzwerk (mit potenziell Millionen von Signalpfaden) und der Pfad-Validierung (die auf eine leistbare Größenordnung von hunderten Verbindungen beschränkt ist). Im vorgeschlagenen Konzept wird eine qualifizierte Auswahl von Validierungspfaden, die eine ausreichende Absicherungsbreite für den Analyse-Anwendungsfall des Signalnetzwerks erlauben, durchgeführt.The present invention deals with the selection of the subset of signal paths. This bridges the gap between an existing signal network (with potentially millions of signal paths) and the path validation (which is limited to an affordable scale of hundreds of connections). In the proposed concept, a qualified selection of validation paths is carried out that allow sufficient security for the analysis use case of the signal network.

1a zeigt ein Flussdiagramm eines Beispiels eines computerimplementierten Verfahrens zur Auswahl von Signalpfaden eines zu validierenden graphenbasierten Netzwerks, durch das das vorgeschlagene Konzept implementiert wird. 1a shows a flowchart of an example of a computer-implemented method for selecting signal paths of a graph-based network to be validated, by which the proposed concept is implemented.

1b zeigt ein schematisches Diagramm einer entsprechenden Vorrichtung 10, mit ein oder mehreren Prozessoren 14, ein oder mehreren Speichergeräten 16, und weiteren, optionalen Komponenten, wobei die Vorrichtung 10 ausgebildet ist, um das computerimplementierte Verfahren von 1a auszuführen. In 1b sind die ein oder mehreren Prozessoren 14 mit einer Schnittstelle 12 und ein oder mehreren Speichergeräten 16 gekoppelt. Die Funktionalität des Prozessors wird dabei von Software bestimmt. Daher kann die Vorrichtung 10 maschinenlesbare Instruktionen umfassen, etwa in den ein oder mehreren Speichergeräten, die von dem Prozessor ausgeführt werden. Auch die Vorrichtung stellt einen Aspekt des vorgeschlagenen Konzeptes dar. Die Vorrichtung 10 kann eine computerimplementierte Vorrichtung sein, und von einem Computersystem 100 umfasst sein. 1b shows a schematic diagram of a corresponding device 10, with one or more processors 14, one or more storage devices 16, and further optional components, wherein the device 10 is designed to carry out the computer-implemented method of 1a to execute. In 1b the one or more processors 14 are coupled to an interface 12 and one or more storage devices 16. The functionality of the processor is determined by software. Therefore, the device 10 can include machine-readable instructions, for example in the one or more storage devices, which are executed by the processor. The device also represents an aspect of the proposed concept. The device 10 can be a computer-implemented device and can be included in a computer system 100.

Im Weiteren wird das vorgeschlagene Konzept mit Bezug auf das Verfahren von 1a erläutert. Es ist jedoch ersichtlich, dass Merkmale, die im Zusammenhang mit dem Verfahren diskutiert werden, auch auf die entsprechende Vorrichtung, und auf ein entsprechendes Computerprogramm, Anwendung finden.In the following, the proposed concept is explained with reference to the procedure of 1a However, it is clear that features discussed in connection with the method also apply to the corresponding device and to a corresponding computer program.

Das vorgeschlagene Konzept startet mit der Erstellung einer Ausgangs-Liste von Quellen (auch engl. Sources, im Folgenden auch Eingabesignale genannt) und Senken (engl. Targets, im Folgenden auch Ausgabesignale genannt), die die Endpunkte der Analyse für den entsprechenden Anwendungsfall beschreiben. Entsprechend umfasst das Verfahren von 1a ein Erhalten 110 von Informationen über eine Mehrzahl von Eingabesignalen und eine Mehrzahl von Ausgabesignalen des zu validierenden graphenbasierten Netzwerks.The proposed concept starts with the creation of an initial list of sources (hereinafter also referred to as input signals) and sinks (hereinafter also referred to as targets) that describe the endpoints of the analysis for the corresponding use case. Accordingly, the method of 1a obtaining 110 information about a plurality of input signals and a plurality of output signals of the graph-based network to be validated.

Im vorgeschlagenen Konzept wird ein graphenbasierter Ansatz verfolgt, d.h., das zu validierende Netzwerk wird anhand eines Graphen modelliert. Dabei umfasst das graphenbasierte Netzwerk eine Mehrzahl von Knoten und eine Mehrzahl von Kanten. Die Knoten des graphenbasierten Netzwerks umfassen die Eingabesignale und Ausgabesignale als Eingangsknoten und Ausgangsknoten. Die Knoten umfassen ferner weitere Knoten, die weder ein Eingabesignal noch ein Ausgabesignal abbilden. Diese Knoten repräsentieren Verarbeitungsschritte, die innerhalb des Netzwerks durchgeführt werden, und damit interne Signale (Zwischenergebnisse). Die Kanten repräsentieren die Datenabhängigkeiten zwischen den Knoten des Netzwerks. Signalpfade werden zwischen je einem Eingangsknoten (der ein Eingabesignal/Quelle repräsentiert) und einem Ausgangsknoten (der ein Ausgabesignal/Senke repräsentiert) aufgespannt, und umfassen den Eingangsknoten, den Ausgangsknoten, sowie die Kanten und internen Knoten zwischen dem Eingangsknoten und dem Ausgangsknoten. In vielen Fällen gibt es mehrere Signalpfade zwischen einem Eingangsknoten und einem Ausgangsknoten. In diesem Fall kann beispielsweise anhand einer Metrik einer der Signalpfade zwischen Eingangs- und Ausgangsknoten ausgewählt werden, etwa der kürzeste.The proposed concept follows a graph-based approach, i.e. the network to be validated is modeled using a graph. The graph-based network comprises a plurality of nodes and a plurality of edges. The nodes of the graph-based network comprise the input signals and output signals as input nodes and output nodes. The nodes also comprise other nodes that represent neither an input signal nor an output signal. These nodes represent processing steps that are carried out within the network and thus internal signals (intermediate results). The edges represent the data dependencies between the nodes of the network. Signal paths are spanned between an input node (which represents an input signal/source) and an output node (which represents an output signal/sink), and comprise the input node, the output node, as well as the edges and internal nodes between the input node and the output node. In many cases there are several signal paths between an input node and an output node. In this case, for example, one of the signal paths between the input and output nodes can be selected based on a metric, such as the shortest one.

Dieses graphenbasierte Netzwerk bildet eine gewisse Funktionalität ab. Im Folgenden wird das vorgeschlagene Konzept zur Validierung eines Steuergeräts eines Fahrzeugs verwendet. Folglich kann das graphenbasierte Netzwerk eine Funktionalität eines Steuergeräts eines Fahrzeugs abbilden. Das vorgeschlagene Konzept kann jedoch auch auf andere Anwendungsfälle angewandt werden, etwa auf Steuergeräte in Industrieanlagen, auf andere Softwarebasierte Sensordatenverarbeitungsanwendungsfälle, oder auch auf Anwendungsfälle, die nicht auf einer Steuergeräteanwendung basieren, wie z.B. Software in the Loop (ein Softwareentwicklungskonzept aus der Regelungstechnik).This graph-based network maps a certain functionality. In the following, the proposed concept is used to validate a vehicle ECU. Consequently, the graph-based network can map a functionality of a vehicle ECU. However, the proposed concept can also be applied to other use cases, such as ECUs in industrial plants, other software-based sensor data processing use cases, or even use cases that are not based on an ECU application, such as Software in the Loop (a software development concept from control engineering).

Im vorliegenden Beispiel können die Quellen/Eingabesignale den Eingangs-Sensorsignalen (sowie Eingangs-Busnachrichten) eines Steuergeräts entsprechen, d.h. Quellen = [EingabeSensorsdaten1, EingabeSensorsdaten2, .... X]. Die Ausgabesignale/Senken können den Ausgangs-Aktuatorsignalen (und Bus-Nachrichten und internen Fehlerspeichern) des gleichen Steuergeräts entsprechen, d.h. Senken = [AusgangsAktuator1, AusgangsAktuator2, ....Y]. Dabei kann, je nach Anwendungsfall, eine Vorauswahl an Quellen und Senken getroffen werden. In anderen Worten kann die Mehrzahl von Eingabesignalen und die Mehrzahl von Ausgabesignalen durch einen Benutzer ausgewählte Signale unter der Gesamtheit der Eingabesignale und Ausgabesignale des graphenbasierten Netzwerks (etwa des Steuergeräts) sein. Die einzelnen Quellen und Senken entsprechen auffindbaren Knoten (Signalen) aus dem vorliegenden Signalnetzwerk, d.h. Eingangs- oder Ausgangsknoten des Signalnetzwerks. In the present example, the sources/input signals can correspond to the input sensor signals (and input bus messages) of a control unit, i.e. sources = [input sensor data 1, input sensor data 2, .... X]. The output signals/sinks can correspond to the output actuator signals (and bus messages and internal error memories) of the same control unit, i.e. sinks = [output actuator 1, output actuator 2, .... Y]. Depending on the application, a pre-selection of sources and sinks can be made. In other words, the majority of input signals and the majority of output signals can be signals selected by a user from the totality of the input signals and output signals of the graph-based network (e.g. of the control unit). The individual sources and sinks correspond to findable nodes (signals) from the existing signal network, i.e. input or output nodes of the signal network.

Um die Dimensionen zu verdeutlichen, werden im Folgenden Größenanordnungen für die Validierung eines Fahrzeug-Steuergeräts gegeben. Ein solches Signalnetz, wie es vorliegend untersucht wurde, umfasste eine sechsstellige Anzahl von Knoten, eine sieben- bis achtstellige Anzahl von Kanten, und basierend darauf eine Anzahl von Signalpfaden (also Tupel aus aneinandergereihten Kanten zwischen verbundenen Knoten), die mehrere Größenordnungen über der Anzahl von Kanten lag..To clarify the dimensions, size arrangements for the validation of a vehicle control unit are given below. Such a signal network, as examined here, comprised a six-digit number of nodes, a seven- to eight-digit number of edges, and based on this a number of signal paths (i.e. tuples of edges strung together between connected nodes) that was several orders of magnitude higher than the number of edges.

Ein solches Signalnetz kann beispielsweise aus einer Graphen-Datenbank, wie Neo4J, erzeugt werden. Eine Abfrage der Datenbank kann durchgeführt werden, und eine Verbindungsmatrix [Quellen x Senken] kann erzeugt werden. Damit kann eine automatisierte Erstellung der Verbindungsmatrix von allen Quellen-Senken-Kombinationen aus dem Signalnetzwerk durchgeführt werden. Diese Verbindungsmatrix repräsentiert die vorhandenen Verbindungen zwischen den Quellen und Senken. Diese Verbindungsmatrix kann neben dem eigentlich Vorhandensein einer Verbindung zwischen Quelle und Senke, d.h. zwischen Eingabesignal und Ausgabesignal, auch eine Aussage über die Länge der Verbindung geben. Daher umfasst das Verfahren von 1a ein Berechnen 120, für die Mehrzahl von Eingabesignalen und die Mehrzahl von Ausgabesignalen, einer Anzahl von internen Signal-Teilstrecken zwischen dem jeweiligen Eingabesignal und dem jeweiligen Ausgabesignal, falls ein Signalpfad zwischen dem jeweiligen Eingabesignal und Ausgabesignal existiert. Dabei entspricht die Länge des Signalpfads der Anzahl von internen Knoten zwischen dem Eingangsknoten (d.h. der Quelle/Eingabesignal) und dem Eingangsknoten (d.h. der Senke/Ausgabesignal). Andere Berechnungsmethoden sind auch möglich, etwa anhand der Kanten zwischen dem Eingangsknoten und dem Ausgangsknoten. Die Signalpfade, und Länge der Signalpfade, können von der Graphen-Datenbank errechnet werden, etwa anhand des Dijkstra-Algorithmus.Such a signal network can be generated, for example, from a graph database such as Neo4J. A query of the database can be performed and a connection matrix [sources x sinks] can be generated. This allows an automated creation of the connection matrix of all source-sink combinations from the signal network. This connection matrix represents the existing connections between the sources and sinks. In addition to the actual existence of a connection between source and sink, i.e. between input signal and output signal, this connection matrix can also provide information about the length of the connection. Therefore, the method of 1a calculating 120, for the plurality of input signals and the plurality of output signals, a number of internal signal sections between the respective input signal and the respective output signal, if a signal path exists between the respective input signal and output signal. The length of the signal path corresponds to the number of internal nodes between the input node (ie the source/input signal) and the input node (ie the sink/output signal). Other calculation methods are also possible, for example based on the edges between the input node and the output node. The signal paths and the length of the signal paths can be calculated by the graph database, for example using the Dijkstra algorithm.

Diese Länge der Signalpfade kann nun in Form einer Heat-Map dargestellt werden. In der Heat-Map (Hitze-Karte), wie sie in 2 dargestellt ist, wird jeweils nur der kürzeste Signalpfad zwischen einer Quelle und einer Senke dargestellt. Die Heat-Map von 2 repräsentiert dabei noch über 100.000 Signalpfade. In anderen Worten kann die Verbindungsmatrix in eine Heat-Map-Darstellung der einzelnen Signalpfad-Verbindungslängen, wobei die Verbindungslänge angibt, wie viele Signale (interne Knoten) je Pfad zwischen Quelle und Senke liegen.This length of the signal paths can now be displayed in the form of a heat map. In the heat map, as shown in 2 is shown, only the shortest signal path between a source and a sink is shown. The heat map of 2 represents over 100,000 signal paths. In other words, the connection matrix can be converted into a heat map representation of the individual signal path connection lengths, where the connection length indicates how many signals (internal nodes) lie between source and sink per path.

2 zeigt ein schematisches Diagramm einer Hitze-Karte 200 (Heat-Map) -Darstellung einer Verbindungsmatrix eines Signalnetzwerks. Auf der X-Achse sind die Senken/Ausgabesignale aufgetragen, und auf der Y-Achse die Quellen/Eingabesignale / Quellen. Dabei sind die Eingabesignale im Beispiel des Steuergeräts etwa Sensorsignale oder Eingabe-Bus-Nachrichten (d.h. Nachrichten über einen Fahrzeugbus, die an das Steuergerät gerichtet sind), und die Ausgabesignale sind Aktuatorstellsignale oder Ausgabe-Bus-Nachrichten. In der Heat-Map-Darstellung von 2 repräsentieren dunkle Bereiche lange Verbindungen (d.h. lange Signalpfade mit vielen internen Knoten), helle Bereiche repräsentieren kurze Verbindungen (d.h. kurze Signalpfade mit wenigen internen Knoten), und leere Bereiche repräsentieren nicht-existente Verbindungen. 2 shows a schematic diagram of a heat map 200 (heat map) representation of a connection matrix of a signal network. The sinks/output signals are plotted on the X-axis, and the sources/input signals/sources on the Y-axis. The input signals in the example of the control unit are sensor signals or input bus messages (ie messages via a vehicle bus that are directed to the control unit), and the output signals are actuator control signals or output bus messages. In the heat map representation of 2 Dark areas represent long connections (ie, long signal paths with many internal nodes), light areas represent short connections (ie, short signal paths with few internal nodes), and empty areas represent non-existent connections.

Anhand dieser Heat-Map (jedoch nicht notwendigerweise anhand der graphischen Darstellung der Heat-Map) wird nun eine Vorauswahl getroffen. Diese kann darauf basieren, welche Zeilen besonders uniform oder besonders unterschiedlich sind. Nach dieser Vorauswahl sind beispielsweise noch tausende Signalpfade übrig.A pre-selection is now made based on this heat map (but not necessarily based on the graphical representation of the heat map). This can be based on which lines are particularly uniform or particularly different. After this pre-selection, for example, there are still thousands of signal paths left.

Im vorliegenden Konzept wird ein statistischer Ansatz gewählt, um die Zeilen und/oder Spalten aus der Verbindungsmatrix auszuwählen. Das Verfahren von 1a umfasst dabei ein Berechnen 130, mittels einer Statistikfunktion, für die Mehrzahl von Eingabesignalen und/oder die Mehrzahl von Ausgabesignalen, eines statistischen Werts, der die Signalpfade zwischen einem Eingabesignal und der Mehrzahl von Ausgabesignalen oder die Signalpfade zwischen einem Ausgabesignal und der Mehrzahl von Eingabesignalen repräsentiert. In anderen Worten wird für jedes Eingabesignal und/oder jedes Ausgabesignal ein statistischer Wert berechnet, der auf den Signalpfaden (und insbesondere deren Längen) zu den (etwa allen) Ausgabesignalen bzw. Eingabesignalen basiert. Dabei wurde in einer beispielhaften Implementierung der Variationskoeffizient verwendet, d.h. die Statistikfunktion kann der Berechnung des Variationskoeffizienten entsprechen. Es sind jedoch auch andere Statistikfunktionen möglich, wie etwa eine andere Repräsentation der Variation innerhalb der jeweiligen Spalte/Zeile. In 2 wurde eine zeilenweise / spaltenweise Berechnung des Variationskoeffizienten in der Heat Map durchgeführt. Dabei entspricht der Variationskoeffizient dem relativen Verhältnis aus der Variation (σ) der Verbindungslänge und dem Mittelwert der Verbindungslänge (d.h. Länge des Signalpfads). Dies dient der Vorauswahl aus der Heat-Map, um Zeilen/Spalten auszuwählen, die besonders uniform oder unterschiedlich sind, d.h., deren Variationskoeffizient möglichst klein oder groß ist.In the present concept, a statistical approach is chosen to select the rows and/or columns from the connection matrix. The method of 1a includes calculating 130, by means of a statistical function, for the plurality of input signals and/or the plurality of output signals, a statistical value that represents the signal paths between an input signal and the plurality of output signals or the signal paths between an output signal and the plurality of input signals. In other words, a statistical value is calculated for each input signal and/or each output signal, which is based on the signal paths (and in particular their lengths) to the (approximately all) output signals or input signals. In an exemplary implementation, the coefficient of variation was used, ie the statistical function can correspond to the calculation of the coefficient of variation. However, other statistical functions are also possible, such as a different representation of the variation within the respective column/row. In 2 a row-by-row/column-by-column calculation of the coefficient of variation was carried out in the heat map. The coefficient of variation corresponds to the relative ratio of the variation (σ) of the connection length and the mean value of the connection length (ie length of the signal path). This is used for pre-selection from the heat map in order to select rows/columns that are particularly uniform or different, ie whose coefficient of variation is as small or large as possible.

In 2 ist eine solche Vorauswahl gezeigt. Zeile 210 ist eine Zeile mit einem niedrigem Variationskoeffizienten (für das gleiche Eingabesignal/Quelle). Zeile 220 ist eine Zeile mit einem hohen Variationskoeffizienten (gleiches Eingabesignal). Spalte 230 ist eine Spalte mit einem hohen Variationskoeffizienten (bei dem gleichen Ausgabesignal/Senke). Spalte 240 ist eine Spalte mit einem geringem Variationskoeffizienten (gleiches Ausgabesignal).In 2 such a preselection is shown. Row 210 is a row with a low coefficient of variation (for the same input signal/source). Row 220 is a row with a high coefficient of variation (same input signal). Column 230 is a column with a high coefficient of variation (for the same output signal/sink). Column 240 is a column with a low coefficient of variation (same output signal).

Es hat sich gezeigt, dass insbesondere besonders hohe und besonders niedrige Werte des Variationskoeffizienten der jeweiligen Spalte oder Zeile gute Ausgangspunkte für die weitere Validierung sind. Daher kann zur Vorauswahl von Pfaden aus der Heat-Map eine Bookend (Buchende)-Betrachtung (nach Zeilen und Spalten besonders hohen und besonders niedrigen Variationskoeffizienten) durchgeführt werden. Es werden mehrere komplette Zeilen bzw. Spalten aus der Heat Map entnommen. Das Verfahren von 1a umfasst daher ein Auswählen 140, basierend auf besonders hohen und/oder besonders niedrigen statistischen Werten, ein oder mehrerer Eingabesignale und/oder Ausgabesignale (d.h., einer oder mehrerer Zeilen und/oder Spalten), für die die besonders hohen oder niedrigen statistischen Werte berechnet wurden. Dabei kann ein statistischer Wert als besonders hoch gelten, wenn der statistische Wert zumindest 95% des höchsten statistischen Werts erreicht. Ein statistischer Wert kann als besonders niedrig gelten, wenn der statistische Wert höchstens 105% des niedrigsten statistischen Werts erreicht. Beispielsweise kann ein statistischer Wert als besonders hoch oder besonders niedrig gilt, falls der statistische Wert unter den n höchsten oder m niedrigsten statistischen Werten liegt, wobei n und m vordefinierte positive Ganzzahlen sind.It has been shown that particularly high and particularly low values of the coefficient of variation of the respective column or row are good starting points for further validation. Therefore, a bookend analysis (according to rows and columns with particularly high and particularly low coefficients of variation) can be carried out to preselect paths from the heat map. Several complete rows or columns are taken from the heat map. The method of 1a therefore includes selecting 140, based on particularly high and/or particularly low statistical values, one or more input signals and/or output signals (ie, one or more rows and/or columns) for which the particularly high or low statistical values were calculated. In this case, a statistical value can be considered particularly high if the statistical value reaches at least 95% of the highest statistical value. A statistical value can be considered particularly low if the statistical value reaches at most 105% of the lowest statistical value. For example, a statistical value can be considered particularly high or particularly low if the statistical value is among the n highest or m lowest statistical values, where n and m are predefined positive integers.

Die Auswahl kann sowohl automatisiert als auch manuell (anhand einer graphischen Darstellung der Heat-Map) erfolgen. In anderen Worten kann bei der Vorauswahl auch eine Experten-basierte und rein visuelle Auswahl der Pfadpakete erfolgen. Alternativ kann bei der Vorauswahl der Zeilen und/oder Spalte eine Vorgabe getroffen werden, wie viele Variationskoeffizient-Varianten ausgewählt werden sollen (etwa durch geeignete Vorgabe von n und m). Dies geschieht beispielsweise in Abhängigkeit der vorhandenen Validierungsressourcen.The selection can be made both automatically and manually (using a graphical representation of the heat map). In other words, the pre-selection can also be an expert-based and purely visual selection of the path packages. Alternatively, when pre-selecting the rows and/or columns, a specification can be made as to how many Variation coefficient variants should be selected (e.g. by appropriate specification of n and m). This is done, for example, depending on the available validation resources.

Aus den ein oder mehreren Eingabe-Signalen ergeben sich dabei jeweils eine Mehrzahl von Signalpfaden, die von den jeweiligen Eingabe-Ausgabesignal-Tupeln definiert werden. Folglich kann das Verfahren ein Bestimmen 150 einer Mehrzahl von Signalpfaden basierend auf den ausgewählten ein oder mehreren Eingabesignalen und/oder Ausgabesignalen umfassen. Dabei beginnen die Signalpfade der Mehrzahl von Signalpfaden mit einem der ausgewählten Eingabesignale oder terminieren mit einem der ausgewählten Ausgabesignale. In anderen Worten werden, basierend auf den ausgewählten Zeilen und/oder Spalten der Verbindungsmatrix, Signalpfade ausgewählt, die an dem Eingangssignal der jeweiligen ausgewählten Zeile starten oder an dem Ausgabesignal der jeweiligen ausgewählten Spalte terminieren.The one or more input signals result in a plurality of signal paths that are defined by the respective input-output signal tuples. Consequently, the method can comprise determining 150 a plurality of signal paths based on the selected one or more input signals and/or output signals. The signal paths of the plurality of signal paths start with one of the selected input signals or terminate with one of the selected output signals. In other words, based on the selected rows and/or columns of the connection matrix, signal paths are selected that start at the input signal of the respective selected row or terminate at the output signal of the respective selected column.

Diese Signalpfade können nun weiter analysiert werden, um unter dieser Vorauswahl eine konkrete Auswahl zu treffen. Dazu kann beispielsweise eine Maßzahl verwendet werden, die im Folgenden auch als Pfadindex bezeichnet wird. Diese kann später zur Ordnung der Pfade bei der Endauswahl genutzt werden. Das Verfahren von 1a kann optional ein Berechnen 160, für die Mehrzahl von Signalpfaden, einer Maßzahl, die den jeweiligen Signalpfad charakterisiert umfassen. Dabei sind insbesondere drei Kriterien von Interesse - die Länge des Signalpfads, und die Anzahl von internen Signaleingängen und die Anzahl von internen Signalausgängen. Entsprechend kann die Maßzahl auf zumindest einem der Anzahl von internen Signal-Teilstrecken des jeweiligen Signalpfads (d.h., die Länge des Signalpfads), einer Anzahl von internen Signaleingängen, die zu dem Signalpfad beitragen, und einer Anzahl von internen Signalausgängen basieren. Damit lässt die Maßzahl einen Rückschluss auf das Verhalten der inneren Signalknoten im Signalpfad zu. Dabei kann beispielsweise folgende Formel verwendet werden Pfadinex = Eing a ¨ nge Ausg a ¨ nge n

Figure DE102022130493A1_0001
These signal paths can now be further analyzed in order to make a specific selection from this pre-selection. For example, a measure can be used for this, which is also referred to below as a path index. This can later be used to order the paths in the final selection. The method of 1a can optionally include calculating 160, for the plurality of signal paths, a metric that characterizes the respective signal path. Three criteria are of particular interest here - the length of the signal path, and the number of internal signal inputs and the number of internal signal outputs. Accordingly, the metric can be based on at least one of the number of internal signal sections of the respective signal path (ie, the length of the signal path), a number of internal signal inputs that contribute to the signal path, and a number of internal signal outputs. The metric thus allows a conclusion to be drawn about the behavior of the internal signal nodes in the signal path. The following formula can be used, for example: Pfadinex = Entry a ¨ nge Issue a ¨ nge n
Figure DE102022130493A1_0001

Dabei ist n (welches sich von dem zuvor genutzten n unterscheide) die Länge des Signalpfads (d.h. die Zahl der internen Knoten/Signale), und ΣEingänge und ΣAusgänge die Anzahl von internen Signaleingängen und internen Signalausgängen der internen Knoten. 3 zeigt ein Diagramm eines einfachen Beispiels zur Bestimmung der Parameter des Pfadindex. 3 zeigt die Knoten Quelle 310 (Eingabesignal), interner Knoten 320 mit einem internen Eingabesignal (zusätzlich zum Signalpfad) und drei internen Ausgabesignalen, interner Knoten 330 mit zwei internen Eingabesignalen und vier internen Eingabesignalen, und Senkenknoten 340 (Ausgabesignal) mit fünf internen Eingabesignalen. Interne Knoten werden eingerahmt von einer Klammer 350. Die Summe der internen Signaleingängen der internen Knoten ist 3, die Summe der internen Signalausgänge der internen Knoten ist 7, und n = 2 ist die Anzahl von internen Knoten.Where n (which is different from the previously used n) is the length of the signal path (ie the number of internal nodes/signals), and ΣInputs and ΣOutputs are the number of internal signal inputs and internal signal outputs of the internal nodes. 3 shows a diagram of a simple example of determining the parameters of the path index. 3 shows the nodes source 310 (input signal), internal node 320 with one internal input signal (in addition to the signal path) and three internal output signals, internal node 330 with two internal input signals and four internal input signals, and sink node 340 (output signal) with five internal input signals. Internal nodes are framed by a bracket 350. The sum of the internal signal inputs of the internal nodes is 3, the sum of the internal signal outputs of the internal nodes is 7, and n = 2 is the number of internal nodes.

4 zeigt ein Kennfeld des Pfadindex. In 4 ist von oben nach unten das Verhältnis der Summe der internen Signaleingänge und der Summe der internen Signaleingänge eingetragen, von einem Verhältnis von 6000/1 bis 1/6000. Von links nach rechts ist der resultierende Pfadindex nach berechnen der n-ten Wurzel gezeigt. 4 shows a map of the path index. In 4 From top to bottom, the ratio of the sum of the internal signal inputs and the sum of the internal signal inputs is entered, from a ratio of 6000/1 to 1/6000. From left to right, the resulting path index after calculating the n-th root is shown.

Der Pfadindex erlaubt eine Klassifizierung und Sortierung von verschiedenen Pfaden nebeneinander. Entsprechend kann das Verfahren ein Sortieren 162 der Mehrzahl von Signalpfaden gemäß der Maßzahl umfassen. Signalpfade mit einem ähnlichen Verhältnis zwischen internen Signaleingängen und internen Signalausgängen, erhalten, wie in 4 gezeigt ist, eine ähnliche Maßzahl, und werden dadurch durch die Sortierung zusammen gruppiert (und damit kategorisiert). Auch die Länge der Signalpfade kann einen Einfluss auf die Sortierung haben, so dass Signalpfade ähnlicher Länge ggf. durch die Sortierung zusammen gruppiert werden. Mit Hilfe des Pfadindex können somit Verteilerpfade von Konsumentenpfaden sowie kurze Pfade von langen Pfaden unterschieden werden.The path index allows classification and sorting of different paths next to each other. Accordingly, the method may comprise sorting 162 the plurality of signal paths according to the metric. Signal paths with a similar ratio between internal signal inputs and internal signal outputs, obtained as in 4 shown, a similar measure, and are grouped together by the sorting (and thus categorized). The length of the signal paths can also have an influence on the sorting, so that signal paths of similar length may be grouped together by the sorting. With the help of the path index, distribution paths can be distinguished from consumer paths and short paths from long paths.

Basierend auf den generierten 150 Signalpfaden, etwa basierend auf der Sortierung entsprechend der Maßzahl, können nun Signalpfade unter der Mehrzahl von Signalpfaden für eine Information über zu validierende Signalpfade basierend ausgewählt 170 werden, wie in 1a gezeigt ist.Based on the generated 150 signal paths, for example based on the sorting according to the metric, signal paths can now be selected among the majority of signal paths for information about signal paths to be validated based 170 as in 1a is shown.

Zur Auswahl kann ein Prozess verwendet werden, der automatisiert oder teil-manuell durchgeführt werden kann. Dabei kann ein grafischer Ansatz, d.h. ein Darstellungsbasierter Ansatz, verwendet werden, um die Auswahl der Signalpfade durchgeführt werden. Dabei können die verbleibendem Pfade (von Quelle bis Senke) automatisiert Pfad-kodiert werden. Die Pfad-kodierung ist eine grafische Darstellung, die in den 5 und 6 illustriert ist. Dabei werden Pfad-Komponenten (d.h. interne Knoten) unterschiedlich dargestellt, die unterschiedliche Verhältnisse zwischen internen Eingangssignalen und internen Ausgangssignalen haben. Interne Knoten werden in unterschiedliche Kategorien unterteilt und grafisch kodiert, etwa farbkodiert oder mit unterschiedlichen Mustern (wie in 5 bis 7 gezeigt) dargestellt.A process can be used for selection, which can be automated or partially manual. A graphical approach, i.e. a representation-based approach, can be used to select the signal paths. The remaining paths (from source to sink) can be path-coded automatically. The path coding is a graphical representation that is shown in the 5 and 6 Path components (ie internal nodes) are represented differently, which have different ratios between internal input signals and internal output signals. Internal nodes are divided into different categories and coded graphically, for example color-coded or with different patterns (as in 5 to 7 shown).

5 zeigt ein schematisches Diagramm einer Unterteilung von Knoten (Pfad-Komponenten) in die unterschiedlichen Kategorien. Eingabesignale (Quellen) und Ausgabesignale werden mit weißen Kästen dargestellt, sie sind in 5 nicht gezeigt, jedoch in den 6 und 7. Daneben gibt es die Kategorien Verteiler, Massenverteiler, Balanciert, Massenbalanciert, Konsument und Massenkonsument. Im Beispiel sind Verteiler interne Knoten, die mehr als 2 interne Signalausgänge mehr als interne Signaleingänge haben, insgesamt aber maximal 12 interne Signalausgänge (Parameter A in 5). Massenverteiler sind interne Knoten, die mehr als 2 interne Signalausgänge mehr als interne Signaleingänge haben, insgesamt aber mehr als 12 interne Signalausgänge. Balanciert sind interne Knoten, die ungefähr gleiche viele interne Signaleingänge haben wie interne Signalausgänge (±2, Parameter D in 5), aber höchstens 20 interne Signaleingänge oder interne Signalausgänge (Parameter C in 5). Massenbalanciert sind interne Knoten, die ungefähr gleiche viele interne Signaleingänge haben wie interne Signalausgänge (±2), aber mehr als 20 interne Signaleingänge oder interne Signalausgänge. Konsumenten sind interne Knoten, die mehr als 2 interne Signaleingänge mehr als interne Signalausgänge haben, insgesamt aber maximal 15 interne Signalausgänge (Parameter B in 5). Massenkonsumenten sind interne Knoten, die mehr als 2 interne Signaleingänge mehr als interne Signalausgänge haben, insgesamt aber mehr als 15 interne Signalausgänge. Eine andere Pfad-Kodierung ist jedoch, abhängig von dem Anwendungsfall, uns insbesondere abhängig von der Zahl von internen Knoten, möglich. Die Grenzwerte (Parameter A-D) werden je nach vorliegendem Signalnetz unterschiedlich festgelegt, damit eine gleichmäßige Verteilung der Pfad-Kodierungs-Klassen auftreten kann. 5 shows a schematic diagram of a division of nodes (path components) into the different categories. Input signals (sources) and output signals are shown with white boxes, they are in 5 not shown, but in the 6 and 7 . In addition, there are the categories distributor, mass distributor, balanced, mass balanced, consumer and mass consumer. In the example, distributors are internal nodes that have more than 2 internal signal outputs more than internal signal inputs, but a total of a maximum of 12 internal signal outputs (parameter A in 5 ). Mass distributors are internal nodes that have more than 2 internal signal outputs than internal signal inputs, but a total of more than 12 internal signal outputs. Balanced are internal nodes that have approximately the same number of internal signal inputs as internal signal outputs (±2, parameter D in 5 ), but a maximum of 20 internal signal inputs or internal signal outputs (parameter C in 5 ). Mass balanced are internal nodes that have approximately the same number of internal signal inputs as internal signal outputs (±2), but more than 20 internal signal inputs or internal signal outputs. Consumers are internal nodes that have more than 2 internal signal inputs more than internal signal outputs, but a maximum of 15 internal signal outputs in total (parameter B in 5 ). Mass consumers are internal nodes that have more than 2 internal signal inputs than internal signal outputs, but a total of more than 15 internal signal outputs. However, a different path coding is possible, depending on the application, and in particular depending on the number of internal nodes. The limit values (parameter AD) are set differently depending on the signal network in question, so that an even distribution of the path coding classes can occur.

Das Verfahren von 1a umfasst optional ein Erstellen 180 einer grafischen Repräsentation für die Teilstrecken der jeweiligen Signalpfade zwischen Eingangssignal und Ausgangssignal. Die Teilstrecken (internen Knoten) werden unterschiedlich grafisch kodiert, etwa wie zuvor beschrieben. Dabei kann die grafische Repräsentation der Teilstrecken, wie oben ausgeführt, zumindest auf dem Verhältnis zwischen internen Signaleingängen und internen Signalausgängen der jeweiligen Teilstrecke basieren. Zusätzlich kann die grafische Repräsentation der Teilstrecken, wie in 5 gezeigt, ferner auf der absoluten Anzahl an internen Signaleingängen und/oder internen Signalausgängen basieren. Das Verfahren kann ein Berechnen einer grafischen Übersicht der Mehrzahl von Signalpfade, sortiert gemäß der Maßzahl, basierend auf der grafischen Repräsentation der Teilstrecken umfassen. Die grafische Übersicht kann in einem Speicher des Computersystems, das das Verfahren ausführt, gespeichert werden (etwa in einem Speichergerät 16), und/oder als Signal ausgegeben werden (etwa über die Schnittstelle 12), etwa über einen Bildschirm oder über ein Computernetzwerk (und einen Browser).The procedure of 1a optionally includes creating 180 a graphical representation for the sections of the respective signal paths between the input signal and the output signal. The sections (internal nodes) are graphically coded differently, for example as described above. The graphical representation of the sections, as explained above, can be based at least on the relationship between internal signal inputs and internal signal outputs of the respective section. In addition, the graphical representation of the sections, as in 5 shown, further based on the absolute number of internal signal inputs and/or internal signal outputs. The method may include calculating a graphical overview of the plurality of signal paths, sorted according to the metric, based on the graphical representation of the partial paths. The graphical overview may be stored in a memory of the computer system executing the method (such as in a storage device 16), and/or output as a signal (such as via the interface 12), such as via a screen or via a computer network (and a browser).

In der grafischen Darstellung können die Pfade untereinander ausgerichtet (links, rechts, mittig) angeordnet, grafisch (farblich oder nach Mustern) codiert und statistisch ausgezählt werden. Aus der Pfadkodierung kann man auslesen, welche Pfadanteile besonders häufig durchschritten werden in der Anwendungsfall-basierten Verbindungsmatrix. Dabei erlaubt die Vergabe von unterschiedlichen grafischen Kategorien und die Sortierung nach Pfadindex „gemeinsame Streckenabschnitte“ der Validierungspfade zu visualisierenIn the graphical representation, the paths can be aligned with each other (left, right, center), coded graphically (color or pattern) and counted statistically. From the path coding, you can read which parts of the path are particularly frequently crossed in the application-based connection matrix. The assignment of different graphic categories and sorting by path index allows "common sections" of the validation paths to be visualized.

6 zeigt ein schematisches Diagramm einer Pfadkodierung für eine beispielhafte Auswahl von Signalpfaden mit der gleichen Quelle. 6 zeigt beispielhaft 10 Zeilen 600-690, die zehn unterschiedliche Signalpfade grafisch darstellen. Dabei erstrecken sich die Signalpfade von der Quelle am linken Rand (als weißer Kasten dargestellt) bis zu der jeweiligen Senke (ebenfalls als weißer Kasten dargestellt). In 6 ist in den Zeilen 600-620, 660-690 die Senke nicht gezeigt, da die Darstellung hier abgeschnitten ist. Die unterschiedlichen Zeilen entsprechend unterschiedlichen Pfaden. Beispielsweise können gleiche Eingabesignale/Quellen links ausgerichtet, gleiche Ausgabesignale/Senken werden rechts ausgerichtet dargestellt. 6 shows a schematic diagram of a path coding for an exemplary selection of signal paths with the same source. 6 shows 10 lines 600-690 as an example, which graphically represent ten different signal paths. The signal paths extend from the source on the left edge (shown as a white box) to the respective sink (also shown as a white box). In 6 In lines 600-620, 660-690 the sink is not shown because the representation is cut off here. The different lines correspond to different paths. For example, the same input signals/sources can be shown aligned to the left, the same output signals/sinks are shown aligned to the right.

Diese grafische Darstellung kann einen Experten darin unterstützen, Signalpfade auszuwählen, die besonders relevant scheinen, etwa da sie Teilstrecken umfassen, die von besonders vielen anderen Signalpfaden geteilt werden.This graphical representation can help an expert to select signal paths that seem particularly relevant, for example because they include sections that are shared by a particularly large number of other signal paths.

Diese Auswahl kann auch automatisiert unterstützt oder durchgeführt werden. Dabei können zur Auswahl 170 der Signalpfade die Pfadanteile aus allen durchgeführten Pfadkodierungen extrahiert werden, die am häufigsten vorkommen. Damit wird in der nachfolgenden Absicherung/Validierung eine hohe Effizienz und Breite erzeugt. Das Verfahren kann ferner ein (automatisiertes) Auswählen 164, unter der Mehrzahl von Signalpfaden, von Signal-Teilstrecken, die in mehreren Signalpfaden enthalten sind. Das Auswählen 170 der Signalpfade unter der Mehrzahl von Signalpfaden für die Information über zu validierende Signalpfade kann nun basierend auf den ausgewählten Signal-Teilstrecken durchgeführt werden. Hier ermöglicht die Pfadkodierung ein Auszählen von Verwendungshäufigkeiten gleicher Signalknoten.This selection can also be supported or carried out automatically. In order to select 170 the signal paths, the path parts that occur most frequently can be extracted from all the path codings carried out. This creates a high level of efficiency and breadth in the subsequent validation/validation. The method can also (automatically) select 164, from the plurality of signal paths, signal sub-sections that are contained in several signal paths. The selection 170 of the signal paths from the plurality of signal paths for the information about signal paths to be validated can now be carried out based on the selected signal sub-sections. Here, the path coding enables the frequency of use of the same signal nodes to be counted.

Eine solche Auswertung ist in 7 gezeigt. 7 zeigt eine schematische Darstellung einer Verwendungshäufigkeit von Signalknoten in den Signalpfaden. In 7 ist eine Aneinanderreihung 700 von am häufigsten genutzten Signalknoten gezeigt, die in einer möglichst großen Anzahl von Signalpfaden in dieser Reihenfolge vorkommen In der Zeile 710 darunter wird dargestellt, in wie vielen Prozent der Pfade die jeweiligen Signalknoten genutzt werden. In Zeile 720 wird dargestellt, in wie vielen Pfaden (absolut) die Signalknoten genutzt werden. Der gezeigte Pfad erlaubt in der Validierung die Abdeckung von mind. 61 Gesamtpfaden.Such an evaluation is in 7 shown. 7 shows a schematic representation of a frequency of use of signal nodes in the signal paths. In 7 is a series of 700 most frequently used signal nodes are shown, which occur in as many signal paths as possible in this order. Line 710 below shows in what percentage of the paths the respective signal nodes are used. Line 720 shows in how many paths (absolute) the signal nodes are used. The path shown allows the coverage of at least 61 total paths in the validation.

Durch iterative Wiederholung der Pfadkodierung und der Auswahl von häufig vorkommenden Pfadabschnitten für die Validierung kann die Effizienz der Validierung nochmals erhöht werden für den entsprechenden Anwendungsfall, da jeder ausgewählte Pfadabschnitt mehr als nur einmal vorkommt. Dies bedeutet, dass seine Validierung (oder Falisifizierung) damit gleich der Qualitätsverbesserung von mehreren weiteren existierenden Verbindungen hilft. Dies führt zu einer robusten Erhöhung der Absicherungsbreite.By iteratively repeating the path coding and selecting frequently occurring path sections for validation, the efficiency of validation can be further increased for the corresponding use case, since each selected path section occurs more than once. This means that its validation (or falsification) helps to improve the quality of several other existing connections. This leads to a robust increase in the scope of assurance.

All die zuvor genutzten Merkmale können genutzt werden zum (automatisierten oder teilautomatisierten) Auswählen 170 der Signalpfade für die Information über zu validierende Signalpfade unter der Mehrzahl von Signalpfaden. Das Verfahren von 1a umfasst ferner ein Bereitstellen 190 der Information über zu validierende Signalpfade, etwa als Signal über einen Bildschirm oder über ein Computernetzwerk (über die Schnittstelle 12). Dabei wurden die Signalpfade grundlegend basierend auf den ausgewählten ein oder mehreren Eingabesignalen und/oder Ausgabesignalen (etwa basierend den Zeilen und/oder Spalten der Heat-Map) ausgewählt wurden. Verschiedene Techniken wurden vorgestellt, um die Auswahl weiter zu verfeinern, anhand des Pfadindex und der Pfadkodierung, zum Beispiel. Daher kann die Information über die zu validierenden Signalpfade mit der grafischen Übersicht der Mehrzahl von Signalpfaden bereitgestellt werden, d.h. mit der Pfadkodierung. Entweder kann das Ergebnis der Auswahl nun validiert werden, oder ein Experte kann anhand der grafischen Darstellung nun die Auswahl der konkret zu validierenden Signalpfade vornehmen.All the previously used features can be used to (automatically or semi-automatically) select 170 the signal paths for the information on signal paths to be validated among the plurality of signal paths. The method of 1a further comprises providing 190 the information about signal paths to be validated, for example as a signal via a screen or via a computer network (via the interface 12). The signal paths were selected fundamentally based on the selected one or more input signals and/or output signals (for example based on the rows and/or columns of the heat map). Various techniques were presented to further refine the selection, based on the path index and the path coding, for example. Therefore, the information about the signal paths to be validated can be provided with the graphical overview of the plurality of signal paths, ie with the path coding. Either the result of the selection can now be validated, or an expert can now use the graphical representation to select the specific signal paths to be validated.

Die eine oder mehreren Schnittstellen 12 der Vorrichtung 10 können einem oder mehreren Eingängen und/oder Ausgängen zum Empfangen und/oder Übertragen von Informationen entsprechen, die in digitalen (Bit-)Werten gemäß einem bestimmten Code innerhalb eines Moduls, zwischen Modulen oder zwischen Modulen verschiedener Einheiten vorliegen können. Die eine oder mehreren Schnittstellen 12 können beispielsweise Schnittstellenschaltungen umfassen, die für den Empfang und/oder die Übertragung von Informationen ausgebildet sind.The one or more interfaces 12 of the device 10 may correspond to one or more inputs and/or outputs for receiving and/or transmitting information, which may be in digital (bit) values according to a specific code within a module, between modules, or between modules of different units. The one or more interfaces 12 may, for example, comprise interface circuits configured for receiving and/or transmitting information.

Der eine oder die mehreren Prozessoren 14 der Vorrichtung 10 können durch eine oder mehrere Verarbeitungseinheiten, ein oder mehrere Verarbeitungsgeräte, ein beliebiges Mittel zur Verarbeitung, wie einen Prozessor, einen Computer oder eine programmierbare Hardwarekomponente, die mit entsprechend angepasster Software betrieben werden kann, implementiert werden. Mit anderen Worten: Die beschriebene Funktion des einen oder der mehreren Prozessoren 14 kann auch in Software implementiert werden, die dann auf einer oder mehreren programmierbaren Hardwarekomponenten ausgeführt wird. Solche Hardwarekomponenten können einen universal verwendbarer Prozessor (etwa eine Zentralprozessoreinheit), einen Digitalen Signalprozessor (DSP), einen Mikrocontroller usw. umfassen.The one or more processors 14 of the device 10 can be implemented by one or more processing units, one or more processing devices, any means of processing, such as a processor, a computer, or a programmable hardware component that can be operated with appropriately adapted software. In other words, the described function of the one or more processors 14 can also be implemented in software that is then executed on one or more programmable hardware components. Such hardware components can include a general-purpose processor (such as a central processing unit), a digital signal processor (DSP), a microcontroller, etc.

Die eine oder mehreren Speichergeräte 16 der Vorrichtung 10 können mindestens ein Element aus der Gruppe der computerlesbaren Speichermedien umfassen, wie z. B. ein magnetisches oder optisches Speichermedium, z. B. ein Festplattenlaufwerk, einen Flash-Speicher, eine Diskette, einen Direktzugriffsspeicher (RAM, Random Access Memory), einen programmierbaren Festwertspeicher (PROM, Programmable Read-Only Memory), einen löschbaren programmierbaren Festwertspeicher (EPROM, Erasable Programmable Read-Only Memory), einen elektronisch löschbaren programmierbaren Festwertspeicher (EEPROM, Electrically Erasable Programmable Read-Only Memory) oder einen Netzwerkspeicher.The one or more storage devices 16 of the apparatus 10 may include at least one member of the group of computer-readable storage media, such as a magnetic or optical storage medium, e.g., a hard disk drive, a flash memory, a floppy disk, a random access memory (RAM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a network storage.

Die Aspekte und Merkmale, die im Zusammenhang mit einem bestimmten der vorherigen Beispiele beschrieben sind, können auch mit einem oder mehreren der weiteren Beispiele kombiniert werden, um ein identisches oder ähnliches Merkmal dieses weiteren Beispiels zu ersetzen oder um das Merkmal in das weitere Beispiel zusätzlich einzuführen.The aspects and features described in connection with a particular one of the previous examples may also be combined with one or more of the further examples to replace an identical or similar feature of that further example or to additionally introduce the feature into the further example.

Beispiele können weiterhin ein (Computer-)Programm mit einem Programmcode zum Ausführen eines oder mehrerer der obigen Verfahren sein oder sich darauf beziehen, wenn das Programm auf einem Computer, einem Prozessor oder einer sonstigen programmierbaren Hardwarekomponente ausgeführt wird. Schritte, Operationen oder Prozesse von verschiedenen der oben beschriebenen Verfahren können also auch durch programmierte Computer, Prozessoren oder sonstige programmierbare Hardwarekomponenten ausgeführt werden. Beispiele können auch Programmspeichervorrichtungen, z.B. Digitaldatenspeichermedien, abdecken, die maschinen-, prozessor- oder computerlesbar sind und maschinenausführbare, prozessorausführbare oder computerausführbare Programme und Anweisungen codieren beziehungsweise enthalten. Die Programmspeichervorrichtungen können z.B. Digitalspeicher, magnetische Speichermedien wie beispielsweise Magnetplatten und Magnetbänder, Festplattenlaufwerke oder optisch lesbare Digitaldatenspeichermedien umfassen oder sein. Weitere Beispiele können auch Computer, Prozessoren, Steuereinheiten, feld-programmierbare Logik-Arrays ((F)PLAs = (Field) Programmable Logic Arrays), feld-programmierbare Gate-Arrays ((F)PGA = (Field) Programmable Gate Arrays), Grafikprozessoren (GPU = Graphics Processor Unit), anwendungsspezifische integrierte Schaltungen (ASIC = application-specific integrated circuit), integrierte Schaltungen (IC= Integrated Circuit) oder Ein-Chip-Systeme (SoC = System-on-a-Chip) abdecken, die zum Ausführen der Schritte der oben beschriebenen Verfahren programmiert sind.Examples may further be or relate to a (computer) program having a program code for carrying out one or more of the above methods when the program is executed on a computer, a processor or another programmable hardware component. Steps, operations or processes of various of the methods described above may thus also be carried out by programmed computers, processors or other programmable hardware components. Examples may also cover program storage devices, e.g. digital data storage media, which are machine-, processor- or computer-readable and encode or contain machine-executable, processor-executable or computer-executable programs and instructions. The program storage devices may be, e.g. digital memories, magnetic storage media such as for example, magnetic disks and tapes, hard disk drives or optically readable digital data storage media. Further examples may also cover computers, processors, controllers, field-programmable logic arrays ((F)PLAs = (Field) Programmable Logic Arrays), field-programmable gate arrays ((F)PGA = (Field) Programmable Gate Arrays), graphics processor units (GPU = Graphics Processor Unit), application-specific integrated circuits (ASIC = application-specific integrated circuit), integrated circuits (IC = Integrated Circuit) or system-on-a-chip (SoC = System-on-a-Chip) programmed to carry out the steps of the methods described above.

Es versteht sich ferner, dass die Offenbarung mehrerer, in der Beschreibung oder den Ansprüchen offenbarter Schritte, Prozesse, Operationen oder Funktionen nicht als zwingend in der beschriebenen Reihenfolge befindlich ausgelegt werden soll, sofern dies nicht im Einzelfall explizit angegeben oder aus technischen Gründen zwingend erforderlich ist. Daher wird durch die vorhergehende Beschreibung die Durchführung von mehreren Schritten oder Funktionen nicht auf eine bestimmte Reihenfolge begrenzt. Ferner kann bei weiteren Beispielen ein einzelner Schritt, eine einzelne Funktion, ein einzelner Prozess oder eine einzelne Operation mehrere Teilschritte, -funktionen, - prozesse oder -operationen einschließen und/oder in dieselben aufgebrochen werden.It is further understood that the disclosure of multiple steps, processes, operations, or functions disclosed in the specification or claims should not be construed as being necessarily in the order described, unless explicitly stated in the individual case or required for technical reasons. Therefore, the foregoing description does not limit the performance of multiple steps or functions to a particular order. Furthermore, in further examples, a single step, function, process, or operation may include and/or be broken down into multiple sub-steps, functions, processes, or operations.

Wenn einige Aspekte in den vorhergehenden Abschnitten im Zusammenhang mit einer Vorrichtung oder einem System beschrieben wurden, sind diese Aspekte auch als eine Beschreibung des entsprechenden Verfahrens zu verstehen. Dabei kann beispielsweise ein Block, eine Vorrichtung oder ein funktionaler Aspekt der Vorrichtung oder des Systems einem Merkmal, etwa einem Verfahrensschritt, des entsprechenden Verfahrens entsprechen. Entsprechend dazu sind Aspekte, die im Zusammenhang mit einem Verfahren beschrieben werden, auch als eine Beschreibung eines entsprechenden Blocks, eines entsprechenden Elements, einer Eigenschaft oder eines funktionalen Merkmals einer entsprechenden Vorrichtung oder eines entsprechenden Systems zu verstehen.If some aspects in the previous sections were described in connection with a device or a system, these aspects are also to be understood as a description of the corresponding method. For example, a block, a device or a functional aspect of the device or system can correspond to a feature, such as a method step, of the corresponding method. Accordingly, aspects described in connection with a method are also to be understood as a description of a corresponding block, a corresponding element, a property or a functional feature of a corresponding device or a corresponding system.

BezugszeichenlisteList of reference symbols

1010
Vorrichtungcontraption
1212
Schnittstelleinterface
1414
Prozessorprocessor
1616
SpeichergerätStorage device
100100
ComputersystemComputer system
110110
Erhalten von Informationen über Eingabesignale und AusgabesignaleObtaining information about input signals and output signals
120120
Berechnen von Anzahl von internen Signal-Teilstrecken zwischen Eingabesignal und AusgabesignalCalculating the number of internal signal sections between input signal and output signal
130130
Berechnen eines statistischen WertsCalculating a statistical value
140140
Auswählen von Eingabesignalen/AusgabesignalenSelecting input signals/output signals
150150
Bestimmen von Signalpfaden basierend auf den ausgewählten Eingabesignalen/AusgabesignalenDetermine signal paths based on the selected input signals/output signals
160160
Berechnen einer MaßzahlCalculating a measure
162162
Sortieren der Signalpfade gemäß der MaßzahlSorting the signal paths according to the measure
164164
Auswählen von Signal-TeilstreckenSelecting signal sections
170170
Auswählen von SignalpfadenSelecting signal paths
180180
Erstellen einer grafischen RepräsentationCreating a graphical representation
190190
Bereitstellen einer Information über zu validierende SignalpfadeProviding information about signal paths to be validated
200200
Heat-MapHeat map
210210
Zeile mit niedrigem VariationskoeffizientenLine with low coefficient of variation
220220
Zeile mit hohem VariationskoeffizientenLine with high coefficient of variation
230230
Spalte mit einem hohen VariationskoeffizientenColumn with a high coefficient of variation
240240
Spalte mit einem niedrigem VariationskoeffizientenColumn with a low coefficient of variation
310310
Quellesource
320, 330320, 330
Interne KnotenInternal nodes
340340
Senkedepression
350350
Klammerbracket
600-690600-690
Pfadkodierte SignalpfadePath-encoded signal paths
700700
Grafisch kodierte TeilstreckenGraphically coded sections
710710
Prozentuale VerwendungshäufigkeitPercentage of usage
720720
Absolute VerwendungshäufigkeitAbsolute frequency of use

Claims (13)

Computerimplementiertes Verfahren zur Auswahl von Signalpfaden eines zu validierenden graphenbasierten Netzwerks, das Verfahren umfassend: Erhalten (110) von Informationen über eine Mehrzahl von Eingabesignalen und eine Mehrzahl von Ausgabesignalen des zu validierenden graphenbasierten Netzwerks; Berechnen (120), für die Mehrzahl von Eingabesignalen und die Mehrzahl von Ausgabesignalen, einer Anzahl von internen Signal-Teilstrecken zwischen dem jeweiligen Eingabesignal und dem jeweiligen Ausgabesignal, falls ein Signalpfad zwischen dem jeweiligen Eingabesignal und Ausgabesignal existiert; Berechnen (130), mittels einer Statistikfunktion, für die Mehrzahl von Eingabesignalen und/oder die Mehrzahl von Ausgabesignalen, eines statistischen Werts, der die Signalpfade zwischen einem Eingabesignal und der Mehrzahl von Ausgabesignalen oder die Signalpfade zwischen einem Ausgabesignal und der Mehrzahl von Eingabesignalen repräsentiert; und Auswählen (140), basierend auf besonders hohen und/oder besonders niedrigen statistischen Werten, ein oder mehrerer Eingabesignale und/oder Ausgabesignale, für die die besonders hohen oder niedrigen statistischen Werte berechnet wurden; und Bereitstellen (190) einer Information über zu validierende Signalpfade, wobei die Signalpfade basierend auf den ausgewählten ein oder mehreren Eingabesignalen und/oder Ausgabesignalen ausgewählt wurden.Computer-implemented method for selecting signal paths of a graph-based network to be validated, the method comprising: Obtaining (110) information about a plurality of input signals and a plurality of output signals of the graph-based network to be validated; calculating (120), for the plurality of input signals and the plurality of output signals, a number of internal signal sections between the respective input signal and the respective output signal, if a signal path exists between the respective input signal and output signal; calculating (130), by means of a statistics function, for the plurality of input signals and/or the plurality of output signals, a statistical value that represents the signal paths between an input signal and the plurality of output signals or the signal paths between an output signal and the plurality of input signals; and selecting (140), based on particularly high and/or particularly low statistical values, one or more input signals and/or output signals for which the particularly high or low statistical values were calculated; and providing (190) information about signal paths to be validated, wherein the signal paths were selected based on the selected one or more input signals and/or output signals. Das Verfahren gemäß Anspruch 1, wobei die Statistikfunktion der Berechnung des Variationskoeffizienten entspricht.The procedure according to Claim 1 , where the statistical function corresponds to the calculation of the coefficient of variation. Das Verfahren gemäß einem der Ansprüche 1 oder 2, wobei ein statistischer Wert als besonders hoch oder besonders niedrig gilt, falls der statistische Wert unter den n höchsten oder m niedrigsten statistischen Werten liegt, wobei n und m vordefinierte positive Ganzzahlen sind, oder wobei ein statistischer Wert als besonders hoch gilt, wenn der statistische Wert zumindest 95% des höchsten statistischen Werts erreicht und/oder wobei ein statistischer Wert als besonders niedrig gilt, wenn der statistische Wert höchstens 105% des niedrigsten statistischen Werts erreicht.The procedure according to one of the Claims 1 or 2 , where a statistical value is considered to be particularly high or particularly low if the statistical value is among the n highest or m lowest statistical values, where n and m are predefined positive integers, or where a statistical value is considered to be particularly high if the statistical value is at least 95% of the highest statistical value and/or where a statistical value is considered to be particularly low if the statistical value is at most 105% of the lowest statistical value. Das Verfahren gemäß einem der Ansprüche 1 bis 3, wobei die Mehrzahl von Eingabesignalen und die Mehrzahl von Ausgabesignalen durch einen Benutzer ausgewählte Signale unter der Gesamtheit der Eingabesignale und Ausgabesignale des graphenbasierten Netzwerks sind.The procedure according to one of the Claims 1 until 3 , wherein the plurality of input signals and the plurality of output signals are signals selected by a user from among the total of the input signals and output signals of the graph-based network. Das Verfahren gemäß einem der Ansprüche 1 bis 4, ferner umfassend Bestimmen (150) einer Mehrzahl von Signalpfaden basierend auf den ausgewählten ein oder mehreren Eingabesignalen und/oder Ausgabesignalen, wobei die Signalpfade der Mehrzahl von Signalpfaden mit einem der ausgewählten Eingabesignale beginnen oder mit einem der ausgewählten Ausgabesignale terminieren, und Auswählen (170) der Signalpfade für die Information über zu validierende Signalpfade unter der Mehrzahl von Signalpfaden.The procedure according to one of the Claims 1 until 4 , further comprising determining (150) a plurality of signal paths based on the selected one or more input signals and/or output signals, wherein the signal paths of the plurality of signal paths begin with one of the selected input signals or terminate with one of the selected output signals, and selecting (170) the signal paths for the information on signal paths to be validated among the plurality of signal paths. Das Verfahren gemäß Anspruch 5, ferner umfassend Berechnen (160), für die Mehrzahl von Signalpfaden, einer Maßzahl, die den jeweiligen Signalpfad charakterisiert, Sortieren (162) der Mehrzahl von Signalpfaden gemäß der Maßzahl, und Auswählen (170) der Signalpfade unter der Mehrzahl von Signalpfaden für die Information über zu validierende Signalpfade basierend auf der Sortierung.The procedure according to Claim 5 , further comprising calculating (160), for the plurality of signal paths, a metric characterizing the respective signal path, sorting (162) the plurality of signal paths according to the metric, and selecting (170) the signal paths among the plurality of signal paths for the information about signal paths to be validated based on the sorting. Das Verfahren gemäß Anspruch 6, wobei die Maßzahl auf zumindest einem der Anzahl von internen Signal-Teilstrecken des jeweiligen Signalpfads, einer Anzahl von internen Signaleingängen, die zu dem Signalpfad beitragen, und einer Anzahl von internen Signalausgängen basiert.The procedure according to Claim 6 , wherein the measure is based on at least one of the number of internal signal sections of the respective signal path, a number of internal signal inputs contributing to the signal path, and a number of internal signal outputs. Das Verfahren gemäß einem der Ansprüche 6 oder 7, ferner umfassend Erstellen (180) einer grafischen Repräsentation für die Teilstrecken der jeweiligen Signalpfade zwischen Eingangssignal und Ausgangssignal, wobei die grafische Repräsentation der Teilstrecken zumindest auf einem Verhältnis zwischen internen Signaleingängen und internen Signalausgängen der jeweiligen Teilstrecke basiert, Berechnen einer grafischen Übersicht der Mehrzahl von Signalpfade, sortiert gemäß der Maßzahl, basierend auf der grafischen Repräsentation der Teilstrecken, und Bereitstellen der Information über die zu validierenden Signalpfade mit der grafischen Übersicht der Mehrzahl von Signalpfaden.The procedure according to one of the Claims 6 or 7 , further comprising creating (180) a graphical representation for the partial sections of the respective signal paths between input signal and output signal, wherein the graphical representation of the partial sections is based at least on a ratio between internal signal inputs and internal signal outputs of the respective partial section, calculating a graphical overview of the plurality of signal paths, sorted according to the metric based on the graphical representation of the partial sections, and providing the information about the signal paths to be validated with the graphical overview of the plurality of signal paths. Das Verfahren gemäß Anspruch 8, wobei die grafische Repräsentation der Teilstrecken ferner auf der absoluten Anzahl an internen Signaleingängen und/oder internen Signalausgängen basiert.The procedure according to Claim 8 , whereby the graphical representation of the sections is further based on the absolute number of internal signal inputs and/or internal signal outputs. Das Verfahren gemäß einem der Ansprüche 5 bis 9, ferner umfassend Auswählen (164), unter der Mehrzahl von Signalpfaden, von Signal-Teilstrecken, die in mehreren Signalpfaden enthalten sind, und Auswählen (170) der Signalpfade unter der Mehrzahl von Signalpfaden für die Information über zu validierende Signalpfade basierend auf den ausgewählten Signal-Teilstrecken.The procedure according to one of the Claims 5 until 9 , further comprising selecting (164), from among the plurality of signal paths, signal sub-paths included in a plurality of signal paths, and selecting (170) the signal paths from among the plurality of signal paths for the information on signal paths to be validated based on the selected signal sub-paths. Das Verfahren gemäß einem der Ansprüche 1 bis 10, wobei das graphenbasierte Netzwerk eine Funktionalität eines Steuergeräts eines Fahrzeugs abbildet.The procedure according to one of the Claims 1 until 10 , where the graph-based network maps a functionality of a vehicle control unit. Computerprogramm, umfassend Befehle, die bei der Ausführung des Programms durch einen Computer diesen veranlassen, das Verfahren gemäß einem der Ansprüche 1 bis 11 auszuführen.Computer program comprising instructions which, when the program is executed, are a computer to cause it to perform the procedure according to one of the Claims 1 until 11 to execute. Vorrichtung (10), umfassend ein oder mehrere Prozessoren (14) und ein oder mehrere Speichergeräte (16), ausgebildet zum Ausführen des Verfahrens gemäß einem der Ansprüche 1 bis 11.Apparatus (10) comprising one or more processors (14) and one or more memory devices (16) designed to carry out the method according to one of the Claims 1 until 11 .
DE102022130493.0A 2022-11-17 2022-11-17 Computer-implemented method, apparatus and computer program for selecting signal paths of a graph-based network to be validated Pending DE102022130493A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102022130493.0A DE102022130493A1 (en) 2022-11-17 2022-11-17 Computer-implemented method, apparatus and computer program for selecting signal paths of a graph-based network to be validated

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102022130493.0A DE102022130493A1 (en) 2022-11-17 2022-11-17 Computer-implemented method, apparatus and computer program for selecting signal paths of a graph-based network to be validated

Publications (1)

Publication Number Publication Date
DE102022130493A1 true DE102022130493A1 (en) 2024-05-23

Family

ID=90923277

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022130493.0A Pending DE102022130493A1 (en) 2022-11-17 2022-11-17 Computer-implemented method, apparatus and computer program for selecting signal paths of a graph-based network to be validated

Country Status (1)

Country Link
DE (1) DE102022130493A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006059829A1 (en) 2006-12-15 2008-06-19 Slawomir Suchy Universal computer for performing all necessary functions of computer, has microprocessor, hard disk, main memory, monitor, digital versatile disc-compact disc-drive integrated in single computer device as components

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006059829A1 (en) 2006-12-15 2008-06-19 Slawomir Suchy Universal computer for performing all necessary functions of computer, has microprocessor, hard disk, main memory, monitor, digital versatile disc-compact disc-drive integrated in single computer device as components

Similar Documents

Publication Publication Date Title
EP2439691A1 (en) Method and device for mechanical production of a process diagram
EP3188053A1 (en) Method for configuring a co-simulation for an overall system
DE112018002626T5 (en) Methods and systems for the optimized visual summary of sequences with time-related event data
WO2004102291A1 (en) Configuration of tools and processes for metal forming
EP3812949A1 (en) Configurable digital twin
EP2433185B1 (en) Apparatus and method for editing a process simulation database for a process
DE102021204550A1 (en) Method for generating at least one data set for training a machine learning algorithm
DE102022130493A1 (en) Computer-implemented method, apparatus and computer program for selecting signal paths of a graph-based network to be validated
DE102009018785A1 (en) Methods and apparatus for a virtual test cell
DE102016208178A1 (en) Software segmentation method, software segmentation device, and on-vehicle device
DE10015286A1 (en) Automated experimental result evaluation for wafer manufacture in semiconductor factory, involves comparing condition of attributes after each experiment, and listing out mismatching attributes in separate table
DE102018117881A1 (en) SYSTEM AND METHOD FOR USING BUSINESS INTELLIGENCE FOR RULEBASED MANUFACTURING PROCESSING DESIGN
DE102019106724A1 (en) Efficient data processing
DE102014213866A1 (en) Coordination of an internal combustion engine in development by map optimization of high-dimensional parameter spaces
EP2990941B1 (en) Computer-implemented method for generating a control device program codes and related report management environment
DE102021200927A1 (en) Method and device for analyzing a system embedded in particular in an at least partially autonomous robot or vehicle
DE102017118996B3 (en) Method for determining influencing parameter combinations of a physical simulation model
EP1556811A2 (en) Prediction of the degree of delivery reliability in serial production
DE10325513B4 (en) Method and apparatus for creating a behavioral aspect of a formal verification circuit
DE102018212801A1 (en) Diagnosing complex systems
DE10206658A1 (en) Method for checking an integrated electrical circuit
DE102023107067A1 (en) Computer-implemented method for securing a signal network representing a vehicle and/or a system of the vehicle, computer program and/or computer-readable medium and data processing device
DE10055679A1 (en) Model-based generation of test scenarios by forming classification tree and extracting information from simulation model
DE102022207482B4 (en) Computer-implemented method for determining a data quality index, computer program and control unit
DE112010005924T5 (en) Method and system for passing changes to a master unit to duplicates

Legal Events

Date Code Title Description
R163 Identified publications notified