Requirements Interchange Format

Last updated
Requirements Interchange Format (ReqIF)
Logo Requirements Interchange Format (ReqIF).png
Filename extension

.reqif

.reqifz
Developed by Object Management Group
Latest release
1.7.2016
Type of formatexchange file format
Container for Requirements
Extended from XML
Open format?yes
Website OMG Website

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.

Contents

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. [1]

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). Like 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, [2] that aims to ensure interoperability of various ReqIF implementations. ReqIF Server [3] 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 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 (SpecObject), which have user-defined attributes. Each attribute has a data type, which is one of Boolean, Integer, Real, String, 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 SpecRelations, which can also have attributes.

At last, hierarchical trees create a structured view on SpecObjects, called Specifications. Multiple references on the same SpecObject are permitted.

The structure of ReqIF is described in detail in the specification. [4] There is also a free one-page reference of the data model available [5]

See also

Related Research Articles

XML Markup language by the W3C for encoding of data

Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. The World Wide Web Consortium's XML 1.0 Specification of 1998 and several other related specifications—all of them free open standards—define XML.

The XML Metadata Interchange (XMI) is an Object Management Group (OMG) standard for exchanging metadata information via Extensible Markup Language (XML).

XSD, a recommendation of the World Wide Web Consortium (W3C), specifies how to formally describe the elements in an Extensible Markup Language (XML) document. It can be used by programmers to verify each piece of item content in a document, to assure it adheres to the description of the element it is placed in.

The High Level Architecture (HLA) is a standard for distributed simulation, used when building a simulation for a larger purpose by combining (federating) several simulations. The standard was developed in the 90s under the leadership of the US Department of Defense and was later transitioned to become an open international IEEE standard. It is a recommended standard within NATO through STANAG 4603. Today the HLA is used in a number of domains including defense and security and civilian applications.

ISO 10303 is an ISO standard for the computer-interpretable representation and exchange of product manufacturing information. It's an ASCII-based format. Its official title is: Automation systems and integration — Product data representation and exchange. It is known informally as "STEP", which stands for "STandard for the Exchange of Product model data". ISO 10303 can represent 3D objects in Computer-aided design (CAD) and related information.

JSON Open standard file format and data interchange

JSON is an open standard file format and data interchange format that uses human-readable text to store and transmit data objects consisting of attribute–value pairs and arrays. It is a common data format with diverse uses in electronic data interchange, including that of web applications with servers.

Learning object metadata Data model

Learning Object Metadata is a data model, usually encoded in XML, used to describe a learning object and similar digital resources used to support learning. The purpose of learning object metadata is to support the reusability of learning objects, to aid discoverability, and to facilitate their interoperability, usually in the context of online learning management systems (LMS).

The National Information Exchange Model (NIEM) originated as an XML-based information exchange framework from the United States. NIEM also supports NIEM JSON exchanges. NIEM is currently developing the NIEM Metamodel and Common Model Format which can be expressed in any data serialization that NIEM supports. NIEM represents a collaborative partnership of agencies and organizations across all levels of government and with private industry. The purpose of this partnership is to effectively and efficiently share critical information at key decision points throughout the whole of the justice, public safety, emergency and disaster management, intelligence, and homeland security enterprise. NIEM is designed to develop, disseminate, and support enterprise-wide information exchange standards and processes that will enable jurisdictions to automate information sharing.

The REWERSE Rule Markup Language (R2ML) is developed by the REWERSE Working Group I1 for the purpose of rules interchange between different systems and tools.

EXPRESS (data modeling language)

EXPRESS is a standard data modeling language for product data. EXPRESS is formalized in the ISO Standard for the Exchange of Product model STEP, and standardized as ISO 10303-11.

The Business Process Definition Metamodel (BPDM) is a standard definition of concepts used to express business process models, adopted by the OMG. Metamodels define concepts, relationships, and semantics for exchange of user models between different modeling tools. The exchange format is defined by XSD and XMI, a specification for transformation of OMG metamodels to XML. Pursuant to the OMG's policies, the metamodel is the result of an open process involving submissions by member organizations, following a Request for Proposal (RFP) issued in 2003. BPDM was adopted in initial form in July 2007, and finalized in July 2008.

The Rule Interchange Format (RIF) is a W3C Recommendation. RIF is part of the infrastructure for the semantic web, along with (principally) SPARQL, RDF and OWL. Although originally envisioned by many as a "rules layer" for the semantic web, in reality the design of RIF is based on the observation that there are many "rules languages" in existence, and what is needed is to exchange rules between them.

Data exchange is the process of taking data structured under a source schema and transforming it into a target schema, so that the target data is an accurate representation of the source data. Data exchange allows data to be shared between different computer programs.

Knowledge Discovery Metamodel (KDM) is a publicly available specification from the Object Management Group (OMG). KDM is a common intermediate representation for existing software systems and their operating environments, that defines common metadata required for deep semantic integration of Application Lifecycle Management tools. KDM was designed as the OMG's foundation for software modernization, IT portfolio management and software assurance. KDM uses OMG's Meta-Object Facility to define an XMI interchange format between tools that work with existing software as well as an abstract interface (API) for the next-generation assurance and modernization tools. KDM standardizes existing approaches to knowledge discovery in software engineering artifacts, also known as software mining.

The Semantics of Business Vocabulary and Business Rules (SBVR) is an adopted standard of the Object Management Group (OMG) intended to be the basis for formal and detailed natural language declarative description of a complex entity, such as a business. SBVR is intended to formalize complex compliance rules, such as operational rules for an enterprise, security policy, standard compliance, or regulatory compliance rules. Such formal vocabularies and rules can be interpreted and used by computer systems. SBVR is an integral part of the OMG's model-driven architecture (MDA).

The Information Interchange Model (IIM) is a file structure and set of metadata attributes that can be applied to text, images and other media types. It was developed in the early 1990s by the International Press Telecommunications Council (IPTC) to expedite the international exchange of news among newspapers and news agencies.

Content Assembly Mechanism (CAM) is an XML-based standard for creating and managing information exchanges that are interoperable and deterministic descriptions of machine-processable information content flows into and out of XML structures. CAM is a product of the OASIS Content Assembly Technical Committee.

This is a comparison of data-serialization formats, various ways to convert complex objects to sequences of bits. It does not include markup languages used exclusively as document file formats.

References

  1. Open Up - How the ReqIF Standard for Requirements Exchange Disrupts the Tool Market., Requirements Engineering Magazine, Issue 2014-03, as of 15.9.2014
  2. ReqIF Implementor Forum, ProSTEP website, as of 28.5.2013
  3. http://www.reqif.de/index.php/intro.html ReqIf Server Homepage, as of 30.5.2013
  4. ReqIF 1.2 Specification, OMG website, as of 10.1.2016
  5. ReqIF Quick Reference, ReqIF.academy, as of 10.1.2016 (registration required)