WO2012045326A1 - Method and system for propagation of amendment made to a master to copies - Google Patents

Method and system for propagation of amendment made to a master to copies Download PDF

Info

Publication number
WO2012045326A1
WO2012045326A1 PCT/EP2010/006164 EP2010006164W WO2012045326A1 WO 2012045326 A1 WO2012045326 A1 WO 2012045326A1 EP 2010006164 W EP2010006164 W EP 2010006164W WO 2012045326 A1 WO2012045326 A1 WO 2012045326A1
Authority
WO
WIPO (PCT)
Prior art keywords
master
changes
duplicate
objects
user
Prior art date
Application number
PCT/EP2010/006164
Other languages
French (fr)
Inventor
Christian Messinger
Kay Wilke
Oliver Gramberg
Ralf Jeske
Original Assignee
Abb Technolgy 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 Abb Technolgy Ag filed Critical Abb Technolgy Ag
Priority to BR112013008405A priority Critical patent/BR112013008405A2/en
Priority to DE112010005924T priority patent/DE112010005924T5/en
Priority to GB1306492.8A priority patent/GB2499531B/en
Priority to RU2013120952/08A priority patent/RU2553054C2/en
Priority to PCT/EP2010/006164 priority patent/WO2012045326A1/en
Priority to AU2010362097A priority patent/AU2010362097B2/en
Priority to CN201080070572.7A priority patent/CN103229115B/en
Priority to JP2013532052A priority patent/JP2013539142A/en
Publication of WO2012045326A1 publication Critical patent/WO2012045326A1/en
Priority to US13/858,293 priority patent/US20130226868A1/en

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • G05B19/41845Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by system universality, reconfigurability, modularity
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25059Iterative configuration of identical modules, only config first one, copy to other

