# Patent

## Title
Method and system for pre-processing

## Abstract

Effects of components in a process model on other components are determined. The effects are then used to perform preprocessing.

## Background
CROSS REFERENCE TO RELATED APPLICATIONS
This application is based on and hereby claims priority to German Application No. 199 32 945.1 filed on Jul. 14, 1999, the contents of which are hereby incorporated by reference.
BACKGROUND OF THE INVENTION
1. Field of the Invention
The invention relates to a method and system for preprocessing.
2. Description of the Related Art
Within the context of preprocessing, a process model for a technical system is expediently ascertained in one step in the system engineering. Such a process model quickly becomes confusing as the complexity of the technical system increases. Associated with this are sources of error when altering, adjusting and implementing the process model. It is also possible to ascertain a process model for an already existing technical system, with the aim of improving it. Particularly when the real technical system is used as a template for the process model, the model itself quickly becomes confusing; optimization is possible only with difficulty, with enormous complexity and with a high degree of susceptibility to error.
SUMMARY OF THE INVENTION
The object of the invention is to permit preprocessing which can be used to optimize a process model systematically and in a way which is tolerant of errors.
In this context, it may be noted that the preprocessing may advantageously be used as an input for further steps, e.g. design, whether it be redesign, adjustment, control or resetting of a technical system. One advantageous feature in this context is, among other things, processing of the data in the process model, so that, by way of example, improved operation of the technical system is then ensured.
The object is achieved by specifying a method for preprocessing in which effects of components in a process model on other components are determined. The effects are used to perform the preprocessing.
One refinement in this context is that the preprocessing is an optimization of the process model.
In particular, the process model can advantageously be ascertained using a multiplicity of components of different type each having different effects. The preprocessing is expediently performed by taking into account the effects of the components. In this context, the interplay of the components among one another is taken into account in the process model. If particular effects which need to be optimized for preprocessing are taken into account, the process model can be improved or optimized for a possibly concrete implementation in the form of a technical system.
One refinement is that optimization is effected by at least one of the following steps:
a) Parallelization of components:

    
    
        Parallelization is expediently effected when effects of components are independent in relation to one another. In such a case, parallel processing can be effected.
    
    


b) Elimination of a component

    
    
        A superfluous component can automatically be ascertained and eliminated. The result of this is that superfluous actions can be prevented.
    
    


c) Introduction of a checked intermediate component

    
    
        A large number of components can influence one another greatly. In safety-relevant applications, it is advantageous to provide logical decoupling which can be used to determine states within the process model as safe. Such a state is preferably established using a checked component, in this case an intermediate component, which is inserted additionally.
    
    


One development is that the components are distinguished in the form of results and/or actions according to their significance. Preferably, (combinable) results and (combinable) actions alternate. Hence, the effects on a result or of a result, and vice versa, on an action or of an action, can be determined.
In this context, the following effects can be determined, in particular:
a) influence of at least one result which precedes an action;
b) influence of an action on at least one subsequent result;
c) influence of at least one action which precedes a result;
d) influence of a result on at least one subsequent action.
Effects can therefore be regarded as the influencing of a result by preceding results/actions and as the effects of a result on subsequent results/actions.
Another refinement is that the preprocessing is used to perform a structure analysis. The aim of the structure analysis is to find starting points for optimization in the process model. The process model can be conditioned in terms of its structure, in particular, with the structure analysis making it possible, on the basis of this structure, to determine starting points for optimization. Use can then expediently be made of a process model in the form of a structure representation of the actions and results (alternating with one another).
Another development is that the result of the preprocessing, in particular the structure, is used for designing a technical system. In this context, the design of the technical system may comprise redesign, adjustment, validation, optimization or control of the technical system.
The object is also achieved by providing system for preprocessing which comprises a processor unit, which processor unit is set up such that
a) effects of components in a process model on other components can be determined;
b) the effects can be used to perform the preprocessing.
The object is also achieved by providing a computer program which can be used, when loaded and executed on a processor unit, to perform the following steps:
a) effects of components in a process model on other components are determined;
b) the effects are used to perform the preprocessing.
The system is particularly suitable for carrying out the inventive method or one of its developments explained above.



