Checking the identity and integrity of objects

The feature "object identity" allows you to check all relevant objects for their identity and integrity. With this feature enabled, an identity per object (also known as object identity) is automatically created when the object is saved in a qualified editor of Neuron Power Engineer. The object identity is not provided in all variants of Neuron Power Engineer. If you are interested in using the object identity, contact your system integrator or Neuron.

Purpose of the object identity

The feature assists in ensuring that only checked changes to the relevant objects of an application are loaded onto a target system or provided in a library. The feature is especially useful when developing safety-relevant applications and is usually activated, provided and possibly enhanced by system integrators.

Using this feature for safety-relevant applications

When creating safety-relevant applications, Neuron recommends that only the qualified tools of Neuron Power Engineer are used to create or modify the objects of an application. This is ensured by object identity.

Object identity detects modifications that occurred outside Neuron Power Engineer. The reason for these changes could either be unintended modification like file corruption or intentional changes using external tools.

In the first case Neuron recommends removing the corrupted object and restoring the original revision of the object.

In the case of intended external changes, you can accept the new status (by approving it by using the dialog Check Object Identity). In this case, you must take appropriate measures, such as testing or reviewing the changed object using the respective editors, to ensure that the changes meet your expectations. Object identity provides a compare functionality to assist you in identifying the actual external changes, but you shall not rely only on this mechanism.

When to check an object identity

If the object is created or modified outside of Neuron Power EngineerNeuron Power Engineer informs you about the non-matching object identity (= the deviation) during the following actions:

  • opening the object in the qualified →editor of Neuron Power Engineer

    In case of a detected deviation, a dialog informs that the object could not be validated successfully and the editor is not opened. Use the dialog Check Object Identity to approve or reject the deviation.

  • checking the object identity for the project by the command Check Object Identity provided in the context menu of a project within a view with the project

    The command opens the dialog Check Object Identity that reports modifications of individual objects and allows you to approve or reject the deviations. See "Using the Check Object Identity dialog" for details.

  • building the application in which the object will be used

    The dialog Check Object Identity is automatically displayed to inform about the non-matching object identities. In the case of a valid project object, the dialog is not opened when building the application.

  • creating/using the →library where the object is used – provided that the library configuration contains the statement CORRUPTION_DETECTION_MODE := ARTIFACTIDENTITY (Details on the statement: See "Declaration of information on creation and references for the library".)

    The dialog Check Object Identity is automatically displayed to inform about the non-matching object identities. In the case of a valid project object, the dialog is not opened when creating the library.

    New version number in the case of an updated library content

    Always change the version number of an updated library before a library is generated anew. See "Declaration of information on creation and references for the library" for details on the version number.



Using the Check Object Identity dialog

The dialog Check Object Identity reports modifications of individual objects outside the qualified editors of Neuron Power Engineer (identified as deviations in the following description). The dialog also allows you

  1. to approve or reject the deviations if the appropriate features for access control are provided. You must approve or reject each deviation individually.

  2. to compare invalid or not found files before you decide whether to approve or reject these deviations.

If no deviations are detected for the project, the dialog displays the state Valid for the project as follows:

Dialog Check Artifact Identity for a valid project

However, if deviations are detected, the dialog displays the appropriate states and descriptions for the affected objects.

Here is an example for a project where some deviations have been detected:

Dialog Check Artifact Identity with deviations

Comparing files

If you want to view the differences/changes of a file before you decide whether to approve or reject the deviation, compare the file with a so-called shadow copy as follows:

  1. Select a file with the status Invalid or Not found.

  2. Click Open compare dialog with shadow copy. Alternative: Press the Enter-key or double-click on the file.

    Result: The dialog Compare with shadow copy lists the differences between the current content and its shadow copy. The differences are displayed using the appropriate compare viewer, depending on the object type.

  3. In the dialog Compare with shadow copy, click the buttons appearing on the far right of the dialog to browse through the differences/changes.

  4. Click OK, when you have finished viewing the differences/changes and you want to return to the dialog Check Object Identity.

Good to know

Neuron Power Engineer automatically creates a shadow copy for the file when the file is saved in a qualified editor of Neuron Power Engineer. A a consequence, the compare feature is provided for the objects that can be saved in a qualified editor, e.g. ST-objects, FBD-objects, GV objects.

The system integrator can register a custom diff viewer to compare the textual content. If you want to switch to this viewer, click in the dialog Compare with shadow copy and select this viewer from the list.

Approving a deviation

  1. Select one object for which a deviation has been detected. Condition: This deviation is reported for an invalid folder or a file that is invalid, added or removed.

  2. Click Reevaluate the object identity.

    Result: The object identity for the selected object is updated. The deviation for a file disappears but the deviations reported for its folder remain until the object identity is reevaluated. The deviation reported for the project is automatically approved after all other deviations for the project have been processed.

