Many new features in formalmind Studio

Over the last two months, we put a lot of work into formalmind Studio: We polished the rough edges and we implemented new features. Maybe you already noticed these, as we rolled some of them out silently, like jumping to the target of links. Others we already announced, like Consequent, the ReqIF validator. But here is the full list.

So here is our Christmas gift to you, and to the open source.

Before we start: Trends in Systems Engineering (German)

We mentioned it before: We launched a new German-language blog, Systems Engineering Trends. Recent Stories include:

If you speak German, please check it out, and please forward this to interested friends and colleagues. Visit SE-Trends >>

New Features in fmStudio

Here is the list of new features:

Bidirectional SpecRelations

SpecRelations (Links) have a source and a target. Therefore, there are incoming and outgoing links. We always counted the number of incoming links, but upon double clicking on the link column, only the outgoing links were shown. We finally change that, so now you can also see the incoming links.

You can see this to the right, where three requirements are linked from Start to Middle to End. Also note that the lines between SpecRelations are weaker, so that the SpecObjects are visually grouped with their SpecRelations.

Following SpecRelations

Another long overdue feature: Users don’t just want to see the target of a Link (which is shown in the Properties view, if the rightmost column is selected); they also want to be able to jump to the target requirements in the Specification where it is used.

This is not as trivial as it sounds: Requirements (SpecObjects) are referenced. This means that the SpecObject can be referenced multiple times, or not at all. In those scenarios, the tool lists all locations where the SpecObject is used in a dialog.

Faster SpecRelations

And while we were dealing with the linking, we also made it faster. If you encountered performance problems with SpecRelations in the past, please give it a try again.

Validation everywhere

We recently released Consequent, which performs ReqIF validation. We now automatically validate upon saving, so that you always know if something is wrong. You can disable this via Window | Preferences | ProR | Validate ReqIF on save.

Another place, where it is easy to introduce invalid model elements is the type configuration (fmStudio | Datatype Configuration). Therefore, the dialog now features a functioning “validate” button and requires users to click it before closing it. We also started to add validation rules to Presentations (extensions to the tool).

Last, clicking on a Problem now also selects the corresponding element in the editor. For now there is the limitation that the element must exists in the open editor, but we plan on chaning that as well.

Improvements in ID Generation

fmStudio always had the ability to generate human-readable IDs via the ID Presentation (accessible via fmStudio | Presentation Configuration). We made a number of improvements: The starting value is automatically determined, useful if some IDs have already been created manually. Also, if ID clashes are detected (e.g. because the file was modified outside fmStudio), the validator will produce an error, as shown in the screenshot below: The ID REQ-1 is used twice, which is shown in the Problems View.

New ReqIF Wizard (Prostep-conform)

We also created a new Wizard that takes the recommendations from the ProSTEP ReqIF Implementor Forum into account. This means that using that Wizard for new ReqIF files will make it much easier to import them in other tools. You can create new models via File | New | ReqIF 10 Model (with Attributes from Implementation Guide).

A model created this way also has the ID-Presentation configured, which means that human-readable IDs are also generated automatically.

Note: If the Wizard does not show up, you may have to reset your perspective via Window | Reset Perspective… You can also access it via File | New | Other…

Automatic Columns

fmStudio supports multiple Specifications. But upon creation of a new one, no columns were configured. Now the columns are created as soon as you add a requirement (SpecObject) to a new Specification. The SpecObject’s attributes are used as the template for the columns.

Also, the Column Dialog fmStudio | Configure Columns now features an additional button, Auto add Columns. Upon activation, the first 50 SpecObjects of the Specification are inspected and missing columns are added.

Little Improvements everywhere

And last, we fixed a lot of little things, sped things up, and made usage easier. This includes new keyboard shortcuts, bug fixes and the like.

Happy Holidays!

Even though we doubt that you will spend Christmas evening writing requirements, we still hope that these new features will make your work with ReqIF in 2016 a little easier.

Image courtesy of Mister GC at


One Pingback/Trackback