Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
0737b7c
Add files via upload
stevenc-stb Mar 28, 2026
1f61784
Add files via upload
stevenc-stb Mar 28, 2026
7ceb6ca
Merge branch 'spdx:develop' into stevenc-add-StakeholderNeed
stevenc-stb Apr 2, 2026
414be3a
Update StakeholderNeed.md
stevenc-stb Apr 2, 2026
21c21bc
Update StakeholderNeed.md
stevenc-stb Apr 2, 2026
6ad2594
Update stakeholderPriority.md
stevenc-stb Apr 2, 2026
acb402c
Update statement.md
stevenc-stb Apr 2, 2026
66b69a8
Update RelationshipType.md
stevenc-stb Apr 2, 2026
646f8d2
Update RelationshipType.md
stevenc-stb Apr 2, 2026
2e221cd
Update RelationshipType.md
stevenc-stb Apr 2, 2026
aaf2787
Update StakeholderNeed.md
stevenc-stb Apr 2, 2026
7687c47
Update stakeholderPriority.md
stevenc-stb Apr 2, 2026
5ed658e
Update stakeholderPriority.md
stevenc-stb Apr 2, 2026
4e5c990
Update StakeholderNeed.md
stevenc-stb Apr 2, 2026
b070d00
Update StakeholderNeed.md
stevenc-stb Apr 2, 2026
1a23656
Update StakeholderNeed.md
stevenc-stb Apr 10, 2026
36ea34c
Update StakeholderNeed.md
stevenc-stb Apr 10, 2026
869176e
Update model/Core/Vocabularies/RelationshipType.md
stevenc-stb Apr 17, 2026
8e99aac
Update model/Core/Vocabularies/RelationshipType.md
stevenc-stb Apr 17, 2026
d11637d
Update model/Core/Vocabularies/RelationshipType.md
stevenc-stb Apr 17, 2026
60f05af
Update model/Core/Vocabularies/RelationshipType.md
stevenc-stb Apr 17, 2026
49f7f93
Update model/Core/Vocabularies/RelationshipType.md
stevenc-stb Apr 17, 2026
c46c02d
Update model/Core/Vocabularies/RelationshipType.md
stevenc-stb Apr 17, 2026
3f6684f
Update and rename StakeholderNeed.md to Need.md
stevenc-stb Apr 17, 2026
8c9e1a1
Update and rename stakeholderPriority.md to agentPriority.md
stevenc-stb Apr 17, 2026
629913a
Update model/Core/Vocabularies/RelationshipType.md
stevenc-stb Apr 24, 2026
0f242bc
Update model/FunctionalSafety/Properties/agentPriority.md
stevenc-stb Apr 24, 2026
5337eb3
Update Need.md
stevenc-stb Apr 24, 2026
5eb9bff
Update statement.md
stevenc-stb Apr 24, 2026
85d96f7
Merge branch 'spdx:develop' into stevenc-add-StakeholderNeed
stevenc-stb Apr 30, 2026
835a72f
Apply suggestions from code review
stevenc-stb May 1, 2026
86489e6
Rename agentPriority.md to priority.md
stevenc-stb May 1, 2026
aaacf15
Apply suggestions from code review
stevenc-stb May 1, 2026
d44012e
Update priority.md
stevenc-stb May 1, 2026
98e4354
Update RelationshipType.md
stevenc-stb May 1, 2026
a018719
Update RelationshipType.md
stevenc-stb May 1, 2026
47ff55d
Apply suggestions from code review
stevenc-stb May 1, 2026
760a323
Rename priority.md to rolePriority.md
stevenc-stb May 1, 2026
550e677
Update rolePriority.md
stevenc-stb May 1, 2026
a400b50
Update Need.md
stevenc-stb May 1, 2026
1cebe1b
Merge branch 'develop' into stevenc-add-StakeholderNeed
stevenc-stb Jun 5, 2026
842cb08
Update RelationshipType.md
stevenc-stb Jun 5, 2026
7f1cfac
Add files via upload
stevenc-stb Jun 6, 2026
752c9f5
Add files via upload
stevenc-stb Jun 6, 2026
36d71d8
Add files via upload
stevenc-stb Jun 6, 2026
ba9d09f
Delete model/FunctionalSafety/Properties/rolePriority.md
stevenc-stb Jun 6, 2026
27d85e1
Add files via upload
stevenc-stb Jun 6, 2026
1d981d3
Update DesignRelationship.md
stevenc-stb Jun 6, 2026
6a16f6a
Update status.md
stevenc-stb Jun 6, 2026
d87a9ce
Update priority.md
stevenc-stb Jun 6, 2026
b47d903
Update StatusType.md
stevenc-stb Jun 6, 2026
ceea00d
Update Need.md
stevenc-stb Jun 6, 2026
ee49414
Update DesignRelationship.md
stevenc-stb Jun 6, 2026
cb067ee
Update DesignRelationship.md
stevenc-stb Jun 6, 2026
a3c0cbc
Update DesignRelationship.md
stevenc-stb Jun 6, 2026
6c0402d
Apply suggestions from code review
stevenc-stb Jun 6, 2026
8e2afdd
Update Need.md
stevenc-stb Jun 6, 2026
114fea3
Update Need.md
stevenc-stb Jun 6, 2026
f41e9fc
Merge branch 'develop' into stevenc-add-StakeholderNeed
stevenc-stb Aug 5, 2026
3d26781
Update RelationshipType.md
stevenc-stb Aug 5, 2026
7f25533
Update RelationshipType.md
stevenc-stb Aug 5, 2026
1f73732
Update RelationshipType.md
stevenc-stb Aug 5, 2026
3116fc4
Update Need.md
stevenc-stb Aug 5, 2026
100dc77
Update Need.md
stevenc-stb Aug 5, 2026
a962eb4
Update DesignRelationship.md
stevenc-stb Aug 5, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions model/Core/Vocabularies/RelationshipType.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ name completes the sentence:
- hasHost: The `from` /Build/Build was run on the `to` Element during a LifecycleScopeType period (e.g. the host that the build runs on).
- hasInput: The `from` /Build/Build, DefinedProcess or Action element has each `to` Element as an input.
- hasMetadata: Every `to` Element is metadata about the `from` Element (`from` hasMetadata `to`).
- hasNeed: The `from` Role has the `to` /FunctionalSafety/Need.
- hasOptionalComponent: Every `to` Element is an optional component of the `from` Element (`from` hasOptionalComponent `to`).
- hasOptionalDependency: The `from` Element optionally depends on each `to` Element, during a LifecycleScopeType period.
- hasOutput: The `from` /Build/Build, DefinedProcess or Action element generates each `to` Element as an output.
Expand All @@ -81,6 +82,7 @@ name completes the sentence:
- hasTestCase: Every `to` Element is a test case for the `from` Element (`from` hasTestCase `to`).
- hasVariant: Every `to` Element is a variant the `from` Element (`from` hasVariant `to`).
- implementedBy: The `from` Requirement is implemented in the `to` Element(s).
- isQualifiedFor: The `from` Agent is qualified for or can provided the `to` Role.
- invokedBy: The `from` Element was invoked by the `to` Agent, during a LifecycleScopeType period (for example, a /Build/Build element that describes a build step).
- locatedAt: `from` Element located at a specific `to` Location. A time period is optional.
- modifiedBy: The `from` Element is modified by each `to` Element.
Expand All @@ -95,6 +97,7 @@ name completes the sentence:
- republishedBy: Designates a `from` /Security/Vulnerability's details were tracked, aggregated, and/or enriched to improve context (i.e. NVD) by each `to` Agent.
- resolved: The `to` /SupplyChain/OutOfSpecAction is resolved in the `from` /SupplyChain/ResolutionAction.
- runsOn: The `from` Element (the instructions) runs on each `to` /Hardware/Hardware (processing element), during a LifecycleScopeType period.
- satisfies: The `from` Requirement satisfies `to` /FunctionalSafety/Need. Note: The Requirement is not generally intended to singularly satisfy a particular Need. It is more likely that a set of higher level Requirements is required to achieve a reasonable satisfaction of an expressed /FunctionalSafety/Need.
- serializedInArtifact: The `from` SpdxDocument can be found in a serialized form in each `to` Artifact.
- testedOn: The `from` Element has been tested on the `to` Element(s).
- tracedToDetail: The `from` Requirement is refined and further elaborated by each `to` Requirement, which contains more detailed implementation information.
Expand Down
28 changes: 28 additions & 0 deletions model/FunctionalSafety/Classes/DesignRelationship.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
SPDX-License-Identifier: Community-Spec-1.0

