Being able to compare ReqIF models is a crucial necessity in many situations. Binom addresses this by providing a graphical compare view for both, structure and content.
The Requirements Interchange Format (ReqIF) is designed for the exchange of requirements. And this exchange typically happens interactively more than once, as parties exchange requirements over and over again, refining them in the process.
In this exchange, an important question is to find out what has changed. While our exchange component Axiom provides a summary, users typically want to analyze the changes, look at individual differences, etc. Our new component Binom allows this.
Binom for Comparing ReqIF Files
Just so you know what’s in store, here are a few screenshots from the new feature.
Showing Changes in the Specification Structure
Especially with big models, it is important to easily see the structural changes. Therefore, we put a lot of effort into the structural compare, which looks as follows:
There are broadly two kinds changes in the structure of a Requirements Document (or Specification, in ReqIF terminology): (1) moving elements around, including in and out of hierarchies, and (2) adding (or removing) requirements. The above image shows both.
The moving around of elements can be seen in a number of places. For instance, the order of Five has changed to the position before Four. Likewise, for the element Nine, the hierarchy has changed, becoming a child of Eight (rather than a sibling).
The removal of an element can be seen with Seven, which has been removed.
We use visual cues to visualize what happens. Changes in elements are marked by boxing them, and corresponding elements are connected by lines. Changes propagate to the top of the hierarchy, which is the reason why the root Specification Requirements Document is marked with a dashed line, but not boxed.
We are looking forward to your feedback.
All changes in the model are shown in an intuitive tree view, which can also be printed and filtered. The following is an extract of such a list of changes.
The changes contain a description that “speaks”. For instance, the requirement One has changed. By drilling down in the hierarchy, the actual change (“One Modified” to “One”) is found. But this is just a summary. A complete side-by-side comparison is available in the Properties View. The attributes that have changed are marked by a yellow background:
Filters and Navigation
Last, we will provide a number of ReqIF-specific filters. For instance, you can exclude certain attributes from the comparison. Some ReqIF exchange tools generate a whole bunch of attributes that are used internally by that tool. You can just filter them out. Correspondingly, do you really want to know if the timestamp of an element changed if its value has not changed? Filtering is important to just see what’s relevant.
Binom also provides the ability to jump from change to change through the model, ensuring that you look through all of them.