Good to know

If external changes affect safety-relevant hardware devices (as viewed and edited in the safety parameter editor), and you approve a deviation for any file related to the hardware parameterization, all deviations reported for other files in the same folder will also be approved.
This enables you to handle all files containing the same safety-relevant hardware device in a single step. After a deviation is approved, the safety parameter editor - if open - will reload all parameter data and discard any unsaved changes.

Rejecting a deviation

  1. Select one object for which a deviation has been detected. Condition: This deviation is reported for a file that is invalid or added.

    (info) It is not possible to reject the deviation for a removed file or an invalid folder.

  2. Click Revert the file to its shadow copy or delete the file.

  3. In the message, click Revert or Delete.

    (info) If no shadow copy or object identity exists for the file, or if only invalid ones are available, it is not possible to revert the file. In this case, the message allows you to delete the file and cancel the action.
    Result: The action is performed according to your selection. The deviation for the file disappears but the deviations reported for the folder remain until the object identity is reevaluated. The deviation reported for the project is automatically approved after all other deviations for the project have been processed.

Good to know

If the deleted file is used in the application, Neuron Power Engineer will report an appropriate message. Therefore, check the Problems and Error Log views whether there are new messages.

The behavior for rejecting deviations is similar to that for approving them. When rejecting a deviation for any file related to hardware parameterization, all other deviations in the same folder are also rejected.
This enables you to handle all files containing the same safety-relevant hardware device in a single step. After a deviation is rejected, the safety parameter editor - if open - will reload all parameter data and discard any unsaved changes.

Reevaluate the object identity again

  • Click Reevaluate the object identity of the project.

    Result: The object identity for the project and its objects is reevaluated again. The deviations in the dialog are updated.

The best procedure is to reevaluate the object identity in the dialog after all deviations for a folder have individually been approved or rejected. This helps confirm that there are no deviations remaining in the folder. The state of the project is automatically updated when you approve or reject the last reported deviation in the dialog.

Components of the dialog

Toolbar

The dialog provides a toolbar with the following buttons:

Button Action performed when clicking the button
Reevaluate the object identity

The object identity for the selected object is updated. This means that the deviation is approved.

This action is possible for selected objects that correspond to invalid, added or removed files as well as for invalid folders.

Revert the file to its shadow copy or delete the file

The shadow copy is reverted or the selected file is deleted. This means that the deviation is rejected.

This action is possible for selected objects that correspond to invalid or added files but not for removed files.

Reevaluate the object identity of the project

The object identity for the project and its objects is reevaluated again.

This action is always possible, it does not depend on the selected object.

Open compare dialog with shadow copy

The dialog Compare with shadow copy is started. This dialog lists the differences between the current content and its shadow copy.

This action is possible for selected objects that correspond to files with the status Invalid or Not found.

Columns

The following columns are visible within the dialog:

  • Object: This column contains the name of the affected object.

    If no deviations has been detected, just the project is listed. Otherwise, the project, the folders and files with the detected deviations are listed.

  • State: This column contains the state of the object.

  • Description: This column contains more details on the state of the object.

The possible states and its related descriptions are:

State Possible descriptions M: Meaning

A: Recommended action
Valid M: No deviations are detected.

A: Close the dialog.
Invalid

Content of the project has been changed.

Content of the folder has been changed.

File has been changed.

M: A deviation has been detected. The basic deviation (1) is a changed file content.

A: Approve a deviation or reject a deviation. It is also possible to compare an invalid file with its shadow copy.
Added

Folder has been added.

File has been added.

M: A deviation is detected. The basic deviation (1) is an added file.

A: Approve or reject the deviation.
Removed

Folder has been removed.

File has been removed.

M: A deviation is detected. The basic deviation (1) is a removed file.

A: Approve the deviation.
Not found

There is no object identity for the project.

There is no object identity for the folder.

There is no object identity for the file.

M: No object identity is detected for the object.

A: Approve a deviation or reject a deviation. If this does not work, contact your system integrator or Neuron. It is also possible to compare a not found file with its shadow copy.

Legend:

(1) The basic deviation is reported for a file. The project and folders are reported as deviations only, if a file in this project or its parent folder has changed, added or removed. The deviations of the project and the folders are the sum of the project/folder status and the deviations of the files.

Example 1: If one file in an existing folder has been changed and a second file has been added in the same folder, the reported deviation of the folder is Content of the folder has been changed. and the reported deviation of the project is Content of the project has been changed.

Example 2: If 2 files have been added in a new folder, the reported deviation of the folder is Folder has been added. whereas the reported deviation of the project is still Content of the project has been changed. because the project already existed.

Good to know

As a consequence observe that empty folders are not checked. This means, if an empty folder is deleted outside of Neuron Power Engineer, the removed folder will not be reported as a deviation.

Close button

Clicking the button Close closes the dialog without any prompt.