requirements
adh.msosa.requirements
¤
ADH Requirements (Reqs) Models.
Requirements models describe the capturing of system needs, ensuring traceability and validation in each framework.
The requirements child nodes in the ADH are aligned with ISO/IEC/IEEE 29148:2018 and INCOSE
Classes:
-
Priority–Requirement priority levels per INCOSE guidance.
-
ReqsCategories–Taxonomy for system requirements based on ISO/IEC/IEEE 29148 and
-
Requirement–A single requirement including specification, tracking and validation.
-
RequirementStatus–Lifecycle status of a requirement.
-
Requirements–Container for a list of requirements.
-
VerificationMethod–Verification methods per ISO/IEC/IEEE 15288:2023.
ReqsCategories
¤
Taxonomy for system requirements based on ISO/IEC/IEEE 29148 and INCOSE's Guide to Writing Requirements.
Attributes:
-
constraints–Restricts the design space, including physical (SWaP), material, or architectural limits.
-
functional–Defines the essential capabilities, behaviors, and tasks the system must perform.
-
interface–Defines the logical and physical connection points with external systems, hardware, or users.
-
non_functional–A broad category for quality attributes not captured in specific performance or security buckets.
-
performance–Specifies measurable benchmarks such as speed, throughput, capacity, and timing.
-
quality_reliability–Defines system 'ilities' including reliability, availability, maintainability, and usability.
-
regulatory_compliance–Mandates adherence to laws, industry standards, safety codes, and legal policies.
-
security_cyber–Specifies protection of the system, data, and users from unauthorized access or harm.
constraints
class-attribute
instance-attribute
¤
constraints = 'constraints'
Restricts the design space, including physical (SWaP), material, or architectural limits.
functional
class-attribute
instance-attribute
¤
functional = 'functional'
Defines the essential capabilities, behaviors, and tasks the system must perform.
interface
class-attribute
instance-attribute
¤
interface = 'interface'
Defines the logical and physical connection points with external systems, hardware, or users.
non_functional
class-attribute
instance-attribute
¤
non_functional = 'non-functional'
A broad category for quality attributes not captured in specific performance or security buckets.
performance
class-attribute
instance-attribute
¤
performance = 'performance'
Specifies measurable benchmarks such as speed, throughput, capacity, and timing.
quality_reliability
class-attribute
instance-attribute
¤
quality_reliability = 'quality and reliability'
Defines system 'ilities' including reliability, availability, maintainability, and usability.
regulatory_compliance
class-attribute
instance-attribute
¤
regulatory_compliance = 'regulatory and compliance'
Mandates adherence to laws, industry standards, safety codes, and legal policies.
security_cyber
class-attribute
instance-attribute
¤
security_cyber = 'security and cyber security'
Specifies protection of the system, data, and users from unauthorized access or harm.
Requirement
pydantic-model
¤
Bases: BaseModel
A single requirement including specification, tracking and validation.
Show JSON schema:
{
"$defs": {
"Author": {
"description": "Author or contributor to an ADH node.",
"properties": {
"name": {
"description": "Full name of the author.",
"title": "Name",
"type": "string"
},
"organisation": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Organisation or affiliation.",
"title": "Organisation"
},
"email": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Email address.",
"title": "Email"
}
},
"required": [
"name"
],
"title": "Author",
"type": "object"
},
"ExternalReference": {
"description": "Reference to an external file or document.",
"properties": {
"title": {
"description": "Title or name of the referenced resource.",
"title": "Title",
"type": "string"
},
"path": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "File path or URI to the external resource.",
"title": "Path"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Description of the reference and its relevance.",
"title": "Description"
},
"classification": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Type classification of the reference (e.g. 'STEP file', 'CFD mesh', 'test report').",
"title": "Classification"
}
},
"required": [
"title"
],
"title": "ExternalReference",
"type": "object"
},
"Priority": {
"description": "Requirement priority levels per INCOSE guidance.",
"enum": [
"critical",
"high",
"medium",
"low"
],
"title": "Priority",
"type": "string"
},
"ReqsCategories": {
"description": "Taxonomy for system requirements based on ISO/IEC/IEEE 29148 and\nINCOSE's Guide to Writing Requirements.",
"enum": [
"functional",
"performance",
"quality and reliability",
"security and cyber security",
"interface",
"constraints",
"regulatory and compliance",
"non-functional"
],
"title": "ReqsCategories",
"type": "string"
},
"RequirementStatus": {
"description": "Lifecycle status of a requirement.",
"enum": [
"draft",
"approved",
"implemented",
"verified",
"obsolete"
],
"title": "RequirementStatus",
"type": "string"
},
"SourceInfo": {
"description": "Source and authorship metadata for an ADH node.",
"properties": {
"authors": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/Author"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Authors or contributors.",
"title": "Authors"
},
"creation_date": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Date this node was created.",
"title": "Creation Date"
},
"modification_date": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Date this node was last modified.",
"title": "Modification Date"
},
"version": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Version string.",
"title": "Version"
},
"references": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/ExternalReference"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "References to external files or documents.",
"title": "References"
}
},
"title": "SourceInfo",
"type": "object"
},
"VerificationMethod": {
"description": "Verification methods per ISO/IEC/IEEE 15288:2023.",
"enum": [
"test",
"analysis",
"inspection",
"demonstration"
],
"title": "VerificationMethod",
"type": "string"
}
},
"description": "A single requirement including specification, tracking and validation.",
"properties": {
"name": {
"description": "A unique name identifying the requirement.",
"title": "Name",
"type": "string"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "A detailed description of the requirement.",
"title": "Description"
},
"category": {
"anyOf": [
{
"$ref": "#/$defs/ReqsCategories"
},
{
"type": "null"
}
],
"default": null,
"description": "The category of the requirement."
},
"priority": {
"anyOf": [
{
"$ref": "#/$defs/Priority"
},
{
"type": "null"
}
],
"default": null,
"description": "The priority of the requirement."
},
"verification_method": {
"anyOf": [
{
"$ref": "#/$defs/VerificationMethod"
},
{
"type": "null"
}
],
"default": null,
"description": "How the requirement will be verified."
},
"status": {
"anyOf": [
{
"$ref": "#/$defs/RequirementStatus"
},
{
"type": "null"
}
],
"default": null,
"description": "The current lifecycle status of the requirement."
},
"source": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "The originating document or stakeholder.",
"title": "Source"
},
"acceptance_criteria": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Conditions that must be met for the requirement to be satisfied.",
"title": "Acceptance Criteria"
},
"target_component": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "The component or subsystem this requirement applies to.",
"title": "Target Component"
},
"risk": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Known risks associated with this requirement.",
"title": "Risk"
},
"verification_evidence": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Evidence or artefacts confirming verification.",
"title": "Verification Evidence"
},
"source_info": {
"anyOf": [
{
"$ref": "#/$defs/SourceInfo"
},
{
"type": "null"
}
],
"default": null,
"description": "Source and authorship metadata."
}
},
"required": [
"name"
],
"title": "Requirement",
"type": "object"
}
Fields:
-
name(str) -
description(Optional[str]) -
category(Optional[ReqsCategories]) -
priority(Optional[Priority]) -
verification_method(Optional[VerificationMethod]) -
status(Optional[RequirementStatus]) -
source(Optional[str]) -
acceptance_criteria(Optional[str]) -
target_component(Optional[str]) -
risk(Optional[str]) -
verification_evidence(Optional[str]) -
source_info(Optional[SourceInfo])
acceptance_criteria
pydantic-field
¤
Conditions that must be met for the requirement to be satisfied.
category
pydantic-field
¤
category: Optional[ReqsCategories] = None
The category of the requirement.
description
pydantic-field
¤
A detailed description of the requirement.
source_info
pydantic-field
¤
source_info: Optional[SourceInfo] = None
Source and authorship metadata.
status
pydantic-field
¤
status: Optional[RequirementStatus] = None
The current lifecycle status of the requirement.
target_component
pydantic-field
¤
The component or subsystem this requirement applies to.
verification_evidence
pydantic-field
¤
Evidence or artefacts confirming verification.
verification_method
pydantic-field
¤
verification_method: Optional[VerificationMethod] = None
How the requirement will be verified.
Requirements
pydantic-model
¤
Bases: BaseModel
Container for a list of requirements.
Show JSON schema:
{
"$defs": {
"Author": {
"description": "Author or contributor to an ADH node.",
"properties": {
"name": {
"description": "Full name of the author.",
"title": "Name",
"type": "string"
},
"organisation": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Organisation or affiliation.",
"title": "Organisation"
},
"email": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Email address.",
"title": "Email"
}
},
"required": [
"name"
],
"title": "Author",
"type": "object"
},
"ExternalReference": {
"description": "Reference to an external file or document.",
"properties": {
"title": {
"description": "Title or name of the referenced resource.",
"title": "Title",
"type": "string"
},
"path": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "File path or URI to the external resource.",
"title": "Path"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Description of the reference and its relevance.",
"title": "Description"
},
"classification": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Type classification of the reference (e.g. 'STEP file', 'CFD mesh', 'test report').",
"title": "Classification"
}
},
"required": [
"title"
],
"title": "ExternalReference",
"type": "object"
},
"Priority": {
"description": "Requirement priority levels per INCOSE guidance.",
"enum": [
"critical",
"high",
"medium",
"low"
],
"title": "Priority",
"type": "string"
},
"ReqsCategories": {
"description": "Taxonomy for system requirements based on ISO/IEC/IEEE 29148 and\nINCOSE's Guide to Writing Requirements.",
"enum": [
"functional",
"performance",
"quality and reliability",
"security and cyber security",
"interface",
"constraints",
"regulatory and compliance",
"non-functional"
],
"title": "ReqsCategories",
"type": "string"
},
"Requirement": {
"description": "A single requirement including specification, tracking and validation.",
"properties": {
"name": {
"description": "A unique name identifying the requirement.",
"title": "Name",
"type": "string"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "A detailed description of the requirement.",
"title": "Description"
},
"category": {
"anyOf": [
{
"$ref": "#/$defs/ReqsCategories"
},
{
"type": "null"
}
],
"default": null,
"description": "The category of the requirement."
},
"priority": {
"anyOf": [
{
"$ref": "#/$defs/Priority"
},
{
"type": "null"
}
],
"default": null,
"description": "The priority of the requirement."
},
"verification_method": {
"anyOf": [
{
"$ref": "#/$defs/VerificationMethod"
},
{
"type": "null"
}
],
"default": null,
"description": "How the requirement will be verified."
},
"status": {
"anyOf": [
{
"$ref": "#/$defs/RequirementStatus"
},
{
"type": "null"
}
],
"default": null,
"description": "The current lifecycle status of the requirement."
},
"source": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "The originating document or stakeholder.",
"title": "Source"
},
"acceptance_criteria": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Conditions that must be met for the requirement to be satisfied.",
"title": "Acceptance Criteria"
},
"target_component": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "The component or subsystem this requirement applies to.",
"title": "Target Component"
},
"risk": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Known risks associated with this requirement.",
"title": "Risk"
},
"verification_evidence": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Evidence or artefacts confirming verification.",
"title": "Verification Evidence"
},
"source_info": {
"anyOf": [
{
"$ref": "#/$defs/SourceInfo"
},
{
"type": "null"
}
],
"default": null,
"description": "Source and authorship metadata."
}
},
"required": [
"name"
],
"title": "Requirement",
"type": "object"
},
"RequirementStatus": {
"description": "Lifecycle status of a requirement.",
"enum": [
"draft",
"approved",
"implemented",
"verified",
"obsolete"
],
"title": "RequirementStatus",
"type": "string"
},
"SourceInfo": {
"description": "Source and authorship metadata for an ADH node.",
"properties": {
"authors": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/Author"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Authors or contributors.",
"title": "Authors"
},
"creation_date": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Date this node was created.",
"title": "Creation Date"
},
"modification_date": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Date this node was last modified.",
"title": "Modification Date"
},
"version": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Version string.",
"title": "Version"
},
"references": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/ExternalReference"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "References to external files or documents.",
"title": "References"
}
},
"title": "SourceInfo",
"type": "object"
},
"VerificationMethod": {
"description": "Verification methods per ISO/IEC/IEEE 15288:2023.",
"enum": [
"test",
"analysis",
"inspection",
"demonstration"
],
"title": "VerificationMethod",
"type": "string"
}
},
"description": "Container for a list of requirements.",
"properties": {
"requirements": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/Requirement"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Requirements"
}
},
"title": "Requirements",
"type": "object"
}
Fields:
-
requirements(Optional[list[Requirement]])
VerificationMethod
¤
Verification methods per ISO/IEC/IEEE 15288:2023.
Attributes:
-
analysis–Verification by mathematical or logical examination of models or data.
-
demonstration–Verification by operating the system and observing its behaviour.
-
inspection–Verification by visual or physical examination of the system.
-
test–Verification by executing the system under controlled conditions.
analysis
class-attribute
instance-attribute
¤
analysis = 'analysis'
Verification by mathematical or logical examination of models or data.
demonstration
class-attribute
instance-attribute
¤
demonstration = 'demonstration'
Verification by operating the system and observing its behaviour.
inspection
class-attribute
instance-attribute
¤
inspection = 'inspection'
Verification by visual or physical examination of the system.
test
class-attribute
instance-attribute
¤
test = 'test'
Verification by executing the system under controlled conditions.