作者 :Darren H. Chen
方向 :汽车芯片功能安全分析与故障注入实践
Demo :D18_dashboard_and_website_demo
标签:汽车芯片、功能安全、安全仪表盘、网站演示、Evidence Package、FMEDA、故障注入、Diagnostic Coverage、Residual FIT、商用工具对比、工程评审
1. 为什么这一篇重要?
上一篇文章中,我们引入了商用工具对比流程。
D17 将内部 safety evidence package 与归一化后的商用工具证据进行比较,并生成了以下输出:
text
tool_comparison_summary.md
tool_comparison_matrix.csv
fault_list_overlap.csv
fault_outcome_correlation.csv
dc_comparison_by_failure_mode.csv
fmeda_row_comparison.csv
residual_fit_comparison.csv
methodology_gap_report.csv
comparison_warnings.csv
这个 comparison 让整个流程更具可信度。
但是,报告和 CSV 文件仍然不是最容易沟通功能安全工程流程的方式。
Reviewer、客户、管理者、合作伙伴或潜在雇主可能会问:
能不能在一个可导航的 demo 中看到 safety flow、evidence、metrics、FMEDA 更新、fault results、trend tracking 和 tool comparison?
本篇对应的 Demo 是:
text
D18_dashboard_and_website_demo
本篇引入的通用工具名是:
text
safeic-dashboard
safeic-dashboard 的目标,是把 safety evidence packages、reports、metrics、trends 和 comparison outputs 转换成一个静态或轻量交互式 review portal:
text
evidence package
safety report
metric tables
FMEDA tables
fault outcomes
regression trend outputs
commercial tool comparison outputs
public-safe metadata
dashboard configuration
并生成:
text
site/index.html
site/data/dashboard_index.json
site/data/metrics/*.json
site/data/fmeda/*.json
site/data/campaign/*.json
site/data/trends/*.json
site/data/comparison/*.json
site/assets/
site/README.md
核心思想是:
Dashboard 不只是可视化层。它是 communication layer,用来把结构化 safety evidence 转换成可检查、可导航、可共享的工程故事。
2. D18 在整体流程中的位置
D18 位于 reporting、regression tracking 和 tool comparison 之后。
D14 Evidence Package
D18 Dashboard / Website Demo
D15 Safety Report
D16 Regression Trend
D17 Tool Comparison
Interactive Review Portal
Public Methodology Demo
Customer / Partner Demo
图 1:D18 把 evidence packages、reports、trends 和 comparison outputs 转换成 dashboard 与网站演示。
前面的 Demo 已经回答了:
text
有哪些 evidence?
报告说了什么?
Metrics 在不同 iterations 中如何变化?
这个流程与其他工具相比如何?
D18 回答的是:
text
整个 workflow 是否可以交互式 review?
关键 metrics 是否可以快速检查?
Unsafe faults 是否可以链接到 FMEDA rows?
Trend changes 是否可以跨 iterations 查看?
Tool comparison gaps 是否可以被探索?
Public-safe demo data 是否与 private project data 分离?
这一步是从 file-based engineering output 转向 product-style demonstration。
3. Dashboard 不能替代 Evidence
Dashboard 不能替代 evidence package。
它应该建立在 evidence package 之上。
Raw Artifacts
Evidence Package
Safety Report
Dashboard Data Model
Dashboard / Website
Traceability Package
Human Review
图 2:Dashboard 展示 evidence,但 evidence package 仍然是 source of truth。
好的 dashboard 应让 reviewer 能快速导航:
text
metrics
fault outcomes
FMEDA rows
review items
trend changes
comparison gaps
assumptions
limitations
traceability
但是,每一个展示出来的数字都应该能追溯回 source evidence。
4. 为什么 Dashboard 很重要?
一个 safety workflow 会产生很多 artifacts:
text
CSV tables
Markdown reports
YAML policies
log files
fault lists
FMEDA rows
trend reports
comparison matrices
review items
这些 artifacts 对可复现性非常重要,但不适合快速理解。
Dashboard 的价值在于把它们组织成 review pages:
text
Overview
Metrics
Fault Campaign
Fault Outcomes
Measured DC
FMEDA
Residual FIT
Review Items
Regression Trends
Tool Comparison
Traceability
Assumptions
Downloads
Reviewer 可以先看 top-level view,再逐步 drill down 到 evidence。
这样既能提高沟通效率,又不会牺牲 traceability。
5. Public Demo 与 Private Project Dashboard
一个关键架构决策是区分:
text
public methodology demo
private project dashboard
Public demo data 应避免包含:
text
proprietary RTL
customer names
license-protected reports
commercial tool raw outputs
private tool logs
internal project paths
confidential safety assumptions
supplier-specific FIT data
Private dashboards 可以包含更丰富的细节,但也必须控制访问权限。
Private Evidence Package
Sanitization Layer
Public Demo Dataset
Private Dashboard Dataset
Public Website Demo
Internal Review Portal
图 3:Public 和 private dashboards 应从不同的数据 profile 生成。
D18 应支持两种 profile。
对于本系列文章,默认 profile 是:
text
public_methodology_demo
6. Dashboard Data Model
Dashboard 不应该在运行时直接读取所有 raw CSV。
它应该使用 dashboard data model。
建议的 normalized JSON files:
text
dashboard_index.json
overview_metrics.json
fault_outcomes.json
measured_dc.json
fmeda_rows.json
residual_fit.json
review_items.json
trend_summary.json
tool_comparison.json
traceability_links.json
assumptions.json
warnings.json
这与 D17 中使用 canonical model 的思路类似。
基本流程是:
text
raw evidence package
→ dashboard build step
→ normalized dashboard data
→ static web presentation
Evidence CSV / Markdown / YAML
Dashboard Builder
Normalized JSON
Static Dashboard
图 4:D18 将 file-based evidence 转换成 normalized dashboard JSON。
这种分离可以让网站本身保持简单,并保持可复现。
7. Dashboard 主要页面
一个实用的 D18 dashboard 可以包含以下页面:
text
1. Overview
2. Safety Flow
3. Key Metrics
4. Fault Campaign
5. Fault Outcomes
6. Diagnostic Coverage
7. FMEDA
8. Residual FIT
9. Review Items
10. Regression Trends
11. Commercial Tool Comparison
12. Traceability
13. Assumptions and Limitations
14. Downloads
每个页面都应该回答一个明确的 review question。
例如:
text
Overview:
当前 safety status 是什么?
Fault Outcomes:
哪些 faults 是 detected、safe、unsafe、unresolved?
FMEDA:
哪些 rows 使用 estimated DC、measured DC 或 selected DC?
Trends:
Safety metrics 是 improve 还是 regress?
Comparison:
Internal 和 commercial-tool outputs 在哪里一致或不一致?
没有清晰 review questions 的 dashboard,很容易变成装饰性页面。
8. Overview Page
Overview page 应总结整个 package。
建议 cards:
text
Design
Analysis scope
Evidence package version
Total base FIT
Total residual FIT
Weighted selected DC
Unsafe fault count
Unresolved fault count
Review-required row count
High-severity review items
Dashboard profile
示例数据:
json
{
"design": "toy_counter",
"scope": "functional safety analysis and fault injection practice",
"total_base_fit": 0.078,
"total_residual_fit": 0.0204,
"weighted_selected_dc": 0.738,
"unsafe_faults": 2,
"unresolved_faults": 0,
"review_required_rows": 2,
"profile": "public_methodology_demo"
}
Overview 应保持诚实。
如果数据只是 demo-only,必须明确说明。
9. Safety Flow Page
Safety flow page 解释 artifacts 是如何生成的。
D01 Input Package
D02 Assumption Setup
D03 FIT Modeling
D04 Base FIT Review
D05 Structural Safety Model
D06 Estimated DC
D07 Safety Mechanism Selection
D08 Fault List
D09 VCD Context
D10 Fault Campaign
D11 Outcome Classification
D12 Measured DC
D13 FMEDA Update
D14 Evidence Package
D15 Report
D16 Regression
D17 Comparison
D18 Dashboard
图 5:Dashboard 应展示完整的 safety analysis and fault injection flow。
这个页面对公开展示尤其重要。
它告诉用户,这个平台不是一个脚本,而是一个结构化的 safety analysis workflow。
10. Key Metrics Page
Key metrics page 应提供简洁、分组的 metrics。
建议 sections:
text
top-level safety metrics
measured diagnostic coverage
residual FIT by failure mode
FMEDA review status
campaign quality
evidence quality
示例 metric table:
csv
metric,value,status
total_base_fit,0.078,INFO
total_residual_fit,0.0204,REVIEW
weighted_selected_dc,0.738,REVIEW
unsafe_faults,2,HIGH
review_required_rows,2,HIGH
metric_confidence,LOW,WARN
Dashboard 可以把这些数据显示成 cards 和 tables。
对于 public demo,不要让 toy data 看起来像 production-level signoff。
11. Fault Campaign Page
Fault campaign page 应展示 execution status。
建议字段:
text
campaign id
design
fault list version
total requested faults
executed faults
passed runs
failed runs
timeout runs
not-classified runs
execution mode
run timestamp
示例:
csv
item,value
campaign_id,campaign_demo_001
design,toy_counter
requested_faults,5
executed_faults,5
passed_runs,5
failed_runs,0
not_classified,0
execution_mode,emulation
该页面还应链接到:
text
campaign_status.csv
raw_fault_results.csv
fault_outcomes.csv
campaign warnings
Campaign page 帮助 reviewer 检查 measured results 是否有实际运行证据支撑。
12. Fault Outcomes Page
Fault outcomes page 应支持按以下字段过滤:
text
outcome
failure mode
fault type
node
endpoint
safety mechanism
confidence
review status
建议表格列:
text
fault_id
node
fault_type
failure_mode
endpoint
expected_alarm
observed_alarm
outcome
subtype
confidence
reason
linked_fmeda_row
示例:
csv
fault_id,node,fault_type,failure_mode,outcome,reason
F001,toy_counter.count[0],stuck_at_0,FM_DATA_CORRUPTION,detected,alarm asserted within detection window
F003,toy_counter.count_parity,stuck_at_0,FM_DIAGNOSTIC_STATE_CORRUPTION,unsafe,no alarm observed
F004,toy_counter.alarm,stuck_at_0,FM_ALARM_NOT_ASSERTED,unsafe,alarm stuck inactive
Unsafe faults 应显著展示。
但 source evidence 仍然必须可追溯。
13. Diagnostic Coverage Page
Diagnostic coverage page 应展示以下维度的 DC:
text
overall
endpoint
failure mode
safety mechanism
part
subpart
重要 labels:
text
estimated_dc
measured_dc
selected_dc
confidence
sample size
unresolved ratio
示例:
csv
group_type,group_id,estimated_dc,measured_dc,selected_dc,confidence
failure_mode,FM_DATA_CORRUPTION,0.90,1.00,0.90,LOW
failure_mode,FM_DIAGNOSTIC_STATE_CORRUPTION,0.00,0.00,0.00,LOW
failure_mode,FM_ALARM_NOT_ASSERTED,0.00,0.00,0.00,LOW
Dashboard 必须区分 estimated、measured 和 selected DC。
混淆这些值是 safety communication 中最常见的错误之一。
14. FMEDA Page
FMEDA page 应展示:
text
row_id
part
subpart
design_object
failure_mode
base_fit
safety_mechanism
estimated_dc
measured_dc
selected_dc
residual_fit
evidence_source
confidence
review_status
review_comment
示例:
csv
row_id,part,subpart,failure_mode,selected_dc,residual_fit,review_status
R001,PART_COUNTER,SUBPART_COUNTER_STATE,FM_DATA_CORRUPTION,0.90,0.0064,low_confidence
R002,PART_COUNTER,SUBPART_COUNTER_DIAG,FM_DIAGNOSTIC_STATE_CORRUPTION,0.00,0.0040,review_required
R003,PART_COUNTER,SUBPART_COUNTER_DIAG,FM_ALARM_NOT_ASSERTED,0.00,0.0100,review_required
有用的 filters:
text
review_required only
high residual FIT
low confidence
unsafe fault linked
measured DC lower than estimated
evidence missing
这是 dashboard 中最核心的 review table。
15. Residual FIT Page
Residual FIT page 应支持优先级判断。
视图包括:
text
residual FIT by failure mode
residual FIT by part
residual FIT by subpart
top residual contributors
residual FIT trend
示例:
csv
rank,failure_mode,residual_fit,dominant_row
1,FM_ALARM_NOT_ASSERTED,0.0100,R003
2,FM_DATA_CORRUPTION,0.0064,R001
3,FM_DIAGNOSTIC_STATE_CORRUPTION,0.0040,R002
这个页面回答:
text
设计改进应优先关注哪里?
哪个 failure mode 主导 remaining risk?
哪个 part 或 subpart 应优先 review?
Dashboard 在这里尤其有用,因为 top contributors 可视化后更容易推动工程决策。
16. Review Items Page
Review items page 应展示工程 actions。
建议列:
text
item_id
severity
row_id
fault_id
issue
recommended_action
status
owner
due_date
evidence_link
示例:
csv
item_id,severity,row_id,issue,recommended_action,status
I001,HIGH,R003,alarm path has unsafe fault,add redundant alarm or alarm path monitor,open
I002,MEDIUM,R002,diagnostic state unprotected,add protection or justify residual risk,open
I003,LOW,R001,measured DC confidence low,increase campaign sample size,open
Dashboard 的实用价值在于把 findings 转换成 actions。
17. Regression Trend Page
Regression trend page 来自 D16。
它应展示:
text
baseline iteration
current iteration
metric deltas
residual FIT trend
DC trend
fault outcome changes
FMEDA row changes
review item changes
regression alerts
示例:
csv
metric,baseline,current,delta,delta_class
total_residual_fit,0.0204,0.0104,-0.0100,improvement
unsafe_faults,2,1,-1,improvement
review_required_rows,2,1,-1,improvement
重要 alert 示例:
text
detected fault became unsafe
new unsafe fault introduced
residual FIT increased
policy changed with metric change
evidence quality degraded
Trend pages 表明平台不是一次性 analysis tool,而是一个 iterative safety engineering system。
18. Commercial Tool Comparison Page
Comparison page 来自 D17。
它应展示:
text
input scope alignment
fault model comparison
fault list overlap
fault outcome correlation
DC comparison
FMEDA row comparison
residual FIT comparison
methodology gap report
comparison warnings
示例 summary:
csv
item,value
matched_faults,90
internal_only_faults,10
commercial_only_faults,30
matched_outcomes,85
disagreements,5
policy_differences,2
methodology_gaps,4
该页面应明确说明:
text
哪些 metrics 可直接比较?
哪些 metrics 不能直接比较?
哪些差异由 scope 或 policy 引起?
哪些差异需要 review?
这可以避免 dashboard 变成误导性营销页面。
19. Traceability Page
Traceability page 应连接:
text
FMEDA row
fault outcome
fault campaign run
fault list item
VCD context
structural model
evidence file
示例:
csv
trace_id,source,target,relationship
T001,R003,F004,supported_by_unsafe_fault
T002,F004,D10_RUN_F004,executed_by
T003,D10_RUN_F004,D08_F004,defined_by_fault_list
T004,D08_F004,D09_CONTEXT,uses_context
有用的 dashboard 应允许 reviewer 从:
text
FMEDA row R003
追溯到:
text
unsafe fault F004
campaign result
fault list definition
VCD context
classification reason
Traceability 是把 visualization 转换成 engineering evidence 的关键。
20. Assumptions and Limitations Page
这一页必须显式。
示例:
text
demo data is synthetic or public-safe
fault model set is limited
sample size is intentionally small
commercial tool data may be normalized sample data
some execution may be emulated
not production safety signoff
estimated and measured DC are separated
safe and unresolved handling follows configured policy
隐藏 limitations 的 dashboard 会降低可信度。
明确说明 limitations 的 dashboard 更专业。
21. Downloads Page
实用 dashboard 应包含 source artifacts 下载链接:
text
safety_report.md
evidence_package_summary.md
fmeda_table.csv
fault_outcomes.csv
measured_dc_by_failure_mode.csv
regression_summary.md
tool_comparison_summary.md
assumption_register.csv
traceability_matrix.csv
对于 public dashboards,downloads 必须经过脱敏。
对于 private dashboards,downloads 可以包含更丰富 artifacts。
Downloads page 应标注:
text
public-safe artifact
private artifact
synthetic sample
derived report
raw evidence
22. Dashboard Configuration
D18 应由配置文件驱动。
示例 dashboard_config.yaml:
yaml
dashboard:
title: Automotive Safe-IC Functional Safety Demo
demo: D18_dashboard_and_website_demo
top_module: toy_counter
profile: public_methodology_demo
data_sources:
evidence_package: inputs/evidence_package
safety_report: inputs/reports/safety_report.md
regression_outputs: inputs/regression
comparison_outputs: inputs/comparison
pages:
overview: true
safety_flow: true
metrics: true
fault_campaign: true
fault_outcomes: true
diagnostic_coverage: true
fmeda: true
residual_fit: true
review_items: true
regression_trends: true
tool_comparison: true
traceability: true
assumptions: true
downloads: true
privacy:
sanitize_paths: true
hide_raw_commercial_reports: true
allow_downloads: true
show_demo_limitations: true
Configuration 让 dashboard 可复用到:
text
public GitHub demo
internal engineering review
customer demonstration
training material
23. Public-Safe Data Policy
D18 应包含 public-safe data policy。
示例:
yaml
public_data_policy:
allow:
- synthetic RTL names
- toy design metrics
- normalized sample fault outcomes
- derived methodology reports
- sanitized comparison tables
deny:
- proprietary RTL
- raw commercial tool reports
- real customer identifiers
- license-protected logs
- private filesystem paths
- confidential safety assumptions
如果 dashboard 将放到 public website,这一点非常重要。
Public dashboard 必须是有意设计出来的,而不是不小心导出的。
24. Static Site Architecture
最简单的 D18 实现是 static site。
Static site 结构:
text
site/
index.html
assets/
app.js
style.css
data/
dashboard_index.json
overview_metrics.json
fault_outcomes.json
measured_dc.json
fmeda_rows.json
residual_fit.json
review_items.json
trend_summary.json
tool_comparison.json
traceability_links.json
优点:
text
easy to publish
easy to version-control
easy to archive
no server required
safe for public demo
works with sanitized JSON
对于 GitHub methodology demo,static site generation 是最适合的第一版。
25. Data Build Pipeline
D18 应有 build pipeline:
Load Dashboard Config
Load Evidence Package
Load Safety Report
Load Regression Outputs
Load Tool Comparison Outputs
Sanitize Data
Normalize to Dashboard JSON
Generate Static Site
Validate Links and Data
图 6:D18 build pipeline 把 evidence 转换成 sanitized dashboard JSON 和静态网站文件。
Dashboard build step 应在以下情况生成 warnings:
text
required data is missing
private path appears in output
commercial raw report is included
metric value cannot be parsed
traceability link is broken
unsafe fault has no FMEDA link
26. Dashboard Validation
Dashboard generation 应校验:
text
all enabled pages have data
all JSON files are valid
all metric values are parseable
all FMEDA row links resolve
all fault IDs resolve
all review item links resolve
no forbidden private path appears
no raw commercial report is copied
all downloads exist
dashboard_index.json matches generated files
示例 validation output:
csv
check,status,details
overview_data_present,PASS,overview_metrics.json found
fault_outcomes_present,PASS,5 records
fmeda_links_resolve,PASS,3 rows linked
private_path_scan,PASS,no forbidden path found
commercial_raw_report_scan,PASS,no raw report copied
traceability_links,WARN,1 link target missing
Dashboard 是 generated artifact,也必须像其他 artifacts 一样被检查。
27. Dashboard Index
Dashboard index 是 site 的入口。
示例 dashboard_index.json:
json
{
"project": "automotive_safeic_practice",
"demo": "D18_dashboard_and_website_demo",
"top_module": "toy_counter",
"profile": "public_methodology_demo",
"pages": [
{"id": "overview", "title": "Overview", "data": "data/overview_metrics.json"},
{"id": "fault_outcomes", "title": "Fault Outcomes", "data": "data/fault_outcomes.json"},
{"id": "fmeda", "title": "FMEDA", "data": "data/fmeda_rows.json"},
{"id": "trends", "title": "Regression Trends", "data": "data/trend_summary.json"},
{"id": "comparison", "title": "Tool Comparison", "data": "data/tool_comparison.json"}
],
"limitations": [
"public methodology demo",
"synthetic or sanitized data",
"not production safety signoff"
]
}
这个文件可以让网站动态加载页面。
28. safeic-dashboard 工具架构
通用工具 safeic-dashboard 可以实现成分阶段 pipeline。
manifest.yaml
safeic-dashboard
dashboard_config.yaml
Evidence Package
Safety Report
Regression Outputs
Tool Comparison Outputs
Load Sources
Normalize Data
Sanitize Public Data
Build Dashboard JSON
Render Static Site
Validate Dashboard
Generate Site Package
图 7:safeic-dashboard 加载 evidence、归一化和脱敏数据、生成 dashboard JSON、渲染静态站点,并校验输出。
建议内部模块:
text
safeic_dashboard/
cli.py
manifest.py
load_config.py
source_loader.py
csv_to_json.py
markdown_loader.py
data_model.py
sanitizer.py
page_builder.py
static_site.py
link_validator.py
dashboard_validator.py
report.py
职责划分:
| 模块 | 职责 |
|---|---|
source_loader.py |
Load D14-D17 outputs |
csv_to_json.py |
Convert CSV tables to JSON records |
markdown_loader.py |
Load report summaries |
data_model.py |
Build dashboard-ready data |
sanitizer.py |
Remove private paths and disallowed artifacts |
page_builder.py |
Build page-specific JSON |
static_site.py |
Generate HTML, JS, CSS |
link_validator.py |
Check internal links |
dashboard_validator.py |
Validate generated site |
report.py |
Generate build summary and warnings |
29. D18 目录结构
建议目录:
text
D18_dashboard_and_website_demo/
README.md
run_demo.sh
run_demo.csh
manifest.yaml
inputs/
dashboard_config.yaml
public_data_policy.yaml
evidence_package/
package_manifest.yaml
evidence_index.csv
assumption_register.csv
traceability_matrix.csv
metrics/
measured_dc_by_failure_mode.csv
measured_dc_by_endpoint.csv
measured_residual_fit.csv
safety_metric_summary.csv
fmeda/
fmeda_table.csv
fmeda_review_items.csv
campaign/
campaign_status.csv
fault_outcomes.csv
reports/
safety_report.md
safety_report_summary.md
regression/
regression_summary.md
metric_trend.csv
regression_alerts.csv
comparison/
tool_comparison_summary.md
fault_outcome_correlation.csv
dc_comparison_by_failure_mode.csv
methodology_gap_report.csv
site/
index.html
assets/
app.js
style.css
data/
dashboard_index.json
overview_metrics.json
fault_outcomes.json
measured_dc.json
fmeda_rows.json
residual_fit.json
review_items.json
trend_summary.json
tool_comparison.json
traceability_links.json
outputs/
dashboard_build_summary.md
dashboard_validation.csv
dashboard_warnings.csv
site_manifest.yaml
这个目录结构把 inputs、generated site 和 build outputs 分开。
30. D18 Manifest
示例:
yaml
project:
name: automotive_safeic_practice
demo: D18_dashboard_and_website_demo
top_module: toy_counter
inputs:
dashboard_config: inputs/dashboard_config.yaml
public_data_policy: inputs/public_data_policy.yaml
evidence_package: inputs/evidence_package
reports: inputs/reports
regression: inputs/regression
comparison: inputs/comparison
outputs:
site_dir: site
dashboard_index: site/data/dashboard_index.json
validation: outputs/dashboard_validation.csv
warnings: outputs/dashboard_warnings.csv
summary: outputs/dashboard_build_summary.md
site_manifest: outputs/site_manifest.yaml
Manifest 让 dashboard build 可复现。
31. D18 执行流程
Load Manifest
Load Dashboard Config
Load Public Data Policy
Load Evidence Package
Load Reports
Load Regression Outputs
Load Tool Comparison Outputs
Build Dashboard Data Model
Sanitize Data
Generate JSON Data Files
Render Static HTML Site
Validate Site
Generate Build Summary
图 8:D18 执行流程:加载 sources、构建 data model、脱敏、生成 site、校验并总结。
示例 bash 脚本:
bash
#!/usr/bin/env bash
set -euo pipefail
safeic-dashboard \
--manifest manifest.yaml \
--output-dir outputs
示例 csh 脚本:
csh
#!/bin/csh -f
set DEMO = D18_dashboard_and_website_demo
echo "Running $DEMO"
safeic-dashboard \
--manifest manifest.yaml \
--output-dir outputs
预期输出:
text
site/index.html
site/assets/app.js
site/assets/style.css
site/data/dashboard_index.json
site/data/overview_metrics.json
site/data/fault_outcomes.json
site/data/measured_dc.json
site/data/fmeda_rows.json
site/data/residual_fit.json
site/data/review_items.json
site/data/trend_summary.json
site/data/tool_comparison.json
site/data/traceability_links.json
outputs/dashboard_build_summary.md
outputs/dashboard_validation.csv
outputs/dashboard_warnings.csv
outputs/site_manifest.yaml
32. overview_metrics.json 示例
json
{
"cards": [
{"name": "Design", "value": "toy_counter", "status": "INFO"},
{"name": "Total Base FIT", "value": 0.078, "status": "INFO"},
{"name": "Total Residual FIT", "value": 0.0204, "status": "REVIEW"},
{"name": "Weighted Selected DC", "value": 0.738, "status": "REVIEW"},
{"name": "Unsafe Faults", "value": 2, "status": "HIGH"},
{"name": "Review Required Rows", "value": 2, "status": "HIGH"}
],
"limitations": [
"public methodology demo",
"toy design",
"not production safety signoff"
]
}
这个数据可以驱动 overview page。
33. dashboard_validation.csv 示例
csv
check,status,details
dashboard_config_loaded,PASS,inputs/dashboard_config.yaml
evidence_package_loaded,PASS,inputs/evidence_package
overview_metrics_generated,PASS,6 cards
fault_outcomes_generated,PASS,5 records
fmeda_rows_generated,PASS,3 records
traceability_links_resolve,WARN,1 missing link target
private_path_scan,PASS,no private paths detected
raw_commercial_report_scan,PASS,no raw commercial reports copied
site_index_generated,PASS,site/index.html
Validation results 应作为 generated site package 的一部分。
34. dashboard_build_summary.md 示例
md
# D18 Dashboard Build Summary
Demo: D18_dashboard_and_website_demo
Design: toy_counter
Profile: public_methodology_demo
## Generated Site
- `site/index.html`
- `site/data/dashboard_index.json`
- `site/data/overview_metrics.json`
- `site/data/fault_outcomes.json`
- `site/data/fmeda_rows.json`
- `site/data/trend_summary.json`
- `site/data/tool_comparison.json`
## Key Dashboard Warnings
- One traceability link target is missing.
- Data is public-demo data and not production safety signoff.
- Commercial comparison data is normalized sample data.
## Result
Dashboard generated successfully with warnings.
这个 summary 帮助用户判断 dashboard build 是否可接受。
35. Dashboard UI Principles
UI 应遵循 engineering review principles:
text
show key status first
make unsafe findings easy to find
separate estimated, measured, and selected values
make filters obvious
link metrics to evidence
show limitations clearly
avoid decorative-only charts
avoid hiding warnings
make CSV downloads available
Dashboard 页面应平稳、清晰、偏工程。
目标是 review clarity,而不是视觉复杂度。
36. Suggested Visual Components
有用组件包括:
text
metric cards
sortable tables
filterable fault outcome table
FMEDA review table
residual FIT ranking
trend tables
comparison status matrix
traceability graph
warning banner
download list
对于 public static demo,tables 可能比复杂 charts 更实用。
Tables 更容易检查、diff 和验证。
Charts 可以后续再加入。
37. Security and Confidentiality Considerations
D18 必须谨慎处理数据暴露风险。
发布前应检查:
text
no real customer names
no proprietary RTL paths
no raw commercial tool reports
no license server paths
no internal usernames
no private absolute paths
no confidential FIT assumptions
no private emails or project identifiers
Dashboard builder 应执行 basic scans。
示例 forbidden patterns:
text
/home/private_project/
customer_
license.dat
LM_LICENSE_FILE
internal_only
confidential
这不是完美安全机制,但可以减少 accidental leakage。
38. Dashboard as Portfolio Asset
一个 public-safe 的 D18 dashboard 可以成为 portfolio asset。
它可以展示:
text
structured safety workflow
evidence traceability
fault injection methodology
FMEDA integration
measured DC computation
regression tracking
commercial tool correlation
engineering communication
它的价值在于不仅展示知识,还展示工程实现思维。
但是,public dashboards 应专注 methodology 和 sanitized sample data。
不要为了让 demo 看起来更真实而暴露 private project information。
干净的 public demo 比有风险的"真实数据 demo"更专业。
39. D18 如何连接到后续 Demo?
D18 创建 website/demo layer。
后续 Demo 可以加入 automation、CI、publication workflow 和 user-facing online trial packages。
D18 Dashboard / Website Demo
D19 CI Automation
D20 Public Demo Package
D21 User Trial Flow
Automatic Dashboard Refresh
Shareable Repository Release
External Reviewer Experience
图 9:D18 为后续 CI automation、public demo packaging 和 external reviewer workflows 提供 presentation layer。
Dashboard 是 toolchain 对外可见的地方。
40. 推荐实现阶段
D18 可以分阶段实现。
Stage 1:Static Data Conversion
把选定 CSV 和 Markdown 文件转换成 JSON。
交付物:
text
site/data/*.json
outputs/dashboard_validation.csv
Stage 2:Static HTML Dashboard
生成 index.html、app.js 和 style.css。
交付物:
text
site/index.html
site/assets/app.js
site/assets/style.css
Stage 3:Page Navigation and Filtering
为 metrics、faults、FMEDA rows 和 review items 增加页面与 filters。
交付物:
text
overview page
fault outcomes page
FMEDA page
review items page
Stage 4:Trend and Comparison Pages
加入 D16 和 D17 outputs。
交付物:
text
regression trend page
commercial tool comparison page
Stage 5:Public-Safe Packaging
加入 sanitization、validation、download bundle 和 publication workflow。
交付物:
text
dashboard_warnings.csv
site_manifest.yaml
public_demo_site.zip
这个分阶段方法能让 D18 很快可用,并且后续安全发布。
41. 总结
Dashboard and website generation 把 safety evidence 转换成可交互的工程评审体验。
D18 Demo:
text
D18_dashboard_and_website_demo
引入通用工具:
text
safeic-dashboard
该工具消费:
text
D14 evidence package
D15 safety report
D16 regression outputs
D17 commercial tool comparison outputs
dashboard_config.yaml
public_data_policy.yaml
并生成:
text
site/index.html
site/assets/app.js
site/assets/style.css
site/data/dashboard_index.json
site/data/overview_metrics.json
site/data/fault_outcomes.json
site/data/measured_dc.json
site/data/fmeda_rows.json
site/data/residual_fit.json
site/data/review_items.json
site/data/trend_summary.json
site/data/tool_comparison.json
site/data/traceability_links.json
outputs/dashboard_build_summary.md
outputs/dashboard_validation.csv
outputs/dashboard_warnings.csv
outputs/site_manifest.yaml
核心结论是:
Dashboard 是结构化 safety evidence 的 communication layer。它应该让 workflow 更容易检查,同时必须保留 traceability、展示 limitations,并避免暴露 private 或 proprietary data。
D18 让方法论变得可见、可导航,并适合 public demonstration 或 controlled engineering review。
42. D18 Demo Checklist
对于 D18_dashboard_and_website_demo,预期交付物如下:
text
[ ] README.md
[ ] run_demo.sh
[ ] run_demo.csh
[ ] manifest.yaml
[ ] inputs/dashboard_config.yaml
[ ] inputs/public_data_policy.yaml
[ ] inputs/evidence_package/package_manifest.yaml
[ ] inputs/evidence_package/evidence_index.csv
[ ] inputs/evidence_package/assumption_register.csv
[ ] inputs/evidence_package/traceability_matrix.csv
[ ] inputs/evidence_package/metrics/measured_dc_by_failure_mode.csv
[ ] inputs/evidence_package/metrics/measured_dc_by_endpoint.csv
[ ] inputs/evidence_package/metrics/measured_residual_fit.csv
[ ] inputs/evidence_package/metrics/safety_metric_summary.csv
[ ] inputs/evidence_package/fmeda/fmeda_table.csv
[ ] inputs/evidence_package/fmeda/fmeda_review_items.csv
[ ] inputs/evidence_package/campaign/campaign_status.csv
[ ] inputs/evidence_package/campaign/fault_outcomes.csv
[ ] inputs/reports/safety_report.md
[ ] inputs/reports/safety_report_summary.md
[ ] inputs/regression/regression_summary.md
[ ] inputs/regression/metric_trend.csv
[ ] inputs/regression/regression_alerts.csv
[ ] inputs/comparison/tool_comparison_summary.md
[ ] inputs/comparison/fault_outcome_correlation.csv
[ ] inputs/comparison/dc_comparison_by_failure_mode.csv
[ ] inputs/comparison/methodology_gap_report.csv
[ ] site/index.html
[ ] site/assets/app.js
[ ] site/assets/style.css
[ ] site/data/dashboard_index.json
[ ] site/data/overview_metrics.json
[ ] site/data/fault_outcomes.json
[ ] site/data/measured_dc.json
[ ] site/data/fmeda_rows.json
[ ] site/data/residual_fit.json
[ ] site/data/review_items.json
[ ] site/data/trend_summary.json
[ ] site/data/tool_comparison.json
[ ] site/data/traceability_links.json
[ ] outputs/dashboard_build_summary.md
[ ] outputs/dashboard_validation.csv
[ ] outputs/dashboard_warnings.csv
[ ] outputs/site_manifest.yaml
一次成功的 D18 运行应该回答:
text
完整 safety workflow 是否可以交互式 review?
用户是否能看到 key metrics、unsafe faults、FMEDA rows、residual FIT 和 review items?
Trend 和 regression outputs 是否可以被检查?
Tool comparison gaps 是否可以被探索?
Dashboard values 是否可以追溯回 evidence artifacts?
Dashboard 是否区分 estimated、measured 和 selected DC?
Assumptions 和 limitations 是否可见?
Public data 是否已经脱敏?
Generated site 是否适合 GitHub、公司网站 demo 或 controlled customer review?