Standard model
The metamodel that workspace.init writes into a new workspace. A workspace can change it; keys never change.

Need (need)
Section titled “Need (need)”What a stakeholder needs, in their own words. System requirements derive from needs.
- Short ID prefix:
N - Meaning: need
- Properties:
title,rationale,topic,source,source-identifier,import-date,delivery,import-version - Required:
title
Use Case (use-case)
Section titled “Use Case (use-case)”A goal a user reaches with the system, step by step. Requirements can refine it.
- Short ID prefix:
UC - Properties:
title,rationale,source,source-identifier,import-date,delivery,import-version - Required:
title
System Requirement (system-requirement)
Section titled “System Requirement (system-requirement)”What the system must do or be, verified against its acceptance criteria.
- Short ID prefix:
SR - Meaning: requirement
- Properties:
title,rationale,requirement-type,acceptance-criteria,validity,packages,emergent,verification-method,statement,source,source-identifier,import-date,delivery,import-version,topic - Required:
title,requirement-type,acceptance-criteria
Decision (decision)
Section titled “Decision (decision)”A decision with its rationale; requirements are based on it.
- Short ID prefix:
D - Properties:
title,rationale,source,source-identifier,import-date,delivery,import-version - Required:
title
Variant (variant)
Section titled “Variant (variant)”A variant of the product. Its requirements replace requirements of the core only through Replaces; Excludes names the core requirements that do not apply in it.
- Short ID prefix:
VAR - Meaning: variant
- Properties:
title,source,source-identifier,import-date,delivery,import-version - Required:
title
Package (package)
Section titled “Package (package)”A group of elements. System requirements name it in their property Package.
- Short ID prefix:
PKG - Meaning: package
- Properties:
title,source,source-identifier,import-date,delivery,import-version - Required:
title
Properties
Section titled “Properties”Title (title)
Section titled “Title (title)”Short name of the element, shown with its short ID.
- Kind: text
- Meaning: title
Rationale (rationale)
Section titled “Rationale (rationale)”Why the element exists or is as it is.
- Kind: text
- Markdown text.
Requirement Type (requirement-type)
Section titled “Requirement Type (requirement-type)”The kind of requirement.
- Kind: choice
- Choices: Functional (
functional), Quality (quality), Performance (performance), Interface (interface), Constraint (constraint) - Counts to the version of the element.
Acceptance Criteria (acceptance-criteria)
Section titled “Acceptance Criteria (acceptance-criteria)”The conditions under which the requirement is met, one per entry.
- Kind: text, several values
- Counts to the version of the element.
- Markdown text.
Validity (validity)
Section titled “Validity (validity)”The variants the requirement applies to; without validity it belongs to the core and applies to every variant.
- Kind: relation, several values
- Target types:
variant - Meaning: validity
- Counts to the version of the element.
Package (packages)
Section titled “Package (packages)”The packages the element belongs to.
- Kind: relation, several values
- Target types:
package - Meaning: packages
Emergent (emergent)
Section titled “Emergent (emergent)”Whether the requirement has emergent behaviour: behaviour that does not follow from its children alone. Such a requirement needs evidence of its own.
- Kind: choice
- Choices: Yes (
yes), No (no) - Meaning: emergent
Verification Method (verification-method)
Section titled “Verification Method (verification-method)”How the requirement is verified.
- Kind: choice
- Choices: Test (
test), Analysis (analysis), Inspection (inspection), Demonstration (demonstration) - Meaning: verification-method
Statement (statement)
Section titled “Statement (statement)”The supplier’s statement on an imported requirement, exported to the source with reqif export --statements. It does not count to the version; the requirement itself is the element text.
- Kind: text
- Meaning: statement
Source (source)
Section titled “Source (source)”The source the element was imported from.
- Kind: text
- Meaning: source
Source Identifier (source-identifier)
Section titled “Source Identifier (source-identifier)”The identifier of the element in its source.
- Kind: text
- Meaning: source-identifier
Import Date (import-date)
Section titled “Import Date (import-date)”The date of the import.
- Kind: date
- Meaning: import-date
Delivery (delivery)
Section titled “Delivery (delivery)”The name of the delivery the element was imported from.
- Kind: text
- Meaning: delivery
Import Version (import-version)
Section titled “Import Version (import-version)”The import version: the version of what the import wrote, right after the last import.
- Kind: text
- Meaning: import-version
Topic (topic)
Section titled “Topic (topic)”The topic the element belongs to, as the project names its topics.
- Kind: text
Relation kinds
Section titled “Relation kinds”Refines (refines)
Section titled “Refines (refines)”The source details the target, for example a requirement a need. A chain follows it from need to requirement.
- Inverse name: Refined by
- Meaning: derivation
Derives from (derives-from)
Section titled “Derives from (derives-from)”A system requirement derives from a need, a use case or another system requirement. A chain follows it.
- Inverse name: Derived by
- From types:
system-requirement - To types:
need,use-case,system-requirement - Meaning: derivation
Based on (based-on)
Section titled “Based on (based-on)”The source is based on a decision.
- Inverse name: Basis for
- To types:
decision
Supersedes (supersedes)
Section titled “Supersedes (supersedes)”The source says that it supersedes the target. Superseding an element (element.supersede) also sets the target to an invalid status; the relation alone does not.
- Inverse name: Superseded by
- Meaning: succession
Replaces (replaces)
Section titled “Replaces (replaces)”A system requirement of a variant replaces one of the core in that variant.
- Inverse name: Replaced by
- From types:
system-requirement - To types:
system-requirement - Meaning: replacement
Excludes (excludes)
Section titled “Excludes (excludes)”A variant excludes a system requirement of the core: it does not apply in that variant.
- Inverse name: Excluded by
- From types:
variant - To types:
system-requirement - Meaning: exclusion
Statuses
Section titled “Statuses”Draft (draft)
Section titled “Draft (draft)”Being written or changed.
- The status of a new element.
Approved (approved)
Section titled “Approved (approved)”Agreed and valid.
Obsolete (obsolete)
Section titled “Obsolete (obsolete)”No longer valid. The element stays visible in the chain.
- Invalid: the element counts neither for coverage nor for indirect verification.