Definitions

  • the invention refers to a method and a system for propagation of amendments in the configuration of technical equipment, e.g., transformers, generators, mills, and other automated machines or devices, by means of transfer of an amended configuration of a master comprising a specific apparatus or device to a non-limited number of duplicates of said master.
  • technical equipment e.g., transformers, generators, mills, and other automated machines or devices
  • the optimal workflow would be to finish the configuration of the first subunit, to test and optimize it, and then to copy and adapt the configuration for use with further subunits of the same type. But this is a slow process, since the work on the second subunit can only be started after the first one has finished.
  • the process today is that the first subunit is configured, and then this configuration is copied to the other subunits, while the optimization and test of the configuration takes place after the copying. This leads to shorter overall project execution times but to a higher engineering effort because all units have to be optimized and tested separately.
  • the aforementioned problem is being solved by a method which is characterized in that any changes which have been done in the master are propagated from the master to the copies in a semi-automated or fully automated manner whereas possible conflicts are indicated automatically by means of graphic display.
  • the claimed method is characterized in that the propagation of changes done in the master comprises the following three steps: o matching whereas the data source is analyzed to identify master and duplicate or duplicates, thus a logical link between the objects of the master and the duplicate is present;
  • the final decision needs to be taken by the engineer using the system but the decision is prepared by the system whereas the term "master” and “duplicate” refer to a usually large set of data objects typically being organized in one or more hierarchies whereas each object typically has a common and a specific set of information items.
  • the common information comprises, e.g., an identifier like the name, a designation of the type of the object, and the creation time of the object; while the specific information depends on the type of the object, e.g., for an object representing a device of a certain kind, the specific information comprises, among others, the configuration parameters applicable to this kind of device.
  • One preferred embodiment of the claimed method is characterized in that with the matching step the respective data source is analyzed in order to identify whether it is master or duplicate whereas a logical link between the objects of the master and the duplicate is present.
  • a three-way match is used wherein the master is saved in a compare master directly after copying the master data.
  • the compare master in order to identify if changes have been made to the master and/or the copies, whereas at any time when changes with the master are propagated to the duplicate, the current state of the master, master' is stored as the compare master as basis for later synchronization.
  • the so-called compare master is stored as an action log whereas this action log is provided to detect and to determine the side on which a change has been made even if it has been deleted in the duplicate.
  • This action log is as well an embodiment of the claimed method as of the claimed system according to the invention.
  • Another advantageous embodiment of the method provides for the matching to be based on a set of prioritized rules.
  • the method will apply the rule with the highest priority first, and only objects not matched so far will be considered for matching with lower-priority rules.
  • An example of a matching rule is equality of the name of the objects.
  • Another example is that the names are not identical but similar to a certain degree.
  • metrics are used like the type of the object, the number of matching children, the position in the tree, property values and more, and suitable combinations of these.
  • the user can choose which rules should be used for matching and in which order. He can also configure the individual rules when those offer parameters.
  • a typical example is the following rule: "match by similar name”.
  • One useful parameter may then be a "threshold" where objects are never matched when their names differ by e.g. more than 4 characters. If the engineer knows that in his project the naming is not a good way to match, he can deselect this option and choose other algorithms instead.
  • potential matches are presented to the engineer as a preferred user of the invention. Furthermore it is possible to attach a weight (like "92% match") to each match in order to point out the quality of the match to the user who may review these matches.
  • the matching step is configurable by the using engineer.
  • a preferred embodiment of the method according to the claimed invention provides that conflicts are resolved by the user since the invention is also able to detect conflicts and shows these to the user.
  • There may be simple conflicts where, e.g. both in master and in copy a single value item has been changed to two different values.
  • There may also be more complex conflicts where multiple changes that belong together must be propagated together. E.g., when a function block has been inserted in a control diagram and its inputs and outputs have been connected, none of these single changes makes sense to propagate on its own. The combination of these changes is called a change group. If change groups are overlapping in the master and in the copy, this presents a conflict.
  • a further part of the invention relates to a system where the method as illustrated before is applied to. Accordingly, this document discloses a system for propagation of changes in the configuration of technical equipment whereas two groups of objects are compared where the second group has been created by copying the first group but after copying one or both groups of objects have been changed.
  • Such system provides for the claimed method an appropriate means for propagation of changes in the configuration of technical equipment whereas in a first step a user or the system identifies the roots of master and copy or copies to the matching step; then in a second step the system identifies matching objects in the first group and in the second group for comparison and synchronization; after that in a third step the system compares objects matched in the second step and detects changes in the first group and the second group and conflicts in the changes in the first group and the second group; and finally in a fourth step the system presents the found changes and conflicts to the user for change propagation and conflict resolution.
  • the identification of matching objects is not based only on the objects having the same ID or the same name but also on the use of other algorithms like having similar names and the same type or the same number and types of children. There may be algorithms that are specifically tailored to a standardized naming scheme.
  • the user decides which algorithms are applied for the matching step and in which order they are applied whereas the user parameterizes the algorithms if possible to do so.
  • an embodiment of the system according to the invention is using a three- way comparison to determine if an identified change has been performed in the first group or in the second group.
  • the system analyzes the two groups of objects being located in the same data set or in different data sets for changes and communicates or displays these changes to the user by means of any communication media whereas any changes being detected are done either on a structural level when for example whenobject-data level.
  • a further preferred embodiment of the system according to the invention is characterized in that multiple changes are grouped if these changes depend on each other.
  • the system can propagate changes to links between objects in the master.
  • the new target of the link in the duplicate is the object in the duplicate that corresponds to the new target of the link in the master as determined in the matching step. I.e., if in the master an object A references an object B and is changed to reference an object C, then in the copy object A' will be changed from referencing B' to referencing C even though the names or identifiers of these objects are different from the objects they correspond to in the master.
  • the user may filter for relevant changes by choosing relevant change cases where each change case is a type of change which may occur for a certain type of object.
  • Fig. 3 the evolution of object structures "master” and “duplicate” over time and a three way comparison with a compare master after changes have been made
  • Fig. 4 a possible screenshot of the system output showing matching of objects, differences detected, and change actions proposed to the user
  • Fig. 5 a screenshot of a list of changes cases from which the user can select the ones relevant to him, and
  • Fig. 6 a configuration where overlapping change groups present a conflict.
  • Fig. 1 shows a very simple object structure, where the site "PresentationPlant” contains two boiler areas: “cfg_HYD_Boiler_301” and “cfg_HYD_Boiler_302", the latter being a - suitably renamed - duplicate of the first. They each contain four function diagrams and each function diagram has several signal objects (DI/DO) as children.
  • the matching step the data source is analyzed to identify master and duplicate or duplicates. After this step, a logical link between the objects of the master and the duplicate is present.
  • cfg_HYD_Boiler_301 and “cfg_HYD_Boiler_302” are the roots of sub trees that have a master-duplicate relationship. Then this needs to be repeated for all function diagrams below this level and again for each signal below the function diagrams.
  • Fig. 2 shows a simple object structure with changes which may have been done to the master and the duplicate. The matching process will leave the objects
  • the matching step is configurable by the user.
  • the user can choose which algorithms should be used for matching and in which order. He can also configure the individual algorithms when those offer parameters.
  • a typical example is the algorithm "match by similar name”.
  • One useful parameter could then be a "threshold" where objects are never matched when they differ by more than 4 characters. If the engineer knows that in his project the naming is not a good way to match, he can deselect this option and choose other algorithms instead.
  • an action log can be used as a compare master to detect the side on which a change has been made.
  • this might be negligible information, but for the next step, the change propagation, this is crucial information: If the object has been added in the master, this change should be propagated to the duplicate. If it has been deleted in the duplicate, it is assumed that this has been done deliberately so and the object should not be added back to the copy.
  • Fig. 3 a scheme is shown how this process works.
  • step 1 After copying the master data (step 1 ), the master itself is saved either in a file or to some other kind of storage medium (step 2). Then the master or the duplicate or both are changed (step 3), resulting in master' and duplicate'.
  • the master' will be compared to the original version of the master which is called “compare master” (step 4a). The compare master will also be compared to the duplicate' (step 4b).
  • step 5 Every time changes are propagated to the duplicate' (step 5), a new export of the current master' to compare master' will also be done (step 6).
  • Fig. 4 shows by means of a screenshot how the matching is displayed. Matched nodes are displayed on the same level. If the system detected a change that can be propagated to the duplicate, then this is shown as a labeled arrow from left to right in the middle column. Changed, deleted or added items are marked as such which is done by a background color in this embodiment of the invention.
  • a change group is shown whereas it can be seen that one change action is "On page 1 add component add (1)" and this action has child actions. So, the change group consists of one added function block and three added connections which connect the new function block to the rest of the logic. Since the child actions depend on the parent action, a change group is used to build a meaningful set of items for a better overview, as well as to protect the system against inconsistencies which would result from partial execution of the change group's actions.
  • the comparison step is configurable by the user, in that the user can choose which types of changes he wants to be detected. In almost any case, he would not like to compare the name or the creation date.
  • Change cases are defined for every object type once. The user chooses during runtime which change cases he would like to see and which should be ignored.
  • Fig. 5 shows some of the change cases defined for function diagrams. In this dialog, a user can choose which change cases are relevant for him.
  • the invention is also able to detect conflicts and to show these to the user.
  • There may be direct conflicts where, e.g. both in the master and in the duplicate, a constant value has been changed. The more complex cases are found by checking if change groups are overlapping.
  • Fig. 6 shows an example whereas in the master, the "output" of the diagram reference on the top left has been negated.
  • This is a simple change, which can also be regarded to be a change group consisting of just that change.