BRIEF DESCRIPTION OF THE DRAWINGS
These and other objects and advantages of the present invention will become more apparent and more readily appreciated from exemplary embodiments of the invention illustrated and explained below with reference to the drawings, in which:
FIG. 1 is a process model diagram showing effects (influences) of results and actions;
FIG. 2 is a graph with a two-dimensional coordinate system for classifying results;
FIGS. 3A–3C are graphs of alternative forms for the coordinate system from FIG. 2;
FIG. 4 is a graph with a two-dimensional coordinate system illustrating the significances of the individual ranges for classifying results;
FIG. 5 shows changes in a process model diagram for splitting into parallel results (in the case of supplying results);
FIG. 6 shows changes in a process model diagram for splitting into a checked result (in the case of supplying results);
FIG. 7 shows changes in a process model diagram for splitting into parallel results (in the case of collecting results);
FIG. 8 shows changes in a process model diagram for splitting into a checked result (in the case of collecting results);
FIG. 9 shows changes in a process model diagram for parallelization in the case of buffering results;
FIG. 10 shows changes in a process model diagram for elimination of a result in the case of buffering results;
FIG. 11 shows changes in a process model diagram for splitting into parallel results (in the case of critical results);
FIG. 12 shows changes in a process model diagram for splitting into a checked result (in the case of critical results);
FIG. 13 is a table containing examples of influence BE on a result by preceding results and actions;
FIG. 14 is a block diagram of a processor unit.



DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
Reference will now be made in detail to the preferred embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to like elements throughout.
Influences of Results and Actions
A result E in an (engineering) process, and hence in a process model, is influenced to a certain extent by all directly preceding results. On the other hand, a result affects all directly subsequent results. FIG. 1 shows these influences in a detail of a process model, with each result being identified by eik. In this context, the following model elements are used for the illustration:
a) box=result,
b) arrow=action
c) dashed arrow=flow of information.
A result influences a subsequent result if there is at least one connection between these results via actions or flows of information.
The influence of the i-th result on the k-th result is determined as eik, where

0≦eik≦1 i, kεN.  (1)

In this context, the value 1 signifies “greatest possible influence”, and the value 0 signifies “no influence”.
In addition, each action T in an (engineering) process (process model) is influenced to a certain extent by all directly preceding results. On the other side of the coin, an action affects all directly subsequent results.
FIG. 1 shows these influences and respectively identifies them with an indicated “t”.
There is an influence between a result and the actions arising therefrom directly or via flows of information and also between an action and the results which result therefrom directly or via flows of information.
The influence of the i-th result on the n-th action is defined as tin, where

0≦tin≦1 iεN; nε.  (2)

Similarly, the influence of the m-th action on the k-th result is defined as tmk, where

0≦tmk≦1 mε; kεN.  (3)

In this context, the value 1 signifies “greatest possible influence”, and the value 0 signifies “no influence”.
By way of example, in FIG. 1:
t2a: denotes the influence of the result E2 on the action Ta;
e23: denotes the influence of the result E2 on the result E3;
ta3: denotes the influence of the action Ta on the result E3.
Influence on a Result
BE denotes the influence on a result by preceding results and/or actions. The influence on the k-th result is defined as the sum of the influences elk of all directly preceding results plus the sum of the influences of all directly preceding actions.

BEK=ΣiEik+Σmtmk i, kεN; mε  (4)

Effect of a Result

WE denotes the effect of a result on subsequent results and actions. The effect of the i-th result is defined as the sum of the influences eik on all directly subsequent results plus the sum of the influences on all directly subsequent actions.

WEi=Σkeik+Σntin i, kεN; nε.  (5)

Influence on an Action

Similarly, BT denotes the influence on an action by preceding results. The influence on the n-th action is defined as the sum of the influences tin of all directly preceding results.

BTn=Σitin iεN; nε.  (6)

Effect of an Action

Similarly, WT denotes the effect of an action on subsequent results. The effect of the m-th action is defined as the sum of the influences tmk on all directly subsequent results

WTm=Σktmk kεN; mε  (7)

Structure Analysis

Influences of Results and Actions in the Structure Analysis

