@startuml map "src/sbom/compiler-gcc.json" as gcc { software-name => GCC version => x.y.z ... => ... } map "src/sbom/intel-me.json" as me { software-name => Intel Mangement Engine ... => ... } map "src/sbom/intel-microcode.json" as ucode { software-name => Intel Microcode ... => ... } map "src/sbom/generic-ec.json" as ec { software-name => ecxyz ... => ... } map "src/sbom/generic-fsp.json" as fsp { software-name => Firmware Support Package version => x.y.z ... => ... } map "src/sbom/payload-[...].json" as payload { software-name => ... version => x.y.z ... => ... } map "src/sbom/coreboot.json" as coreboot { software-name => coreboot version => x.y.z url => coreboot.rocks ... => ... } object "sbom.uswid" as uswid { merged SBOM data in binary format } object goswid { # ./goswid --compiler gcc.json --parent coreboot.json --requires fsp.json,payload.json intel-me.json intel-ec.json intel-ucode.json --output sbom.uswid } left to right direction gcc --> goswid me --> goswid ucode --> goswid goswid <-- ec goswid <-- fsp goswid <-- payload coreboot -up> goswid goswid -up> uswid @enduml