Abstract

The invention refers to a method and a system for propagation of amendments in the configuration of technical equipment, e.g., transformers, generators, mills, and other automated machines or devices, by means of transfer of an amended configuration of a master comprising a specific apparatus or device to a non-limited number of duplicates of said master, whereas any changes which have been done with the master are propagated from the master to the duplicate in a semi-automated or fully automated manner whereas possible conflicts are indicated automatically by means of graphic display.

Description

Method and System for Propagation of Amendments made to a Master to Copies
Description
The invention refers to a method and a system for propagation of amendments in the configuration of technical equipment, e.g., transformers, generators, mills, and other automated machines or devices, by means of transfer of an amended configuration of a master comprising a specific apparatus or device to a non-limited number of duplicates of said master.
Many production plants have large subunits which are very similar but not identical to each other. As an example there may be several boilers in a chemical plant. Those boilers would be similar to a large extent but some aspects would be different. One aspect wherein subunits will be similar relating to their structure, i.e., the number, types, and arrangement of devices of which the subunit is made up. An aspect which will almost always differ is the naming of the tags and signals.
The optimal workflow would be to finish the configuration of the first subunit, to test and optimize it, and then to copy and adapt the configuration for use with further subunits of the same type. But this is a slow process, since the work on the second subunit can only be started after the first one has finished.
The process today is that the first subunit is configured, and then this configuration is copied to the other subunits, while the optimization and test of the configuration takes place after the copying. This leads to shorter overall project execution times but to a higher engineering effort because all units have to be optimized and tested separately.
Accordingly, the challenge today is that the changes which are done to the first sub- unit during the test and optimization phase cannot be simply and automatically propagated to the other subunits for the following reasons: a) In most cases,. there is no formal link between master and copy,
b) there are differences between master and copy which should be kept, c) there may be conflicts between changes done in master and in copy, and finally, d) a completely automated process is unwanted by engineers who need to keep control of the engineered solution.
The result is that all changes which are done to the master after copying need to be done to the duplicate again.
Resulting from these findings it seems to be desirable to have a method and/or system at hand which avoid any excess of the efforts being necessary today and achieve systematically a standardization of the configuration of the respective sub- units of a plant.
Consequently, it is an objective of the present invention to provide a method and/or system which avoid the excess of efforts being necessary today and to achieve systematically a standardization of the configuration of the respective units.
According to the invention, the aforementioned problem is being solved by a method which is characterized in that any changes which have been done in the master are propagated from the master to the copies in a semi-automated or fully automated manner whereas possible conflicts are indicated automatically by means of graphic display.
Accordingly, the claimed method is characterized in that the propagation of changes done in the master comprises the following three steps: o matching whereas the data source is analyzed to identify master and duplicate or duplicates, thus a logical link between the objects of the master and the duplicate is present;
o comparing whereas different types of changes, e.g., structural changes are considered and checked for possible conflicts and
o synchronizing whereas it is decided by the user which changes are approved and applied to the duplicate in order to synchronize the duplicate with the master.
Generally, the final decision needs to be taken by the engineer using the system but the decision is prepared by the system whereas the term "master" and "duplicate" refer to a usually large set of data objects typically being organized in one or more hierarchies whereas each object typically has a common and a specific set of information items.
In such case, the common information comprises, e.g., an identifier like the name, a designation of the type of the object, and the creation time of the object; while the specific information depends on the type of the object, e.g., for an object representing a device of a certain kind, the specific information comprises, among others, the configuration parameters applicable to this kind of device.
One preferred embodiment of the claimed method is characterized in that with the matching step the respective data source is analyzed in order to identify whether it is master or duplicate whereas a logical link between the objects of the master and the duplicate is present.
According to a more detailed embodiment of the method, preferably a three-way match is used wherein the master is saved in a compare master directly after copying the master data.
Changes done to the master result in a data set master' and changes done to any of the copies result in a data set copy' whereas both master' and copy' will be compared to the original version, the compare master, in order to identify if changes have been made to the master and/or the copies, whereas at any time when changes with the master are propagated to the duplicate, the current state of the master, master' is stored as the compare master as basis for later synchronization. Preferably according to another embodiment of the invention the so-called compare master is stored as an action log whereas this action log is provided to detect and to determine the side on which a change has been made even if it has been deleted in the duplicate. This action log is as well an embodiment of the claimed method as of the claimed system according to the invention.
Another advantageous embodiment of the method provides for the matching to be based on a set of prioritized rules. The method will apply the rule with the highest priority first, and only objects not matched so far will be considered for matching with lower-priority rules. An example of a matching rule is equality of the name of the objects. Another example is that the names are not identical but similar to a certain degree. Furthermore, metrics are used like the type of the object, the number of matching children, the position in the tree, property values and more, and suitable combinations of these.
The user can choose which rules should be used for matching and in which order. He can also configure the individual rules when those offer parameters.
A typical example is the following rule: "match by similar name". One useful parameter may then be a "threshold" where objects are never matched when their names differ by e.g. more than 4 characters. If the engineer knows that in his project the naming is not a good way to match, he can deselect this option and choose other algorithms instead.
Hence, after the matching step, potential matches are presented to the engineer as a preferred user of the invention. Furthermore it is possible to attach a weight (like "92% match") to each match in order to point out the quality of the match to the user who may review these matches.
Either the user may manually match pairs of objects which have not been matched by the system or he may unmatch pairs of objects which have been falsely matched. The matching step is configurable by the using engineer.
A preferred embodiment of the method according to the claimed invention provides that conflicts are resolved by the user since the invention is also able to detect conflicts and shows these to the user. There may be simple conflicts where, e.g. both in master and in copy a single value item has been changed to two different values. There may also be more complex conflicts where multiple changes that belong together must be propagated together. E.g., when a function block has been inserted in a control diagram and its inputs and outputs have been connected, none of these single changes makes sense to propagate on its own. The combination of these changes is called a change group. If change groups are overlapping in the master and in the copy, this presents a conflict.
A further part of the invention relates to a system where the method as illustrated before is applied to. Accordingly, this document discloses a system for propagation of changes in the configuration of technical equipment whereas two groups of objects are compared where the second group has been created by copying the first group but after copying one or both groups of objects have been changed.
Such system provides for the claimed method an appropriate means for propagation of changes in the configuration of technical equipment whereas in a first step a user or the system identifies the roots of master and copy or copies to the matching step; then in a second step the system identifies matching objects in the first group and in the second group for comparison and synchronization; after that in a third step the system compares objects matched in the second step and detects changes in the first group and the second group and conflicts in the changes in the first group and the second group; and finally in a fourth step the system presents the found changes and conflicts to the user for change propagation and conflict resolution.
According to a preferred embodiment of the claimed invention the identification of matching objects is not based only on the objects having the same ID or the same name but also on the use of other algorithms like having similar names and the same type or the same number and types of children. There may be algorithms that are specifically tailored to a standardized naming scheme.
Accordingly the user decides which algorithms are applied for the matching step and in which order they are applied whereas the user parameterizes the algorithms if possible to do so.
Preferably an embodiment of the system according to the invention is using a three- way comparison to determine if an identified change has been performed in the first group or in the second group. According to another preferred embodiment of the claimed invention the system analyzes the two groups of objects being located in the same data set or in different data sets for changes and communicates or displays these changes to the user by means of any communication media whereas any changes being detected are done either on a structural level when for example whenobject-data level.
A further preferred embodiment of the system according to the invention is characterized in that multiple changes are grouped if these changes depend on each other.
According to a preferred version of the invention the system can propagate changes to links between objects in the master. The new target of the link in the duplicate is the object in the duplicate that corresponds to the new target of the link in the master as determined in the matching step. I.e., if in the master an object A references an object B and is changed to reference an object C, then in the copy object A' will be changed from referencing B' to referencing C even though the names or identifiers of these objects are different from the objects they correspond to in the master.
Likewise it is advantageously provided by the system that the user may filter for relevant changes by choosing relevant change cases where each change case is a type of change which may occur for a certain type of object.
Generally the system offers proposals to the user which changes should be propagated and which should not.
These and further advantageous embodiments and improvements of the invention are subject matter of the dependent claims.
By means of examples of various preferred embodiments of the invention which are shown in the attached drawing the invention, advantageous embodiments and improvements of the invention as well as special advantages of the invention shall be illustrated and described in more detail.
In this regard it is indicated that the comprehensiveness of the invention is not limited to the embodiments and configurations shown and illustrated in the figures but extended to other embodiments and configurations within the scope of the claims.
It is shown in Fig. 1 an object structure with master and copy, before any changes, only the names of the copied objects are changed to make them unique,
Fig. 2 the same two sets of objects as in Fig. 1 after structural changes have been made,
Fig. 3 the evolution of object structures "master" and "duplicate" over time and a three way comparison with a compare master after changes have been made,
Fig. 4 a possible screenshot of the system output showing matching of objects, differences detected, and change actions proposed to the user,
Fig. 5 a screenshot of a list of changes cases from which the user can select the ones relevant to him, and
Fig. 6 a configuration where overlapping change groups present a conflict.
Fig. 1 shows a very simple object structure, where the site "PresentationPlant" contains two boiler areas: "cfg_HYD_Boiler_301" and "cfg_HYD_Boiler_302", the latter being a - suitably renamed - duplicate of the first. They each contain four function diagrams and each function diagram has several signal objects (DI/DO) as children. In the matching step, the data source is analyzed to identify master and duplicate or duplicates. After this step, a logical link between the objects of the master and the duplicate is present.
If objects are arranged in a hierarchical fashion, as shown in Fig. 1 , an iterative matching needs to be done. First it needs to be determined that
"cfg_HYD_Boiler_301" and "cfg_HYD_Boiler_302" are the roots of sub trees that have a master-duplicate relationship. Then this needs to be repeated for all function diagrams below this level and again for each signal below the function diagrams.
Fig. 2 shows a simple object structure with changes which may have been done to the master and the duplicate. The matching process will leave the objects
"fd_HYD_Boiler_302" and "fd_HYD_Boilerl_302_Rtx1", marked with a surrounding rectangle, and their respective children unmatched, because there are no
corresponding objects in the other hierarchy. The same applies to the objects deleted in only the master or the duplicate, but not both.
There are many tools like directory comparing elements which compare two trees. In nearly all cases, the comparison is done based on name or ID. Also determining a master-duplicate relationship is not done.
The matching step is configurable by the user. The user can choose which algorithms should be used for matching and in which order. He can also configure the individual algorithms when those offer parameters. A typical example is the algorithm "match by similar name". One useful parameter could then be a "threshold" where objects are never matched when they differ by more than 4 characters. If the engineer knows that in his project the naming is not a good way to match, he can deselect this option and choose other algorithms instead.
In the comparison step, there are different types of changes to be considered. One type of changes is structural changes. As shown for example in Fig. 2 there might be an object in the master which has no corresponding object in the duplicate.
Since changes occur concurrently in the master and the duplicate and no action log is written, there is no way of determining whether this object has been created in the master or if it has been deleted in the duplicate. Hence an action log can be used as a compare master to detect the side on which a change has been made.
For the comparison step, this might be negligible information, but for the next step, the change propagation, this is crucial information: If the object has been added in the master, this change should be propagated to the duplicate. If it has been deleted in the duplicate, it is assumed that this has been done deliberately so and the object should not be added back to the copy.
To be able to differentiate the two situations, the invention makes use of the concept of a three-way match. In Fig. 3 a scheme is shown how this process works.
After copying the master data (step 1 ), the master itself is saved either in a file or to some other kind of storage medium (step 2). Then the master or the duplicate or both are changed (step 3), resulting in master' and duplicate'. When the user now applies the system according to the invention, the master' will be compared to the original version of the master which is called "compare master" (step 4a). The compare master will also be compared to the duplicate' (step 4b).
With the information contained in the compare master, it is now possible to find out which changes have been done to the duplicate and which to the master. This method is far superior to common methods like comparing time stamps.
Every time changes are propagated to the duplicate' (step 5), a new export of the current master' to compare master' will also be done (step 6).
Fig. 4 shows by means of a screenshot how the matching is displayed. Matched nodes are displayed on the same level. If the system detected a change that can be propagated to the duplicate, then this is shown as a labeled arrow from left to right in the middle column. Changed, deleted or added items are marked as such which is done by a background color in this embodiment of the invention.
In Fig. 4, in the section below the tile "Change Actions" a change group is shown whereas it can be seen that one change action is "On page 1 add component add (1)" and this action has child actions. So, the change group consists of one added function block and three added connections which connect the new function block to the rest of the logic. Since the child actions depend on the parent action, a change group is used to build a meaningful set of items for a better overview, as well as to protect the system against inconsistencies which would result from partial execution of the change group's actions.
The comparison step is configurable by the user, in that the user can choose which types of changes he wants to be detected. In almost any case, he would not like to compare the name or the creation date.
To make this easily configurable, the concept of "change cases" has been introduced by the invention. For a function diagram, there are around 100 change cases. They range from "constant value has changed" and "diagram formatting has changed" over "execution order has changed" to "function block has been added".
Change cases are defined for every object type once. The user chooses during runtime which change cases he would like to see and which should be ignored. Fig. 5 shows some of the change cases defined for function diagrams. In this dialog, a user can choose which change cases are relevant for him.
Furthermore the invention is also able to detect conflicts and to show these to the user. There may be direct conflicts where, e.g. both in the master and in the duplicate, a constant value has been changed. The more complex cases are found by checking if change groups are overlapping.
Here Fig. 6 shows an example whereas in the master, the "output" of the diagram reference on the top left has been negated. This is a simple change, which can also be regarded to be a change group consisting of just that change.
In Fig. 6, this change group is indicated by the oval shape with the crossed pattern. In the duplicate, an "AND" block has been inserted between the two function blocks on the right side, and connected to these, indicated by the larger shape with the hatched pattern. This is a complex change. There is a conflict between these two changes because the two marked regions overlap.