A purely structural analysis of the design of process models does not take account, in particular, of the extent of the influences of results and actions; it is merely significant whether or not an influence exists. In the equations (1) to (7), the values eik, tin and tmk therefore assume the value 1 if an influence exists.
Alternatively, various influences can be expected; in that case, the values are preferably in a range between 0 and 1 (see above definitions).
Accordingly, FIG. 1 gives the following for the result E3:
influence: BE3=2+1=3
(two preceding results and one preceding action)
effect: WE3=2+2=4
(two subsequent results and two subsequent actions)
and the following is obtained for the action Ta:
influence: BTa=2
(two preceding results)
effect: WTa=1
(one subsequent effect)
Other examples are given in FIG. 13.
Coordinate System for Classifying the Model Elements
The text below considers the results of a process model. The considerations may be given in a similar manner for actions.
For each result of a process model, the influence BE and the effect WE are ascertained on the basis of equations (4) and (5). In addition, for each of these variables, the arithmetic mean over all results and the standard deviation σ from the mean are formed.
The arithmetic mean MBE of the influences is obtained on the basis of the following:




  
    
      
        
          M
          BE
        
        =
        
          
            1
            a
          
          ·
          
            
              ∑
              
                k
                =
                1
              
              a
            
            ⁢
            
              
            
            ⁢
            
              B
              Ek
            
          
        
      
    
    
      
        (
        
          8
          ⁢
          a
        
        )
      
    
  




where a denotes the number of results. The standard deviation σBE from the mean of the influences is obtained on the basis of the following:





  
    
      
        
          σ
          BE
        
        =
        
          
            
              1
              
                a
                -
                1
              
            
            ⁢
            
              
                ∑
                
                  k
                  =
                  1
                
                a
              
              ⁢
              
                
              
              ⁢
              
                
                  (
                  
                    
                      B
                      Ek
                    
                    -
                    
                      M
                      BE
                    
                  
                  )
                
                2
              
            
          
        
      
    
    
      
        (
        
          8
          ⁢
          b
        
        )
      
    
  




The arithmetic mean of the effects is obtained as:




  
    
      
        
          M
          WE
        
        =
        
          
            1
            a
          
          ·
          
            
              ∑
              
                i
                =
                1
              
              a
            
            ⁢
            
              
            
            ⁢
            
              W
              Ei
            
          
        
      
    
    
      
        (
        
          9
          ⁢
          a
        
        )
      
    
  




The standard deviation σBE from the mean of the influences is obtained on the basis of the following:




  
    
      
        
          σ
          WE
        
        =
        
          
            
              1
              
                a
                -
                1
              
            
            ⁢
            
              
                ∑
                
                  i
                  =
                  1
                
                a
              
              ⁢
              
                
              
              ⁢
              
                
                  (
                  
                    
                      W
                      Ei
                    
                    -
                    
                      M
                      WE
                    
                  
                  )
                
                2
              
            
          
        
      
    
    
      
        (
        
          9
          ⁢
          b
        
        )
      
    
  




The characteristic quantities “influence” and “effect” and also the respective means and standard deviations can now be used to classify the results. To this end, a coordinate system is determined, on whose abscissa the influence is plotted and on whose ordinate the effect is plotted (cf. FIG. 2).
This coordinate system shows the straight lines

BE=MBE  (10)

and

WE=MWE  (11)

This first produces four ranges in the 1st quadrant of the coordinate system. A fifth range is defined around the point of intersection

X(MBE; MWE)  (12)

of the two straight lines based on equation (10) and equation (11). To this end, the following points are first ascertained in the coordinate system:

A(MBE−fB σBE; MWE),  (13)

B(MBE; MWE+fWσWE),  (14)

C(MBE+fBσBE; MWE),  (15)

D(MBE; MWE−fWσWE).  (16)

In this case, the factor fB stipulates the distance of points A and C from the point of intersection X, and fW stipulates the distance of points B and D from the point of intersection X.

0≦fB≦3  (17)

0≦fW≦3  (18)

give distances in the range between 0 and 3σ.

Connecting points A to B, B to C, C to D and finally D to A gives a rhombus 201 whose area defines the fifth range. FIG. 2 shows the coordinate system and the five ranges.
For this fifth range 201, other geometric shapes (rectangle, ellipse etc.) are also conceivable. FIG. 3 shows some of these. These shapes may be provided as options.
Significance of the ranges in the coordinate system
Each model element is sorted into the coordinate system on the basis of its values for influence and effect, and in this context is put into one of the aforementioned five ranges or on the abscissa or the ordinate of the coordinate system. FIG. 4 illustrates this:

    
    
        a central range 401 contains “inconspicuous” or neutral results. Depending on the process model currently being examined, the factors fB and fW and the geometric shape of the central range 401 should be chosen such that this range contains the majority of the results. As a preset, by way of example, the rhombus is chosen for the shape of the central range 401, and, by way of example, fB=1 and fW=1 are chosen for the factors.
    
    