# DesignRelationship

## Summary

DesignRelationship defines a relationship between design-related elements, capturing their contextual linkage and lifecycle state.

## Description

DesignRelationship models the connections between design artifacts, system elements, or engineering work products. It provides a structured mechanism to track how design decisions, components, or specifications relate to one another and to higher-level requirements or verification activities. The `status` property records the current state of the relationship (e.g. draft, approved, or deprecated), supporting lifecycle management and change control. The `priority` property enables stakeholders to assign relative importance or urgency to specific design linkages, facilitating impact analysis and decision-making.

## Metadata

- name: DesignRelationship
- SubclassOf: /Core/Relationship
- Instantiability: Concrete

## Properties

- status
- type: StatusType
- minCount: 0
- maxCount: 1
- priority
- type: /Core/DefinedType
- minCount: 0
- maxCount: 1
30 changes: 30 additions & 0 deletions model/FunctionalSafety/Classes/Need.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
SPDX-License-Identifier: Community-Spec-1.0

# Need

## Summary

A Need is condition, objective or capability desired by a Role.

## Description

A Need represents the high-level intent expressed by Role during the Needs Analysis phase of the life cycle. It defines the problem space or desired capability before it is translated into verifiable system requirements.

This entity captures the natural language expression of the Need via the statement property, ensuring the Role's voice is preserved in the model. Role Needs are distinct from System Requirements; while requirements must be technically verifiable, needs express the underlying value or necessity that justifies the system's existence. Traceability from derived requirements back to Needs is essential to ensure alignment with stakeholder expectations with the RelationshipType 'satisfies'.

