Subscribe

Consequent (ReqIF Validator)

ReqIF is spreading, and partners start handing .reqif and .reqifz files back and forth.  But chances are that the first import of such a file will fail.  How do you debug the problem? Consequent, the free ReqIF-Validator, may provide the answer.

There are two versions of Consequent available, GUI and Console:

Differences at a Glance

The following table shows the main difference between the GUI and Command line versions of Consequent:

Topic GUI Command Line
Cross-File-Validation Only one ReqIF file is validated, cross-file SpecRelations are ignored. SpecRelations across files are validated, if all relevant .reqif files are provided as arguments.
Selective disabling of rules Individual rules can be disabled via Window | Preferences | Model Validation | Constraints. All rules are always applied.
Error Markers Error markers are created, which allow to see errors in a text editor Line numbers are provided in the output
Saving results Upon validating, the user can save as XML. The output of the tool is plain text or XML (with -x option). It can be redirected into a file.

GUI-Validator

The latest version of formalmind Studio comes with an integrated version of Consequent. Use it as follows:

  • Right-Click the file to be validated in the Project Explorer (no need to open the file)
  • Select Validate | Consequent ReqIF Validation
  • A dialog indicates the completion of the validation, which is shown in the Problem View.
  • If the Problem View is not visible, open it by hand via Window | Show View | Other… | General | Problems
  • To see the error in the file, you must open it in a text editor as follows:
    • Right-Click the file in the Project Explorer
    • Select Open With | Text Editor
    • Errors are shown with an icon in the left margin (hovering over the error reveals the problem) – see screenshot below
    • For errors with line numbers, it is possible to double click on an error in the Problem View to jump to the corresponding position in the Text Editor
  • Error markers do not reset automatically. Re-run the validation to update them. You can manually clear error markes (e.g. for files that do not exist any more) by right-clicking on an element in the Problem View and selecting Delete.

In the Text Editor, errors are shown like this (with the mouse hovering over the icon):

Consequent Command Line Validation

The command line version of Consequent  must be downloaded separately (on the right).

Note that the command line version requires ReqIFz Archives to be unpacked first (.reqifz-Files).  This can be done with any unzip tool. The validator allows the checking of multiple files in one step, by listing all files to be validated as arguments.

Validating of SpecRelations (Links) across files is currently only supported by the Console version of the Validator.  To use this, list all .reqif files to be validated as arguments.

Installation

The download consists of a ZIP file that must be unpacked in a convenient location.  The executable is called consequent (or consequent.cmd) Simply execute it with the list of .reqif files to be validated.

The output is plain text. We will shortly add command line flags to produce XML output.

Validation Rules

For your convenience, we generated the validation Rules as PDF.

In the GUI-Version, you can access and individually disable the validation rules via Window | Preferences | Model Validation | Constraints.