| @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 |