Method for analyzing a signal processing network
Patent Information
- Application Number
- DE102024200435
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-01-18
- Publication Date
- 2025-07-24
- Estimated Expiration
- Not applicable · inactive patent
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Technical FieldThe invention relates to a method for analysing a signal processing network according to the preamble of claim 1.Prior ArtSignal processing networks such as sensors and processing units in a car have complex dependencies and their dimensions are no longer transparent.When it comes to analyze a signal processing network in a car with respect to, for example, on-board diagnostic software for emission analysis, it may become necessary to analyze all paths in such software in order to avoid undesirable behavior of the software. For the request to analyze each lane diagnostic or OBD-relevant or OBD-suspect path, all potential signal influences of the overall software running in the signal processing network on the emission must be determined.The complexity of such signal processing networks and the resulting complexity of software executing these networks make it extremely complicated, time consuming and cumbersome to perform such analysis.Disclosure of the InventionThe object of the invention is to overcome or at least reduce the above mentioned disadvantages.The problem is solved by a method for analysing a signal processing network, the method comprising an iteration process during which a software program representing the signal processing network is iterated to define a model representing the signal processing network, the iteration process supplying the model as its output.The term "signal processing network" is to be understood as referring to multiple devices, such as sensors and / or processing units included in a technical system, such as a vehicle, e.g., a car. Such a signal processing network typically also includes software that typically runs on at least some or all of the devices and that typically runs and / or coordinates the operation of the signal processing network. The term "software program representing the signal processing network" is typically understood to refer to such software that runs the signal processing network. The term "model representing a signal processing network" is to be understood as typically referring to a representation of the signal processing network having reduced complexity compared to the original signal processing network. Such a model is typically a computerized model.In preferred embodiments, a set of initial states of the signal processing network is provided as input to the software program at the beginning of the iteration process. The set of initial conditions is typically defined based on expert knowledge at the beginning of the method. It is possible that the set of initial states comprises only one initial state.In preferred embodiments, the iteration process comprises an execution, preferably multiple executions, of a software object, the software object receiving as input an output of the software program, the software object preferably receiving as input the set of initial states, the software object preferably supplying as input its output to the software program. The "software object" may also be referred to as a "second software program.".In preferred embodiments, the method includes a compilation step during which the software program is created by means of compilation based on source code.In preferred embodiments, the method comprises a sensitivity analysis process during which a plurality of path weights are calculated for a plurality of paths of the model, each path preferably corresponding to a dependency between an input of the model and an output of the model. The use of such path weights has the advantage of standardization the analysis of dependencies between inputs and outputs of the model and thereby making the analysis of dependencies on variables of the signal processing network more straightforward and easier. In typical embodiments, the path weights include an average sensitivity weight and / or a large weight highlight average sensitivity weight and / or a maximum sensitivity weight.In preferred embodiments, the method comprises a graph generation step during which a graph is generated on the basis of the plurality of graph weights and / or on the basis of the source code and / or on the basis of the model. The term "graph" is to be understood as typically referring to a standardized, typically computerized, representation of the model.In preferred embodiments, the method comprises a software analysis process during which one or more paths in the source code and / or in the software program and / or in the software object are / are saved by means of the graph and / or one or more path weights, and / or during which unstable and / or sensitive regions in the source code and / or in the software program and / or in the software object are discovered by means of the graph and / or one or more path weights, and / or during which variables and / or redundant paths in the source code and / or in the software program and / or in the software object are checked by means of the graph and / or one or more path weights.Generally, the above-mentioned methods are typically computer-implemented methods.The problem is further solved by a system for executing a method for analyzing a signal processing network, wherein the system is preferably configured to at least partially execute and / or coordinate and / or control a method for analyzing a signal processing network according to one of the preceding embodiments.In typical embodiments, the system includes an iteration module and / or a model delivery module and / or an initial state delivery module and / or a software program execution module and / or a software object execution module and / or a compiler module and / or a sensitivity analysis module and / or a path weight calculation module and / or a graph generation module and / or a path backup module and / or an unstable region discovery module and / or a sensitive region discovery module and / or a variable inspection module and / or a redundant path inspection module.In typical embodiments, at least one of these modules or preferably all of these modules are implemented by means of software code. The system typically comprises means for executing at least one method according to any of the above mentioned embodiments, in particular computer hardware means such as processing units, storage devices or the like for participation in the various methods and / or processes and / or sub-processes and / or routines and / or tests and / or steps outlined above.A computer program, in a typical embodiment of the invention, comprises instructions which, when the program is executed by a computer, cause the computer to carry out a method according to any of the above-mentioned embodiments. The term "computer" is intended to refer to any device or structure capable of executing the instructions. The computer program can also be referred to as a computer program product.A computer readable medium, in one embodiment of the invention, comprises computer program code for carrying out a method according to any of the above-mentioned embodiments and / or comprises a computer program according to the above-mentioned embodiment. The term "computer readable medium" may be understood to refer to, in particular but not exclusively, hard drives and / or servers and / or flash drives and / or DVDs and / or BLU-ray data carriers and / or CDs. Further, the term "computer readable medium" may refer to a data stream that is produced, for example, when a computer program and / or a computer program product is downloaded from the Internet.Brief Description of the DrawingsThe invention is explained below by means of the figures. It shows: FIG. 1 is a schematic illustration of a method for analyzing a signal processing network according to an embodiment of the invention.DESCRIPTION OF PREFERRED EMBODIMENTSFIG. 1 shows a schematic illustration of a method for analyzing a signal processing network according to an embodiment of the invention. The method comprises an iteration process 1. in this iteration process 1, the software program p and the software object q are executed, typically each multiple times. FIG. 1 further shows a plurality of path weights 2, a graph 3, a source code 4 and an initial state x 0. The software program p is typically software that operates and / or coordinates and / or runs a signal processing network, such as a signal processing network that forms part of a vehicle (signal processing network and vehicle not shown in FIG. 1 ). Flows of information and / or inputs and outputs are schematically indicated in FIG. 1 by dashed arrows.At the beginning of the method, the source code 4 is compiled to generate the software program p. The software program p receives as a first input the initial state x 0, which is typically defined on the basis of expert knowledge. Then, the software program p is executed once. The output of this first execution of the software program p is sent as input to the software object q. The initial state x 0 is also provided as input to the software object q. The software object q is then executed once with these inputs, and the resulting output is fed back as input to the software program p. This process, namely the execution of the software program p and the software object q, is then typically repeated at least once and typically a plurality of times. This iteration of the executions of the software program p and software object q results in at one point in the generation of a model representing the signal processing network (the model itself is not shown in Figure 1) and in the generation of several path weights 2 for paths of this model. In the embodiment depicted in FIG. 1, these multiple path weights 2 and source code are then used to generate graph 3. By means of the graph 3, the model (and therefore the signal processing network) can then be analyzed.Mathematical details of the method according to an embodiment of the invention are described in more detail below:The desired model of the signal processing network to be analyzed is typically derived from a software program p running on all the systems and processing units of the signal processing network. The software program p can be initialized in a certain state x 0 and after a full cycle of calculations the software program p reaches a state with all outputs which is called p(x 0) in analogy to a mathematical function. The space of input parameters R n is defined as an n-dimensional space of real values (which is an excess of discrete or binary numbers). The output space of this software program p is defined as R m as an m-dimensional space of real values (which is an excess of discrete or binary numbers).A set of initial states based on expert knowledge typically serves as input to the software program p.N R is the number of times the software program p should be repeated (or in other words, integrated).The input state x 1 of the software program p may depend on the previously generated output p(x 0). This dependency is detected with another "functional" object q, which calculates the new input state as x 1= q(x 0, p(x 0)) ∈R n. This "functional" object q is also referred to as software object q.For each input dimension of the method, in particular of the software program p, a set of scale parameters gi is defined for i ∈ {1,..., n}.In the signal processing network represented by the software program p, the Nv vertex indices exist An ordered list of input vertices is defined to correspond to the ordered dimensions of the initial state space R n. An ordered list of output vertices is defined to correspond to the ordered dimensions of the output state space R m.Before the model can be defined, it is necessary to concatenate the software program p and the software object q with each other so as to always map R n → R m. For this purpose, the functions f n are defined in a recursive manner: where x ∈R is n and, for example, f 2( x)=p(q(x, p(x)) is substantially twice the application of the software program p. This yields the model M:=f NR for the repeated application of the software program p and the software object q.It is now possible to carry out a sensitivity analysis, namely here via discrete derivatives. A discrete Jacobian matrix J(x) is defined as follows over its elements: where h is i:= h·g is i and h is set as a small but numerically non-problematic number.It is then possible to calculate the path weights on the basis of various assumptions:If one is the average sensitivity, an average sensitivity weight may be calculated as follows:If one is about average sensitivity but large events are to be weighted more heavily, a large weight highlight eyecut sensitivity weight may be calculated as follows:If one is the maximum sensitivity, a maximum sensitivity weight may be calculated as follows:The signal processing network will have certain paths p i,j connecting the input vertices to the output vertices. It is now possible to weight the importance of these paths by the above-mentioned weights W i,j. This gives the relevance of the paths to further analysis, such as emission relevance.In preferred embodiments, in addition to or in combination with the aforementioned types of analysis, the following types of analysis are possible:Securing paths from i to j with greatest W i,j for emissions or signal reliability.Discovery of unstable / sensitive regions meaning they have large W i,j.Enable accurate checking of variables and redundant paths important for many result variables.The invention is not limited to the preferred embodiments described herein. The scope of protection is defined by the claims.It is further noted that the methods and processes disclosed in the specification or claims may be implemented by an apparatus having means for executing each of the respective steps of these methods and / or processes.List of Reference Numerals1 Iteration process 2 Several path weights 3 Graph 4 Source code p Software program q Software object x 0 initial state
Claims
A method for analysing a signal processing network, characterized in that the method comprises an iteration process (1) during which a software program (p) representing the signal processing network is iterated to define a model representing the signal processing network, the iteration process (1) supplying the model as its output.Method according to claim 1, characterized in that a set of initial states (x 0) of the signal processing network is supplied as input to the software program (p) at the beginning of the iteration process (1).Method according to one of the preceding claims, characterized in that the iteration process (1) comprises an execution, preferably a plurality of executions, of a software object (q), wherein the software object (q) receives as input an output of the software program (p), wherein the software object (q) preferably receives as input the set of initial states (x 0) wherein the software object (q) preferably supplies its output as input to the software program (p).Method according to one of the preceding claims, characterized in that the method comprises a compilation step during which the software program (p) is created by means of compilation on the basis of source code (4).Method according to any one of the preceding claims, characterized in that the method comprises a sensitivity analysis process during which a plurality of path weights (2) are calculated for a plurality of paths of the model, each path preferably corresponding to a dependency between an input of the model and an output of the model.Method according to claim 5, characterized in that the method comprises a graph generation step during which a graph (3) is generated on the basis of the plurality of graph weights (2) and / or on the basis of the source code (4) and / or on the basis of the model.Method according to claim 6, characterized in that the method comprises a software analysis process during which - one or more paths in the source code (4) and / or in the software program (p) and / or in the software object (q) are / are saved by means of the graph (3) and / or one or more path weights, and / or - unstable and / or sensitive regions in the source code (4) and / or in the software program (p) and / or in the software object (q) are discovered by means of the graph (3) and / or one or more path weights, and / or - variables and / or redundant paths in the source code (4) and / or in the software program (p) and / or in the software object (q) are checked by means of the graph (3) and / or one or more path weights.A system for performing a method for analysing a signal processing network, the system being adapted to at least partially perform and / or coordinate and / or control a method for analysing a signal processing network according to any of the preceding claims.A computer program comprising instructions which, when the program is executed by a computer, cause the computer to carry out a method according to any one of claims 1 to 7.A computer readable medium comprising computer program code for carrying out a method according to any one of claims 1 to 4 and / or comprising a computer program according to claim 9.