Claims

Claims
1. Method for propagation of changes in the configuration of technical equipment, e.g. transformers, generators, mills, and other automated machines or devices, by means of transfer of a changed configuration of a master comprising a specific apparatus or device to a non-limited number of duplicates of said master and for detection of conflicts with the propagation of changes whereas the propagation from the master to the at least one duplicate is executed by transferring a selected subset of the configuration of the master including the amendments,
characterized in that all or some of the changes which have been done with the master are propagated from the master to the at least one duplicate in a semi- automated or fully automated manner whereas possible conflicts are indicated automatically by means of graphic or textual display.
2. Method according to claim 1 whereas the propagation of changes with the master comprises the following three steps: a) matching whereas master and duplicate or duplicates are analyzed to identify which objects in the duplicate have been copied from which object from the master and thus correspond to each other ; b) comparing whereas different types of changes, e.g. structural changes are considered and checked for possible conflicts and c) synchronizing whereas it is decided by the user which changes are applied to the duplicate in order to synchronize the duplicate with the master.
3. Method according to claim 2 characterized in that with matching the respective data source is analyzed in order to identify master and duplicate automatically.
4. Method according to claim 2 whereas the concept of a three-way comparison is used wherein the master itself is saved in a compare master directly after copying the master, changes to master result in master' and changes to the dupli- cate result in duplicate , whereas the master' as well as the duplicate' will be compared to the original version of the compare master.
5. Method according to claim 2 or 4 whereas at any time when changes with the master are propagated to the duplicate, the master is again saved to the compare master.
6. Method according to at least one of the preceding claims whereas for the
matching definite identifiers of an object are used.
7. Method according to at least one of the preceding claims whereas conflicts are resolved by the user.
8. Method according to at least one of the preceding claims whereas an action log is provided in place of the compare master to detect and to determine the side on which a change has been made.
9. A system for propagation of changes in the configuration of technical equipment whereas two groups of objects are compared where the second group has been created by copying the first objects but after copying one or both groups of objects have been changed whereas
a) a user or the system identifies the roots of master and duplicate to the matching step;
b) then the system identifies matching objects in the first group and in the second group for comparison and synchronization and
c) detects possible conflicting changes in the first group and the second group if any.
10. System according to claim 9 whereas the identification of matching objects is not only based on the same ID or the same name but also on the use of other algorithms like having similar names and the same type or the same number and types of child objects.
1 1. System according to claim 9 or 10 whereas any of a plurality of matching algorithms is specifically tailored to a standardized naming scheme.
12. System according to at least one of the preceding claims 9 to 11 where the user decides which algorithms are applied for the matching step and in which order,
13. System according to claim 12 whereas the user parameterizes the algorithms if possible to do so.
14. System according to at least one of the preceding claims 9 to 13 using a three- way comparison to determine if an identified change has been performed in the first group or in the second group.
15. System according to at least one of the preceding claims 9 to 14 whereas the system analyzes the two groups of objects being located in the same data set or in different data sets for changes and displays these changes to the user.
16. System according to at least one of the preceding claims 9 to 15 whereas the system is able to detect changes done on a structural level and on an object- data level . 7. System according to at least one of the preceding claims where multiple
changes are grouped if these changes depend on each other.
18. System according to at least one of the preceding claims where the user may filter for relevant changes by choosing relevant change cases where each change case is a type of change which may occur for certain types of objects.
19. System according to at least one of the preceding claims which is able to propagate changed links between objects.
20. System according to at least one of the preceding claims which offers proposals to the user which changes should be propagated and which should not.
PCT/EP2010/006164 2010-10-08 2010-10-08 Method and system for propagation of amendment made to a master to copies WO2012045326A1 (en)