The four ranges 402, 403, 404 and 405 outside the central range 401 contain the “conspicuous results”.

    
    
        The top left range 402 contains results which have intense effects and are themselves influenced little. Accordingly, these are results which predominantly have a supplying character.
        The bottom right range 404 contains greatly influenced results which themselves develop an effect only to a small extent (results with a collecting character).
        The bottom left range 405 contains results which are influenced little and have little effect. These are results with a buffering character.
        The top right range 403 contains results which have an intense effect and are themselves greatly influenced. These are results with a critical character.
        The ordinate 407 of the coordinate system contains results which merely have an effect, that is to say are not influenced themselves. These are purely supplying results (e.g. starting points).
        The abscissa 406 of the coordinate system contains results which are merely influenced and have no effect themselves. These are purely collecting results (e.g. final results).

Optimization, Structure Analysis

    
    


The structure analysis can be used to derive the pointers illustrated below for optimizing the process model.
Neutral Results
These results are inconspicuous in terms of the structure analysis and need not be considered in any further detail in this context.
Supplying Results
These results have an intense effect on a relatively large number of directly subsequent results and actions. Errors or shortcomings in such results can therefore spread many times.
In terms of their effect, such results should be kept clear and should be reviewed as appropriate.
For optimization, the following options, in particular, are therefore considered:

    
    
        Splitting into parallel partial results which each have fewer effects. FIG. 5 shows a result 501 with the four effects 502 to 505. By splitting 506 the result 501, a partial result 507 with the effects 509, 510 and a partial result 508 with the effects 511, 512 are obtained.
        Inserting a review, which is used to ensure that a result exerting a (multiple) effect is reviewed. FIG. 6 shows a result 601 with effects 602 to 605. By reviewing 607 the result 606, a checked result 608 with the effects 609 to 612 is obtained.

Collecting Results

    
    


These results are influenced by a relatively large number of directly preceding results and actions. The diverse effects, e.g. owing to data from different results and owing to actions from a large number of different workers, mean that such results can lead to difficulties. In particular, prompt production of a product or a technical system may be compromised, clarity of the relationships may be lost on account of the very pronounced collecting character or inconsistencies in the data may arise.
Such results are carefully reviewed, particularly with regard to a production deadline, are kept clear in terms of content and are checked for consistency after production.
For optimization, the following options are therefore considered;

    
    
        Splitting is performed to produce parallel partial results. In this context, the partial results have fewer influences, the result of which is that their respective content is clear and is easier to keep consistent. FIG. 7 shows a result 701 with influences 702 to 705. The splitting is performed such that two influences 707 and 708 act on a result 706, and two influences 710 and 711 act on a result 709. The results 706 and 709 are then combined (see effect 712).
        A review is inserted in order to check the result in terms of the consistency of the diverse collected contents. In FIG. 8, the influences 802 to 805 first have an effect on a result 801. The transformation is now made such that a result 806 affected by influences 807 to 810 is reviewed (cf. review 812) and is thus brought together in a checked result 811.

Buffering Results

    
    


These results are influenced little and have little effect. The creation of such results can have a delaying effect or may be quite superfluous. Typical results are those which lie in a sequential path whose actions can be parallelized, or, by way of example, merely the format of the data contained is converted (e.g. on account of media breakage).
For optimization, the following options are considered:
Is parallelization possible?

    
    
        FIG. 9 shows three series-connected results 901, 902 and 903, where an action Ta 904 transfers the result 901 to the result 902, and an action Tb 905 transfers the result 902 to the result 903. Parallelization is now effected so as to establish whether the result 903 is independent of the result 902. If this is the case, then it is possible to move directly from the result 901 to the result 902 and the result 903 in parallel. This fact is shown in FIG. 9 in the arrangement of the results 906, 907 and 908 with respect to one another.
    
    


Is it possible to dispense with the result?

    
    
        FIG. 10 shows the result 1001 1002, and 1003 in a sequence, where an action Ta 1004 transfers the result 1001 to the result 1002, and an action Tb transfers the result 1002 to the result 1003. If the result 1002 is not absolutely necessary, it can be dispensed with. A change from a result 1006 to a result 1008 is obtained on the basis of an action Tc 1007.

Critical Results

    
    


These results are influenced by a relatively large number of directly preceding results and actions. On the other side of the coin, they have an intense effect on a relatively large number of directly subsequent results and actions.
The diverse effects, e.g. owing to data from different results and owing to actions from a large number of different workers, mean that such results can be problematical. In particular, the prompt production of a system may be compromised, the clarity may be lost on account of the highly collecting character and inconsistencies in the data contained may arise. These problems are particularly critical since the broad effect means that errors or shortcomings in such results can spread many times.
The results are carefully reviewed with regard to the production deadline, for example, are kept clear in terms of influence, content and effect and are checked thoroughly after production.
For optimization, the following options are therefore considered:

    
    
        Splitting into parallel partial results, with fewer influences and effects in each case (c.f. FIG. 11).
        Splitting into successive results with an intermediate review action which checks the results (cf. FIG. 12).

