Requirements Interchange Format
{{About|Requirements Interchange Format (RIF/ReqIF)||RIF (disambiguation){{!}}RIF}}
{{Infobox file format
| name = Requirements Interchange Format (ReqIF)
| icon = frameless
| extension = .reqif
.reqifz
| mime =
| owner = Object Management Group
| latest release version = 1.2 (1 July 2016)
| genre = exchange file format
| container for = Requirements
| extended from = XML
| website = [http://www.omg.org/spec/ReqIF/1.2/ OMG Website]
| open = yes
}}
RIF/ReqIF (Requirements Interchange Format) is an XML file format that can be used to exchange requirements, along with its associated metadata, between software tools from different vendors. The requirements exchange format also defines a workflow for transmitting the status of requirements between partners. Although developed in the automotive industry, ReqIF is suitable for lossless exchange of requirements in any industry.
History
In 2004, HIS (Herstellerinitiative Software) a consortium of German automotive manufacturers, defined a generic requirements interchange format called RIF.
The format was handed over in 2008 to ProSTEP iViP e.V. for further maintenance. A project group responsible for international standardization further developed the format and handed over a revised version to Object Management Group (OMG) as "Request for Comment" in 2010.[http://re-magazine.ireb.org/issues/2014-3-gaining-height/open-up/ Open Up - How the ReqIF Standard for Requirements Exchange Disrupts the Tool Market.], Requirements Engineering Magazine, Issue 2014-03, as of 15.9.2014
As the acronym RIF had an ambiguous meaning within the OMG, the new name ReqIF was introduced to separate it from the W3C's Rule Interchange Format.
In April 2011, the version 1.0.1 of ReqIF was adopted by OMG as a formal specification (OMG Document Number: formal/2011-04-02).
In October 2013, version 1.1 was published (OMG Document Number: formal/2013-10-01). Changes are restricted to the text of the standard, the XML schema and underlying model have not changed. Therefore, 1.1 and 1.0.1 .reqif files are equivalent.
In July 2016, version 1.2 was published (OMG Document Number: formal/2016-07-01). As with the previous versions, changes are restricted to the text of the standard, the XML schema and underlying model have not changed. Therefore, 1.2, 1.1 and 1.0.1 .reqif files are equivalent.
Features
ReqIF is an exchange file format for exchanging requirements, attributes, additional files (e.g. images) across a chain of manufacturers, suppliers, sub-suppliers and the like. A GUID ensures unique identification of content across the process chain.
Application
Requirements are typically elicited during the early phase of product development. This is the primary application of ReqIF, as development across organizations is happening more and more often. ReqIF allows for sharing of requirements between partners, even if different tools are used. In contrast to formats like Word, Excel or PDF, ReqIF allows for a loss-free exchange.
ReqIF was pioneered by automotive manufacturers, who started to demand the use of ReqIF in particular for the development of embedded controllers.
ReqIF is also used as the underlying data model for tool implementations. This is particularly true for the ReqIF Reference implementation (Eclipse RMF), which is being used by an implementer forum,[http://www.prostep.org/de/projekte/reqif-implementor-forum-req-if.html ReqIF Implementor Forum], ProSTEP website, as of 28.5.2013 that aims to ensure interoperability of various ReqIF implementations. ReqIF Serverhttp://www.reqif.de/index.php/intro.html ReqIf Server Homepage, as of 30.5.2013 is another tool that natively uses ReqIF.
Operation
RIF/ReqIF is a standardized meta-model, defined by an XML schema. Such files must conform to the schema and contain the description of the model (the datatypes), as well as the data. A successful data exchange between various tools only succeeds, if all parties agree on a common data model. The previously mentioned implementor forum is working on such a common model and also organizes tests with tools of the participating manufacturers, to ensure future interoperability.
Structure of ReqIF files
An OMG ReqIF file consists of XML with the root element {{mono|REQ-IF}}, containing information regarding the file itself as well as the contained datatypes and requirements.
The containers for requirements in ReqIF are called specification objects ({{mono|SpecObject}}), which have user-defined attributes. Each attribute has a data type, which is one of {{mono|Boolean}}, {{mono|Integer}}, {{mono|Real}}, {{mono|String}}, {{mono|Enumeration}} (with user-defined values) and XHTML, which is also for formatted text and embedded objects, including images. Some datatypes can be constrained further, e.g. the range of numerical values.
Relationships between objects are represented as {{mono|SpecRelations}}, which can also have attributes.
At last, hierarchical trees create a structured view on SpecObjects, called {{mono|Specifications}}. Multiple references on the same SpecObject are permitted.
The structure of ReqIF is described in detail in the specification.[http://www.omg.org/spec/ReqIF/1.2/ ReqIF 1.2 Specification], OMG website, as of 10.1.2016 There is also a free one-page reference of the data model available[https://reqif.academy/reference/reqif-quick-reference/ ReqIF Quick Reference], ReqIF.academy, as of 10.1.2016 {{registration required}}
See also
References
External links
- [http://www.prostep.org/rif ProSTEP iViP page with Information and Specifications] (German)
- [http://www.omg.org/cgi-bin/doc?mantis/2010-3-7 Requirements Interchange Format (ReqIF): Request for Comments] (English)
- [http://www.omg.org/spec/ReqIF OMG: Requirements Interchange Format (ReqIF) Specification] (English)
- [http://www.doorscope.ch/ Free ReqIF viewer for Windows (no installation needed)] (English)
- [https://reqif.academy ReqIF.academy: Free library of ReqIF information (references, checklists, software, etc.)] (English)
- [https://reqifsharp.org reqifsharp: Free open-source ReqIF library for .NET] (English)
- [https://www.reqteam.com/?lang=en ReqEdit: ReqIF Tool for reading, writing, merging, comparing, importing from word, excel etc. ] (English)