The Requirements Interchange Format (ReqIF) is used to exchange requirements as the name suggests. But most of the time, you would do more than just one exchange, and if you do this, you may want to know what actually changed between two versions.
This is not really news, and our free formalmind Studio has had a simple compare function for a long time. But it is not very sophisticated and let’s be honest not really fit for a production environment. So we set out to change this and built a brand new compare tool for ReqIF. And we invite you to become a beta tester.
But first some news
There are some events in Germany coming up that you may be interested in:
- 3. November, EclipseCon Europe: openETCS “Eclipse in the Rail Domain” Dr. Michael Jastram
- 12. November, Tag des Systems Engineering (TdSE): “Solide Anforderungen dank ReqIF im europäischen Schienenverkehr” Dr. Michael Jastram, Moritz Dorka
Become a Beta Tester of Binom, the new ReqIF Compare
In a few weeks, we will start beta testing of Binom, which is the name of the new ReqIF compare component. If you would like to participate, then click the link below.
Once released, Binom will not be free of charge. Of course it is free to beta testers, and those who actively participate will have a chance to purchase it at a discount. Binom will be included in our Axiom component for free.
If you sign up below, we will send you the installation instructions, once the beta test starts.
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 still fine-tuning the styling, and if you decide to participate in the beta test, 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.
We hope that this little preview made you curious and hope that you will join the Binom Beta Test!
Image courtesy of Suvro Datta / FreeDigitalPhotos.net