Priority Applications (9)

Application Number Priority Date Filing Date Title
BR112013008405A BR112013008405A2 (en) 2010-10-08 2010-10-08 method and system for propagating changes made to a master for copies
DE112010005924T DE112010005924T5 (en) 2010-10-08 2010-10-08 Method and system for passing changes to a master unit to duplicates
GB1306492.8A GB2499531B (en) 2010-10-08 2010-10-08 Method and system for propagation of amendment made to a master to copies
RU2013120952/08A RU2553054C2 (en) 2010-10-08 2010-10-08 Method and system for covering of copies by changes made in original
PCT/EP2010/006164 WO2012045326A1 (en) 2010-10-08 2010-10-08 Method and system for propagation of amendment made to a master to copies
AU2010362097A AU2010362097B2 (en) 2010-10-08 2010-10-08 Method and system for propagation of amendment made to a master to copies
CN201080070572.7A CN103229115B (en) 2010-10-08 2010-10-08 Method and system for propagating the modification made to original to copy
JP2013532052A JP2013539142A (en) 2010-10-08 2010-10-08 Method and system for communication of master-generated modifications to a copy
US13/858,293 US20130226868A1 (en) 2010-10-08 2013-04-08 Method and system for propagation of amendments made to a master to copies

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2010/006164 WO2012045326A1 (en) 2010-10-08 2010-10-08 Method and system for propagation of amendment made to a master to copies

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/858,293 Continuation US20130226868A1 (en) 2010-10-08 2013-04-08 Method and system for propagation of amendments made to a master to copies