Implementation, Production

Analysis

    
    


Within the context of analyzing a process model and hence a technical system associated with the process model, a map as shown in FIG. 4 is preferably used. The equations (17) and (18) are used to determine the shape of the neutral range. To this end, these equations may be in the form of parts of a model or of a screen surface, e.g. in the form of buttons.
As presets, the rhombus shape is provided for the neutral range, and the value “1” is provided for the factors of the equations (17) and (18). Alterations to these presets are preferably shown in the coordinate system of FIG. 4.
After an “Analyze” button has been selected, an analysis algorithm is started. For each result, this algorithm automatically ascertains the values for influence and effect from the graphical structure, i.e. from the links between the individual model elements in the process model. The ascertained values are allocated to the individual results in the process model. This is expediently done using system attributes provided for this purpose. In addition, the means for the influence and effect of all results and the respective standard deviations are calculated.
Presentation of the Analysis Results
The result of the analysis is shown, in particular, in the coordinate system:

    
    
        1. Position and chosen magnitude of the analysis ranges “neutral”, “supplying”, “collecting”, “buffering”, “critical”;
        2. Position of the means for influence (influence and effect);
        3. Number of results in each of the five analysis ranges (“neutral”, “supplying”, “collecting”, “buffering”, “critical”) and also n the ordinate (“purely supplying” results) and on the abscissa (“purely collecting” results);
        4. Frequency distribution: how many results are there at a particular location in the coordinate system? To this end, the coordinate system is divided up in the manner of a chessboard. Each coordinate having integers is allocated a square on this chessboard. Numbers in the squares on the chessboard indicate how many results there are in each case for a particular coordinate.
        5. Listing of all results (e.g. according to their designation) situated in a particular analysis range or on a particular square on the “chessboard”; setting of a desired result.
    
    


After the analysis result has been shown, the factors (see equations (17) and (18)) and the shape of the neutral range can be altered. The alterations are shown in the coordinate system. In particular, the items 1, 3 and 5 in the result presentation are continuously updated in this context.
Determination/Identification of Conspicuous Model Elements
After the analysis has been performed, a button denoted “Color model elements” can be selected. This preferably opens a dialog window which provides options for ways in which each of the five analysis ranges (“neutral”, “supplying”, “collecting”, “buffering”, “critical”) and also the results which are on the ordinate (“purely supplying”) and on the abscissa (“purely collecting”) can be highlighted. Preferably, each range has a color pallet for this purpose, with a different color already having been preset for each range. Thus, for example, black is preset for results in the “neutral” range, red is preset for “critical” results etc. The results can be marked with a color in the process model by clicking on the “Color” button.
FIG. 13 shows a table containing examples of influence BE on a result by previous results and actions. FIG. 13 can be understood per se within the context of the comments above.
FIG. 14 shows a processor unit PRZE. The processor unit PRZE comprises a processor CPU, a memory SPE and an input/output interface IOS which is used in various ways via an interface IFC: a graphical interface is used to display an output on a monitor MON and/or to output it on a printer PRT. A mouse MAS or a keyboard TAST is used to effect input. The processor unit PRZE also has a data bus BUS which ensures connection of a memory MEM, the processor CPU and the input/output interface IOS. In addition, additional components can be connected to the data bus BUS, e.g. an additional memory, a data memory (hard disk) or a scanner.
The invention has been described in detail with particular reference to preferred embodiments thereof and examples, but it will be understood that variations and modifications can be effected within the spirit and scope of the invention.

## Claims

1. A method for optimizing a process model, comprising:
determining effects of components, including actions and results, in a process model on other components to perform a structure analysis in the form of a map;
optimizing the process model based on the effects, by at least one of parallelization of components, elimination of at least one component and introduction of a checked intermediate component; and
ascertaining a range suitable for optimization based on the map.

2. A system for optimizing a process model, comprising:
a processor performing structure analysis in the form of a map by determining effects of components in a process model on other components, the components including results and actions, ascertaining a range suitable for optimization based on the map, and optimizing the process model based on the effects, by at least one of parallelization of components, elimination of at least one component and introduction of a checked intermediate component.