【汽车芯片功能安全分析与故障注入实践 18】Dashboard and Website Demo:从安全证据包到可交互工程评审门户

作者 :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.htmlapp.jsstyle.css

交付物:

text 复制代码
site/index.html
site/assets/app.js
site/assets/style.css

为 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?
相关推荐
DarrenHChen_EDA21 小时前
【汽车芯片功能安全分析与故障注入实践 13】FMEDA Update:从 Measured DC 和 Residual FIT 到可追溯安全表格
dc·功能安全·fit·故障注入·汽车芯片·fmeda·measured dc
DarrenHChen_EDA1 天前
【汽车芯片功能安全分析与故障注入实践 15】安全报告生成:从 Evidence Package 到可评审工程报告
功能安全·安全报告·故障注入·汽车芯片·fmeda
DarrenHChen_EDA1 天前
【汽车芯片功能安全分析与故障注入实践 14】Safety Evidence Package:从 FMEDA 表到可评审安全证据包
功能安全·故障注入·汽车芯片·fmeda·安全证据·residual fit·traceability
汽车电子安全技术研究社3 天前
ISO_PAS 8800_2024 技术深度解读:全球首个道路车辆AI安全标准的核心框架与实施路径
网络安全·汽车电子·功能安全·aspice·预期功能安全
DarrenHChen_EDA3 天前
【汽车芯片功能安全分析与故障注入实践 10】Failure Mode Library:如何把系统级失效模式落到模块级?
功能安全·汽车芯片·fmeda·failure mode·失效模式库
DarrenHChen_EDA3 天前
【汽车芯片功能安全分析与故障注入实践 06】Startpoint、Endpoint、Cone:安全分析的结构骨架
功能安全·结构分析·汽车芯片·fit/dc·sp/ep/cone
DarrenHChen_EDA3 天前
【汽车芯片功能安全分析与故障注入实践 09】Safety Mechanism 不是越多越好:如何选择 Parity/ECC/Lockstep?
dc·功能安全·ecc·汽车芯片·parity·lockstop
DarrenHChen_EDA3 天前
【汽车芯片功能安全分析与故障注入实践 08】Diagnostic Coverage 是怎么算出来的?
dc·功能安全·汽车芯片·fmeda
DarrenHChen_EDA3 天前
【汽车芯片功能安全分析与故障注入实践 07】Endpoint FIT Contribution:如何找到最值得保护的节点?
功能安全·fit·汽车芯片·安全机制选择·风险排序