Publications (1)

Publication Number Publication Date
WO2012045326A1 true WO2012045326A1 (en) 2012-04-12

Family

ID=44454783

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2010/006164 WO2012045326A1 (en) 2010-10-08 2010-10-08 Method and system for propagation of amendment made to a master to copies

Country Status (9)

Country Link
US (1) US20130226868A1 (en)
JP (1) JP2013539142A (en)
CN (1) CN103229115B (en)
AU (1) AU2010362097B2 (en)
BR (1) BR112013008405A2 (en)
DE (1) DE112010005924T5 (en)
GB (1) GB2499531B (en)
RU (1) RU2553054C2 (en)
WO (1) WO2012045326A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11074239B2 (en) 2018-02-26 2021-07-27 Servicenow, Inc. De-duplication of configuration items related to a managed network
US11449579B2 (en) * 2018-09-19 2022-09-20 Servicenow, Inc. File-based software application discovery

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020120723A1 (en) * 2001-02-23 2002-08-29 Forth J. Bradford Systems for in the field configuration of intelligent electronic devices
US6449624B1 (en) * 1999-10-18 2002-09-10 Fisher-Rosemount Systems, Inc. Version control and audit trail in a process control system
US20070061033A1 (en) * 2003-02-18 2007-03-15 Fisher-Rosemount Systems, Inc. Version control for objects in a process plant configuration system
EP1770459A2 (en) * 2005-09-30 2007-04-04 Rockwell Automation Technologies, Inc. Embedding data into controllers
US20080228957A1 (en) * 2004-12-23 2008-09-18 Abb Patent Gmbh Method for Configuring Field Devices

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6167408A (en) * 1998-08-31 2000-12-26 International Business Machines Corporation Comparative updates tracking to synchronize local operating parameters with centrally maintained reference parameters in a multiprocessing system
US6711578B1 (en) * 2001-01-17 2004-03-23 Palmsource, Inc. Rule-based, n-way, synchronization of multiple copies of a database
US6970876B2 (en) * 2001-05-08 2005-11-29 Solid Information Technology Method and arrangement for the management of database schemas
JP4165451B2 (en) * 2003-08-11 2008-10-15 セイコーエプソン株式会社 Printing system, printing request terminal, compression algorithm selection program, and printing method
JP2005222244A (en) * 2004-02-04 2005-08-18 Language Craft Kenkyusho:Kk Word retrieval device, word retrieval method, and information providing system equipped with word retrieval device
US7720879B2 (en) * 2005-04-22 2010-05-18 Sap Ag Methods of using an integrated development environment to configure business applications
US7523146B2 (en) * 2005-06-21 2009-04-21 Apple Inc. Apparatus and method for peer-to-peer N-way synchronization in a decentralized environment
US7996442B2 (en) * 2005-10-17 2011-08-09 Oracle International Corporation Method and system for comparing and re-comparing data item definitions
US9235448B2 (en) * 2008-11-25 2016-01-12 Citrix Systems, Inc. Systems and methods for batchable hierarchical configuration
US9614685B2 (en) * 2009-03-09 2017-04-04 Nokia Technologies Oy Methods, apparatuses, and computer program products for facilitating synchronization of setting configurations
US8255650B1 (en) * 2009-12-29 2012-08-28 Iomega Corporation Systems and methods for making incremental physical to virtual backups of computer system data

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6449624B1 (en) * 1999-10-18 2002-09-10 Fisher-Rosemount Systems, Inc. Version control and audit trail in a process control system
US20020120723A1 (en) * 2001-02-23 2002-08-29 Forth J. Bradford Systems for in the field configuration of intelligent electronic devices
US20070061033A1 (en) * 2003-02-18 2007-03-15 Fisher-Rosemount Systems, Inc. Version control for objects in a process plant configuration system
US20080228957A1 (en) * 2004-12-23 2008-09-18 Abb Patent Gmbh Method for Configuring Field Devices
EP1770459A2 (en) * 2005-09-30 2007-04-04 Rockwell Automation Technologies, Inc. Embedding data into controllers