## Metadata

- name: Need
- SubclassOf: /Core/Element
- Instantiability: Concrete

## Properties

- statement
- type: xsd:string
- minCount: 1

## External properties restrictions

- /Core/Element/name
- minCount: 1
21 changes: 21 additions & 0 deletions model/FunctionalSafety/Properties/priority.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
SPDX-License-Identifier: Community-Spec-1.0

# priority

## Summary

The relative importance or urgency assigned `to` a Need or Requirement of the `from` Element.

## Description

The priority property enables the ranking and categorization of agent needs to facilitate requirements prioritization and scope management. This property is critical during the Needs Analysis and Requirements Analysis phases, where competing agent needs must be evaluated and balanced against constraints such as cost, schedule, and technical feasibility.

The DefinedType range allows for standardized priority classifications (e.g., MoSCoW: Must, Should, Could, Won't Have; or numerical scales: High, Medium, Low) that can be consistently applied across the project. A priority assignment supports trade-off analysis and ensures that the most critical agent needs are addressed first when resource limitations exist.

This ObjectProperty references a DefinedType to enable formal classification and validation of priority levels, supporting automated analysis and traceability throughout the system life cycle. Priority information may change over time as agent needs evolve or project constraints shift.

## Metadata

- name: priority
- Nature: ObjectProperty
- Range: /Core/DefinedType
19 changes: 19 additions & 0 deletions model/FunctionalSafety/Properties/statement.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
SPDX-License-Identifier: Community-Spec-1.0

# statement

## Summary

A condition, objective or capability required by a role to solve a problem.

## Description

The statement property captures the natural language articulation of a Need during the Needs Analysis phase. It represents the primary input for the Requirements Engineering process, preserving the role's original intent before transformation into verifiable system requirements.

While derived requirements must adhere to strict verification criteria, the statement within a Need may initially be qualitative or subjective. This property serves as the foundational traceability link, ensuring that downstream system capabilities can be traced back to the original role intent. The use of xsd:string accommodates the unstructured nature of early elicitation, allowing for the recording of raw role input prior to refinement.

## Metadata

- name: statement
- Nature: DataProperty
- Range: xsd:string
17 changes: 17 additions & 0 deletions model/FunctionalSafety/Properties/status.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
SPDX-License-Identifier: Community-Spec-1.0

# status

## Summary

Indicates the current lifecycle state or maturity level of an engineering element.

## Description

The status property records the current progression state of an element throughout the system engineering lifecycle. By referencing the `StatusType` enumeration, it enables standardized tracking of work item maturity (e.g., Draft, Approved, Deprecated) across Needs, Requirements, and other artifacts. This property supports workflow enforcement, auditability, and impact analysis by clearly indicating whether an artifact is under development, formally accepted, superseded, or pending review from a context. The status value may evolve as the element undergoes validation, stakeholder review, or lifecycle transitions.

## Metadata

- name: status
- Nature: ObjectProperty
- Range: StatusType
21 changes: 21 additions & 0 deletions model/FunctionalSafety/Vocabularies/StatusType.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
SPDX-License-Identifier: Community-Spec-1.0

# StatusType

## Summary

StatusType defines a controlled vocabulary of lifecycle states used to track the progression and maturity of engineering elements.

## Description

The StatusType enumeration provides standardized lifecycle states for engineering artifacts such as needs, requirements, designs, relationships, and verification items. It enables consistent tracking of an element's progression from initial conception through review, approval, and eventual obsolescence. By assigning a status, stakeholders can monitor work item maturity, enforce workflow rules, and facilitate traceability across system engineering phases.

## Metadata

- name: StatusType

## Entries

- draft: The element is in an initial or unreviewed state and has not yet undergone formal evaluation or approval.
- approved: The element has been formally reviewed, validated, and accepted by the appropriate stakeholders or governing process.
- deprecated: The element is officially superseded, obsolete, or no longer recommended for use, though it may be retained for reference or historical traceability.