diff --git a/schema/bom-1.5.proto b/schema/bom-1.5.proto index f6b565f84..a6ecd79d1 100644 --- a/schema/bom-1.5.proto +++ b/schema/bom-1.5.proto @@ -1009,6 +1009,8 @@ message ModelCard { optional QuantitativeAnalysis quantitativeAnalysis = 3; // What considerations should be taken into account regarding the model's construction, training, and application? optional ModelCardConsiderations considerations = 4; + // Specifies optional, custom, properties + repeated Property properties = 5; message ModelParameters { // The overall approach to learning used by the model for problem solving. diff --git a/schema/bom-1.5.xsd b/schema/bom-1.5.xsd index dd5fe9d30..cf00327e9 100644 --- a/schema/bom-1.5.xsd +++ b/schema/bom-1.5.xsd @@ -3008,6 +3008,16 @@ limitations under the License. + + + Provides the ability to document properties in a name/value store. + This provides flexibility to include data not officially supported in the standard + without having to use additional namespaces or create extensions. Property names + of interest to the general public are encouraged to be registered in the + CycloneDX Property Taxonomy - https://github.com/CycloneDX/cyclonedx-property-taxonomy. + Formal registration is OPTIONAL. + + diff --git a/schema/bom-1.6.proto b/schema/bom-1.6.proto index 3c96195dd..737a133af 100644 --- a/schema/bom-1.6.proto +++ b/schema/bom-1.6.proto @@ -1152,6 +1152,8 @@ message ModelCard { optional QuantitativeAnalysis quantitativeAnalysis = 3; // What considerations should be taken into account regarding the model's construction, training, and application? optional ModelCardConsiderations considerations = 4; + // Specifies optional, custom, properties + repeated Property properties = 5; message ModelParameters { // The overall approach to learning used by the model for problem-solving. diff --git a/schema/bom-1.6.xsd b/schema/bom-1.6.xsd index ec5bb7180..67167615b 100644 --- a/schema/bom-1.6.xsd +++ b/schema/bom-1.6.xsd @@ -3386,6 +3386,16 @@ limitations under the License. + + + Provides the ability to document properties in a name/value store. + This provides flexibility to include data not officially supported in the standard + without having to use additional namespaces or create extensions. Property names + of interest to the general public are encouraged to be registered in the + CycloneDX Property Taxonomy - https://github.com/CycloneDX/cyclonedx-property-taxonomy. + Formal registration is OPTIONAL. + + diff --git a/schema/bom-1.7.proto b/schema/bom-1.7.proto index e288d618a..5a1dc6c84 100644 --- a/schema/bom-1.7.proto +++ b/schema/bom-1.7.proto @@ -1254,6 +1254,8 @@ message ModelCard { optional QuantitativeAnalysis quantitativeAnalysis = 3; // What considerations should be taken into account regarding the model's construction, training, and application? optional ModelCardConsiderations considerations = 4; + // Specifies optional, custom, properties + repeated Property properties = 5; message ModelParameters { // The overall approach to learning used by the model for problem-solving. diff --git a/schema/bom-1.7.xsd b/schema/bom-1.7.xsd index a6d2804c1..c1c4ff7ca 100644 --- a/schema/bom-1.7.xsd +++ b/schema/bom-1.7.xsd @@ -3629,6 +3629,16 @@ limitations under the License. + + + Provides the ability to document properties in a name/value store. + This provides flexibility to include data not officially supported in the standard + without having to use additional namespaces or create extensions. Property names + of interest to the general public are encouraged to be registered in the + CycloneDX Property Taxonomy - https://github.com/CycloneDX/cyclonedx-property-taxonomy. + Formal registration is OPTIONAL. + + diff --git a/tools/src/test/resources/1.5/valid-machine-learning-1.5.json b/tools/src/test/resources/1.5/valid-machine-learning-1.5.json index 59dc3ceef..15ff354da 100644 --- a/tools/src/test/resources/1.5/valid-machine-learning-1.5.json +++ b/tools/src/test/resources/1.5/valid-machine-learning-1.5.json @@ -85,7 +85,17 @@ "mitigationStrategy": "With respect to the benefits and harms outlined, please describe any mitigation strategy implemented." } ] - } + }, + "properties": [ + { + "name": "modelcard:custom-property", + "value": "custom-value" + }, + { + "name": "modelcard:another-custom-property", + "value": "another-custom-value" + } + ] } } ] diff --git a/tools/src/test/resources/1.5/valid-machine-learning-1.5.textproto b/tools/src/test/resources/1.5/valid-machine-learning-1.5.textproto index 4e54321d7..a95a91200 100644 --- a/tools/src/test/resources/1.5/valid-machine-learning-1.5.textproto +++ b/tools/src/test/resources/1.5/valid-machine-learning-1.5.textproto @@ -62,5 +62,13 @@ components { mitigationStrategy: "With respect to the benefits and harms outlined, please describe any mitigation strategy implemented." } } + properties: { + name: "modelcard:custom-property" + value: "custom-value" + } + properties: { + name: "modelcard:another-custom-property" + value: "another-custom-value" + } } } diff --git a/tools/src/test/resources/1.5/valid-machine-learning-1.5.xml b/tools/src/test/resources/1.5/valid-machine-learning-1.5.xml index 7c541ecb8..a347856d2 100644 --- a/tools/src/test/resources/1.5/valid-machine-learning-1.5.xml +++ b/tools/src/test/resources/1.5/valid-machine-learning-1.5.xml @@ -86,6 +86,10 @@ + + custom-value + another-custom-value + diff --git a/tools/src/test/resources/1.6/valid-machine-learning-1.6.json b/tools/src/test/resources/1.6/valid-machine-learning-1.6.json index dbd0ea7b6..6ab6c4a68 100644 --- a/tools/src/test/resources/1.6/valid-machine-learning-1.6.json +++ b/tools/src/test/resources/1.6/valid-machine-learning-1.6.json @@ -87,7 +87,17 @@ "mitigationStrategy": "With respect to the benefits and harms outlined, please describe any mitigation strategy implemented." } ] - } + }, + "properties": [ + { + "name": "modelcard:custom-property", + "value": "custom-value" + }, + { + "name": "modelcard:another-custom-property", + "value": "another-custom-value" + } + ] } } ] diff --git a/tools/src/test/resources/1.6/valid-machine-learning-1.6.textproto b/tools/src/test/resources/1.6/valid-machine-learning-1.6.textproto index 54452d656..145c80dc7 100644 --- a/tools/src/test/resources/1.6/valid-machine-learning-1.6.textproto +++ b/tools/src/test/resources/1.6/valid-machine-learning-1.6.textproto @@ -77,5 +77,13 @@ components { mitigationStrategy: "With respect to the benefits and harms outlined, please describe any mitigation strategy implemented." } } + properties: { + name: "modelcard:custom-property" + value: "custom-value" + } + properties: { + name: "modelcard:another-custom-property" + value: "another-custom-value" + } } } diff --git a/tools/src/test/resources/1.6/valid-machine-learning-1.6.xml b/tools/src/test/resources/1.6/valid-machine-learning-1.6.xml index 6013b1c3d..524790bd8 100644 --- a/tools/src/test/resources/1.6/valid-machine-learning-1.6.xml +++ b/tools/src/test/resources/1.6/valid-machine-learning-1.6.xml @@ -86,6 +86,10 @@ + + custom-value + another-custom-value + diff --git a/tools/src/test/resources/1.7/valid-machine-learning-1.7.json b/tools/src/test/resources/1.7/valid-machine-learning-1.7.json index cb64ee801..3283961cf 100644 --- a/tools/src/test/resources/1.7/valid-machine-learning-1.7.json +++ b/tools/src/test/resources/1.7/valid-machine-learning-1.7.json @@ -95,7 +95,17 @@ "mitigationStrategy": "With respect to the benefits and harms outlined, please describe any mitigation strategy implemented." } ] - } + }, + "properties": [ + { + "name": "modelcard:custom-property", + "value": "custom-value" + }, + { + "name": "modelcard:another-custom-property", + "value": "another-custom-value" + } + ] } } ] diff --git a/tools/src/test/resources/1.7/valid-machine-learning-1.7.textproto b/tools/src/test/resources/1.7/valid-machine-learning-1.7.textproto index 25b78f5dc..487c3c721 100644 --- a/tools/src/test/resources/1.7/valid-machine-learning-1.7.textproto +++ b/tools/src/test/resources/1.7/valid-machine-learning-1.7.textproto @@ -76,5 +76,13 @@ components: { mitigationStrategy: "With respect to the benefits and harms outlined, please describe any mitigation strategy implemented." } } + properties: { + name: "modelcard:custom-property" + value: "custom-value" + } + properties: { + name: "modelcard:another-custom-property" + value: "another-custom-value" + } } } diff --git a/tools/src/test/resources/1.7/valid-machine-learning-1.7.xml b/tools/src/test/resources/1.7/valid-machine-learning-1.7.xml index 38df43ff7..721544960 100644 --- a/tools/src/test/resources/1.7/valid-machine-learning-1.7.xml +++ b/tools/src/test/resources/1.7/valid-machine-learning-1.7.xml @@ -88,6 +88,10 @@ + + custom-value + another-custom-value +