Filename extension | .reqif .reqifz |
---|---|
Developed by | Object Management Group |
Latest release | 1.7.2016 |
Type of format | exchange 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.
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.
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.
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.
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.
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]
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).
The Meta-Object Facility (MOF) is an Object Management Group (OMG) standard for model-driven engineering. Its purpose is to provide a type system for entities in the CORBA architecture and a set of interfaces through which those types can be created and manipulated. MOF may be used for domain-driven software design and object-oriented modelling.
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 1990s 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.
COLLADA is an interchange file format for interactive 3D applications. It is managed by the nonprofit technology consortium, the Khronos Group, and has been adopted by ISO as a publicly available specification, ISO/PAS 17506.
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 commonly used data format with diverse uses in electronic data interchange, including that of web applications with servers.
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).
NIEMOpen, frequently referred to as NIEM, originated as an XML-based information exchange framework from the United States, but has transitioned to an OASISOpen Project. This initiative formalizes NIEM's designation as an official standard in national and international policy and procurement. NIEMOpen's Project Governing Board recently approved the first standard under this new project; the Conformance Targets Attribute Specification (CTAS) Version 3.0. A full collection of NIEMOpen standards are anticipated by end of year 2024.
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 is a standard for generic 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 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.