Also Published As

Publication number Publication date
US20130226868A1 (en) 2013-08-29
AU2010362097B2 (en) 2016-05-12
GB2499531B (en) 2019-10-02
GB201306492D0 (en) 2013-05-22
CN103229115A (en) 2013-07-31
AU2010362097A1 (en) 2013-05-02
CN103229115B (en) 2017-07-18
RU2553054C2 (en) 2015-06-10
GB2499531A (en) 2013-08-21
JP2013539142A (en) 2013-10-17
RU2013120952A (en) 2014-11-20
BR112013008405A2 (en) 2016-06-21
DE112010005924T5 (en) 2013-09-05

Similar Documents

Publication Publication Date Title
CN108415835B (en) Distributed data library test method, device, equipment and computer-readable medium
CN104598376A (en) Data driving layered automation test system and method
CN105808437A (en) Automation testing method and system based on test case data table
US7483757B2 (en) Control system migration
CN105320681B (en) Database content merging method and device
CN111176991B (en) Automatic generation method for embedded software interface use cases
CN106030524A (en) Method and device for visually implementing software code
CN102981882B (en) Analytic method and device
GB2499531B (en) Method and system for propagation of amendment made to a master to copies
US20070156742A1 (en) Visual modeling method and apparatus
KR20180123060A (en) Configuration management system for large-scale capital projects
CN108667659B (en) Method and system for searching loop node in network topological graph
JP2013077124A (en) Software test case generation device
JP2014238820A (en) Shared data definition supporting system, its supporting device and program
US20180074934A1 (en) Method for checking equivalence of code, non-transitory computer-readable storage medium, computer program product and computer for implementing the method
KR101530888B1 (en) Method for refactoring software for improving weapon system
Hoffmann SysML-based systems engineering using a model-driven development approach
CN111142927A (en) Configuration file merging and splitting processing method and device
CN113010230B (en) Configuration information processing method, device, equipment and storage medium
US20100293018A1 (en) Test Model Abstraction For Testability in Product Line Engineering
Yu et al. From goal models to feature models: A rule-based approach for software product lines
CN113051580B (en) Hyperledger Fabric intelligent contract problem detection method
CN110765020B (en) Test case generation method based on domain knowledge
CN108133002A (en) Industrial control software database creating system
EP3391296B1 (en) Variations in experiment graphs for machine learning

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10771652

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2013532052

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 112010005924

Country of ref document: DE

Ref document number: 1120100059241

Country of ref document: DE

ENP Entry into the national phase

Ref document number: 1306492

Country of ref document: GB

Kind code of ref document: A

Free format text: PCT FILING DATE = 20101008

WWE Wipo information: entry into national phase

Ref document number: 1306492.8

Country of ref document: GB

ENP Entry into the national phase

Ref document number: 2010362097

Country of ref document: AU

Date of ref document: 20101008

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2013120952

Country of ref document: RU

Kind code of ref document: A

122 Ep: pct application non-entry in european phase

Ref document number: 10771652

Country of ref document: EP

Kind code of ref document: A1

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112013008405

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 112013008405

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20130405