Home > EMF, Requirements Management, RMF > RIF meets ReqIF

RIF meets ReqIF


ReqIF is the new OMG standard for requirements interchange. RIF is the predecessor to it and already supported by many tools like DOORS. RMF delivers both the standards as Ecore models. However, there are quite a few differences between the two standards making them type incompatible.

The main differences lies in,

1. Element naming.
For example, the element RIF is now called REQIF, SpecHierarchyRoot is now Specification and so on.

2. More specification types.
If you know the RIF model already, you would know the concept of SpecTypes. This element allows creation of new types. In RIF and ReqIF, SpecObjects (the instance values)  and SpecRelations (relations between instances) are typed. However, in RIF, both refer to the same SpecType element, where as ReqIF has different types called SpecObjectType for SpecObject, SpecRelationType for SpecRelation and some more new types.

3. More attribute definition and value types.
RIF had only a single attribute definition type called  AttributeDefinitionSimple. ReqIF extends this for different the different data types as AttributeDefinitionIntegerAttributeDefinitionRealAttributeDefinitionString etc. Same for values as AttributeValueIntegerAttributeValueRealAttributeValueString etc.

4. RIF XML uses no XML attributes where as ReqIF uses a lot of them.
For example, IDENTIFIER is an XML element in RIF whereas it is a XML attribute in ReqIF.

This brings us to the question – how do I convert my existing RIF files to the new ReqIF format? Considering the fact that there are a lot of industry samples in RIF format, we thought of writing a RIF to ReqIF converter. The transformer takes in a RIF file and transforms it into a ReqIF, retaining all its contents. You could also do an in-memory transformation between the two models.

This is how a RIF source than we passed to our converter looks like after transformation.

RIF Source

ReqIF Target

  1. August 9, 2011 at 7:12 pm

    I suppose RMF will support them both….
    Also will the converter be committed to the repository?

    • August 9, 2011 at 8:17 pm

      RMF will deliver Ecore models for RIF 1.1, RIF 1.2 and ReqIF 1.0.1. The UI will however be based on ReqIF 1.0.1. The converter is currently not planned to be part of the initial code contribution.

  2. Vadim P.
    December 11, 2013 at 7:04 am

    Are there any example ReqIF files? I’m looking to implement ReqIF as an intermediate format for requirements between two tools (which seems like a natural thing to do with ReqIF).

    I’ve read the spec, and sort of get the general idea, but it is difficult to quantify what exactly needs to be done from everything. Some examples / tutorials that build up from small to bigger would really help.

  3. December 11, 2013 at 8:10 am

    Hi Vadim, you could use http://www.eclipse.org/rmf/pror/ to create ReqIF files. I did see some sample files on the OMG or ProStep pages earlier. Cannot find it anymore :(

    • December 17, 2013 at 2:24 am

      Yeah, I’ve been fiddling that and trying to wrap my head around it.

  1. August 10, 2011 at 7:39 am

Leave a reply to Sopot Çela (@smcela) Cancel reply