c610cc023c
Validate / build-test (macos-latest) (push) Failing after 4s
Validate / build-test (windows-latest) (push) Failing after 17s
Validate / build-test (ubuntu-latest) (push) Successful in 16s
Validate / reports (push) Has been skipped
Release / release (push) Successful in 48s
Neue Layer: - safety/sg/SG-001..005 als eigene Doorstop-Items (ASIL D/D/A/C/B) - SYS-Reqs verlinken nach oben auf SG via frontmatter - Kette ist jetzt: SG -> SYS -> SA, SWE -> SWA -> Code (@arch) + Test (@reqs) Drive-Away-Assist im Safety Manager: - SWE-011 (Anfahrabsicht erkennen) implementiert - SWE-012 (Sicherheits-Check Tuer + Gurt) implementiert - Neuer State SAFETY_DRIVE_AWAY + safety_mgr_release_requested() - SafetyInputs erweitert um gas_pedal_percent, gear_in_drive, door_closed, seatbelt_fastened - 5 neue Tests (DRIVE_AWAY armed/blocked/end-conditions) - Test-Header @reqs erweitert auf SWE-007..012 traceability.py erweitert: - SG als neuer Top-Level - Code-Mapping-Check: @arch im Header von src/*.c muss SWA-id matchen - Test-Mapping-Check: @reqs im Header der Tests muss alle SWE der zugehoerigen SWA abdecken - HTML zeigt 7 Spalten: SG | SYS | SA | SWE | SWA | Code | Test - 2 zusaetzliche Tabellen: Code->Arch und Test->Reqs test_apply_controller.c: - @reqs Header um SWE-005 ergaenzt (war funktional drin, nur Tag fehlte) Counts: - 55 doorstop-Items (war 50) - 46 Unit-Tests (war 41) - Traceability vollstaendig in beide Richtungen
601 lines
9.0 KiB
JSON
601 lines
9.0 KiB
JSON
[
|
|
{
|
|
"sg": {
|
|
"id": "SG-001",
|
|
"asil": "D"
|
|
},
|
|
"sys": {
|
|
"id": "SYS-001",
|
|
"asil": "D",
|
|
"title": "Halten der Parkbremse im Stillstand"
|
|
},
|
|
"sa": [
|
|
{
|
|
"id": "SA-001",
|
|
"asil": "D"
|
|
},
|
|
{
|
|
"id": "SA-002",
|
|
"asil": "D"
|
|
}
|
|
],
|
|
"swe": [
|
|
{
|
|
"id": "SWE-001",
|
|
"asil": "D"
|
|
},
|
|
{
|
|
"id": "SWE-002",
|
|
"asil": "D"
|
|
},
|
|
{
|
|
"id": "SWE-022",
|
|
"asil": "B"
|
|
}
|
|
],
|
|
"swa": [
|
|
{
|
|
"id": "SWA-002",
|
|
"asil": "D"
|
|
},
|
|
{
|
|
"id": "SWA-004",
|
|
"asil": "B"
|
|
}
|
|
],
|
|
"code": [
|
|
"src/apply_controller.c"
|
|
],
|
|
"tests": [
|
|
"tests/unit/test_apply_controller.c"
|
|
]
|
|
},
|
|
{
|
|
"sg": {
|
|
"id": "SG-001",
|
|
"asil": "D"
|
|
},
|
|
"sys": {
|
|
"id": "SYS-004",
|
|
"asil": "D",
|
|
"title": "Auto-Apply bei Motor-Aus"
|
|
},
|
|
"sa": [
|
|
{
|
|
"id": "SA-001",
|
|
"asil": "D"
|
|
}
|
|
],
|
|
"swe": [
|
|
{
|
|
"id": "SWE-007",
|
|
"asil": "D"
|
|
},
|
|
{
|
|
"id": "SWE-008",
|
|
"asil": "D"
|
|
}
|
|
],
|
|
"swa": [
|
|
{
|
|
"id": "SWA-001",
|
|
"asil": "D"
|
|
}
|
|
],
|
|
"code": [
|
|
"src/safety_manager.c"
|
|
],
|
|
"tests": [
|
|
"tests/unit/test_safety_manager.c"
|
|
]
|
|
},
|
|
{
|
|
"sg": {
|
|
"id": "SG-002",
|
|
"asil": "D"
|
|
},
|
|
"sys": {
|
|
"id": "SYS-002",
|
|
"asil": "D",
|
|
"title": "Apply auf Fahrer-Anforderung"
|
|
},
|
|
"sa": [
|
|
{
|
|
"id": "SA-001",
|
|
"asil": "D"
|
|
},
|
|
{
|
|
"id": "SA-002",
|
|
"asil": "D"
|
|
}
|
|
],
|
|
"swe": [
|
|
{
|
|
"id": "SWE-003",
|
|
"asil": "D"
|
|
},
|
|
{
|
|
"id": "SWE-004",
|
|
"asil": "D"
|
|
},
|
|
{
|
|
"id": "SWE-022",
|
|
"asil": "B"
|
|
},
|
|
{
|
|
"id": "SWE-025",
|
|
"asil": "QM"
|
|
}
|
|
],
|
|
"swa": [
|
|
{
|
|
"id": "SWA-002",
|
|
"asil": "D"
|
|
},
|
|
{
|
|
"id": "SWA-004",
|
|
"asil": "B"
|
|
},
|
|
{
|
|
"id": "SWA-006",
|
|
"asil": "QM"
|
|
}
|
|
],
|
|
"code": [
|
|
"src/apply_controller.c",
|
|
"src/switch_debouncer.c"
|
|
],
|
|
"tests": [
|
|
"tests/unit/test_apply_controller.c",
|
|
"tests/unit/test_switch_debouncer.c"
|
|
]
|
|
},
|
|
{
|
|
"sg": {
|
|
"id": "SG-002",
|
|
"asil": "D"
|
|
},
|
|
"sys": {
|
|
"id": "SYS-005",
|
|
"asil": "D",
|
|
"title": "Hill-Hold am Berg"
|
|
},
|
|
"sa": [
|
|
{
|
|
"id": "SA-001",
|
|
"asil": "D"
|
|
},
|
|
{
|
|
"id": "SA-003",
|
|
"asil": "B"
|
|
}
|
|
],
|
|
"swe": [
|
|
{
|
|
"id": "SWE-009",
|
|
"asil": "D"
|
|
},
|
|
{
|
|
"id": "SWE-010",
|
|
"asil": "D"
|
|
},
|
|
{
|
|
"id": "SWE-024",
|
|
"asil": "B"
|
|
}
|
|
],
|
|
"swa": [
|
|
{
|
|
"id": "SWA-001",
|
|
"asil": "D"
|
|
},
|
|
{
|
|
"id": "SWA-005",
|
|
"asil": "B"
|
|
}
|
|
],
|
|
"code": [
|
|
"src/safety_manager.c"
|
|
],
|
|
"tests": [
|
|
"tests/unit/test_safety_manager.c"
|
|
]
|
|
},
|
|
{
|
|
"sg": {
|
|
"id": "SG-003",
|
|
"asil": "A"
|
|
},
|
|
"sys": {
|
|
"id": "SYS-007",
|
|
"asil": "B",
|
|
"title": "Aktor-Stromueberwachung"
|
|
},
|
|
"sa": [
|
|
{
|
|
"id": "SA-001",
|
|
"asil": "D"
|
|
},
|
|
{
|
|
"id": "SA-002",
|
|
"asil": "D"
|
|
},
|
|
{
|
|
"id": "SA-003",
|
|
"asil": "B"
|
|
}
|
|
],
|
|
"swe": [
|
|
{
|
|
"id": "SWE-013",
|
|
"asil": "B"
|
|
},
|
|
{
|
|
"id": "SWE-014",
|
|
"asil": "B"
|
|
},
|
|
{
|
|
"id": "SWE-015",
|
|
"asil": "B"
|
|
},
|
|
{
|
|
"id": "SWE-023",
|
|
"asil": "B"
|
|
}
|
|
],
|
|
"swa": [
|
|
{
|
|
"id": "SWA-003",
|
|
"asil": "B"
|
|
},
|
|
{
|
|
"id": "SWA-004",
|
|
"asil": "B"
|
|
}
|
|
],
|
|
"code": [
|
|
"src/actuator_driver.c"
|
|
],
|
|
"tests": [
|
|
"tests/unit/test_actuator_driver.c"
|
|
]
|
|
},
|
|
{
|
|
"sg": {
|
|
"id": "SG-004",
|
|
"asil": "C"
|
|
},
|
|
"sys": {
|
|
"id": "SYS-005",
|
|
"asil": "D",
|
|
"title": "Hill-Hold am Berg"
|
|
},
|
|
"sa": [
|
|
{
|
|
"id": "SA-001",
|
|
"asil": "D"
|
|
},
|
|
{
|
|
"id": "SA-003",
|
|
"asil": "B"
|
|
}
|
|
],
|
|
"swe": [
|
|
{
|
|
"id": "SWE-009",
|
|
"asil": "D"
|
|
},
|
|
{
|
|
"id": "SWE-010",
|
|
"asil": "D"
|
|
},
|
|
{
|
|
"id": "SWE-024",
|
|
"asil": "B"
|
|
}
|
|
],
|
|
"swa": [
|
|
{
|
|
"id": "SWA-001",
|
|
"asil": "D"
|
|
},
|
|
{
|
|
"id": "SWA-005",
|
|
"asil": "B"
|
|
}
|
|
],
|
|
"code": [
|
|
"src/safety_manager.c"
|
|
],
|
|
"tests": [
|
|
"tests/unit/test_safety_manager.c"
|
|
]
|
|
},
|
|
{
|
|
"sg": {
|
|
"id": "SG-004",
|
|
"asil": "C"
|
|
},
|
|
"sys": {
|
|
"id": "SYS-006",
|
|
"asil": "B",
|
|
"title": "Auto-Release beim Anfahren (Drive-Away-Assist)"
|
|
},
|
|
"sa": [
|
|
{
|
|
"id": "SA-001",
|
|
"asil": "D"
|
|
},
|
|
{
|
|
"id": "SA-003",
|
|
"asil": "B"
|
|
}
|
|
],
|
|
"swe": [
|
|
{
|
|
"id": "SWE-011",
|
|
"asil": "B"
|
|
},
|
|
{
|
|
"id": "SWE-012",
|
|
"asil": "B"
|
|
},
|
|
{
|
|
"id": "SWE-022",
|
|
"asil": "B"
|
|
}
|
|
],
|
|
"swa": [
|
|
{
|
|
"id": "SWA-001",
|
|
"asil": "D"
|
|
},
|
|
{
|
|
"id": "SWA-004",
|
|
"asil": "B"
|
|
}
|
|
],
|
|
"code": [
|
|
"src/safety_manager.c"
|
|
],
|
|
"tests": [
|
|
"tests/unit/test_safety_manager.c"
|
|
]
|
|
},
|
|
{
|
|
"sg": {
|
|
"id": "SG-005",
|
|
"asil": "B"
|
|
},
|
|
"sys": {
|
|
"id": "SYS-002",
|
|
"asil": "D",
|
|
"title": "Apply auf Fahrer-Anforderung"
|
|
},
|
|
"sa": [
|
|
{
|
|
"id": "SA-001",
|
|
"asil": "D"
|
|
},
|
|
{
|
|
"id": "SA-002",
|
|
"asil": "D"
|
|
}
|
|
],
|
|
"swe": [
|
|
{
|
|
"id": "SWE-003",
|
|
"asil": "D"
|
|
},
|
|
{
|
|
"id": "SWE-004",
|
|
"asil": "D"
|
|
},
|
|
{
|
|
"id": "SWE-022",
|
|
"asil": "B"
|
|
},
|
|
{
|
|
"id": "SWE-025",
|
|
"asil": "QM"
|
|
}
|
|
],
|
|
"swa": [
|
|
{
|
|
"id": "SWA-002",
|
|
"asil": "D"
|
|
},
|
|
{
|
|
"id": "SWA-004",
|
|
"asil": "B"
|
|
},
|
|
{
|
|
"id": "SWA-006",
|
|
"asil": "QM"
|
|
}
|
|
],
|
|
"code": [
|
|
"src/apply_controller.c",
|
|
"src/switch_debouncer.c"
|
|
],
|
|
"tests": [
|
|
"tests/unit/test_apply_controller.c",
|
|
"tests/unit/test_switch_debouncer.c"
|
|
]
|
|
},
|
|
{
|
|
"sg": {
|
|
"id": "SG-005",
|
|
"asil": "B"
|
|
},
|
|
"sys": {
|
|
"id": "SYS-003",
|
|
"asil": "B",
|
|
"title": "Release auf Fahrer-Anforderung"
|
|
},
|
|
"sa": [
|
|
{
|
|
"id": "SA-001",
|
|
"asil": "D"
|
|
},
|
|
{
|
|
"id": "SA-002",
|
|
"asil": "D"
|
|
}
|
|
],
|
|
"swe": [
|
|
{
|
|
"id": "SWE-005",
|
|
"asil": "B"
|
|
},
|
|
{
|
|
"id": "SWE-006",
|
|
"asil": "B"
|
|
},
|
|
{
|
|
"id": "SWE-025",
|
|
"asil": "QM"
|
|
}
|
|
],
|
|
"swa": [
|
|
{
|
|
"id": "SWA-002",
|
|
"asil": "D"
|
|
},
|
|
{
|
|
"id": "SWA-003",
|
|
"asil": "B"
|
|
},
|
|
{
|
|
"id": "SWA-006",
|
|
"asil": "QM"
|
|
}
|
|
],
|
|
"code": [
|
|
"src/apply_controller.c",
|
|
"src/actuator_driver.c",
|
|
"src/switch_debouncer.c"
|
|
],
|
|
"tests": [
|
|
"tests/unit/test_actuator_driver.c",
|
|
"tests/unit/test_apply_controller.c",
|
|
"tests/unit/test_switch_debouncer.c"
|
|
]
|
|
},
|
|
{
|
|
"sg": null,
|
|
"sys": {
|
|
"id": "SYS-008",
|
|
"asil": "QM",
|
|
"title": "Service-Modus fuer Werkstatt"
|
|
},
|
|
"sa": [
|
|
{
|
|
"id": "SA-001",
|
|
"asil": "D"
|
|
},
|
|
{
|
|
"id": "SA-004",
|
|
"asil": "QM"
|
|
}
|
|
],
|
|
"swe": [
|
|
{
|
|
"id": "SWE-016",
|
|
"asil": "QM"
|
|
},
|
|
{
|
|
"id": "SWE-017",
|
|
"asil": "QM"
|
|
}
|
|
],
|
|
"swa": [
|
|
{
|
|
"id": "SWA-009",
|
|
"asil": "QM"
|
|
}
|
|
],
|
|
"code": [],
|
|
"tests": []
|
|
},
|
|
{
|
|
"sg": null,
|
|
"sys": {
|
|
"id": "SYS-009",
|
|
"asil": "QM",
|
|
"title": "UDS-Diagnose"
|
|
},
|
|
"sa": [
|
|
{
|
|
"id": "SA-001",
|
|
"asil": "D"
|
|
},
|
|
{
|
|
"id": "SA-005",
|
|
"asil": "QM"
|
|
}
|
|
],
|
|
"swe": [
|
|
{
|
|
"id": "SWE-018",
|
|
"asil": "QM"
|
|
},
|
|
{
|
|
"id": "SWE-019",
|
|
"asil": "QM"
|
|
}
|
|
],
|
|
"swa": [
|
|
{
|
|
"id": "SWA-008",
|
|
"asil": "QM"
|
|
},
|
|
{
|
|
"id": "SWA-010",
|
|
"asil": "QM"
|
|
}
|
|
],
|
|
"code": [],
|
|
"tests": []
|
|
},
|
|
{
|
|
"sg": null,
|
|
"sys": {
|
|
"id": "SYS-010",
|
|
"asil": "QM",
|
|
"title": "HMI-Statusanzeige"
|
|
},
|
|
"sa": [
|
|
{
|
|
"id": "SA-001",
|
|
"asil": "D"
|
|
},
|
|
{
|
|
"id": "SA-004",
|
|
"asil": "QM"
|
|
},
|
|
{
|
|
"id": "SA-005",
|
|
"asil": "QM"
|
|
}
|
|
],
|
|
"swe": [
|
|
{
|
|
"id": "SWE-020",
|
|
"asil": "QM"
|
|
},
|
|
{
|
|
"id": "SWE-021",
|
|
"asil": "QM"
|
|
}
|
|
],
|
|
"swa": [
|
|
{
|
|
"id": "SWA-007",
|
|
"asil": "QM"
|
|
}
|
|
],
|
|
"code": [],
|
|
"tests": []
|
|
}
|
|
] |