HARA_E2E_Workflow

Experte

Dies ist ein Engineering, AI Summarization-Bereich Automatisierungsworkflow mit 16 Nodes. Hauptsächlich werden ConvertToFile, ManualTrigger, ReadWriteFile, Agent, ExtractFromFile und andere Nodes verwendet. Automatisierung der ISO 26262-Konformität für die Fahrzeugsicherheit durch GPT-4

Voraussetzungen
  • OpenAI API Key
Workflow-Vorschau
Visualisierung der Node-Verbindungen, mit Zoom und Pan
Workflow exportieren
Kopieren Sie die folgende JSON-Konfiguration und importieren Sie sie in n8n
{
  "id": "Z59iv0jcVPieE4iB",
  "meta": {
    "instanceId": "e23a10c38a84aff056a546290ab44e4d0883223400a2378b1f2a9dd2f5a8af2a",
    "templateCredsSetupCompleted": true
  },
  "name": "HARA_E2E_workflow",
  "tags": [
    "safety",
    "ISO26262",
    "AI"
  ],
  "nodes": [
    {
      "id": "5d95ae17-a4aa-416d-9603-129e65f90f1c",
      "name": "Bei Klick auf 'Arbeitsablauf ausführen'",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -680,
        -120
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "7a74d970-30f9-4256-bba1-4dd586a7a2a5",
      "name": "KI-Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -120,
        -120
      ],
      "parameters": {
        "text": "=const description = {{ $json.data }}.binary.data.toString('utf-8');\\nconst prompt = `Analyze this system for hazards:\\n${description}\\n\\nOutput:\\n1. 5 potential hazards\\n2. Likely root causes\\n3. ISO 26262 relevant clauses`;\\nreturn [{ json: { prompt } }];",
        "options": {
          "systemMessage": "You are a helpful FuSA assistant"
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 2
    },
    {
      "id": "3682f8df-16a8-4ec5-83ee-cb99121497f3",
      "name": "KI-Gefahrenanalyse",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        480,
        300
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "vrJ0hwKixLk44aS4",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "7ed4df13-d81e-4426-9607-de7cefaa5fb0",
      "name": "Ein einfaches Speicherfenster",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        1560,
        320
      ],
      "parameters": {
        "sessionKey": "={{ $execution.id }}",
        "sessionIdType": "customKey",
        "contextWindowLength": 20
      },
      "typeVersion": 1.3
    },
    {
      "id": "b8e8ff87-3675-4036-8738-31dc1e8e73b5",
      "name": "Systembeschreibung lesen",
      "type": "n8n-nodes-base.readWriteFile",
      "position": [
        -480,
        -120
      ],
      "parameters": {
        "options": {},
        "fileSelector": "/data/inputs/1_hazard_identification/systems_description.txt"
      },
      "typeVersion": 1,
      "alwaysOutputData": true
    },
    {
      "id": "328cd6cc-0d09-460a-98ad-ef23f1f550ca",
      "name": "Eingabe in Binärdaten umwandeln",
      "type": "n8n-nodes-base.extractFromFile",
      "position": [
        -280,
        -120
      ],
      "parameters": {
        "options": {},
        "operation": "text"
      },
      "typeVersion": 1
    },
    {
      "id": "b262dce7-2db9-4f54-a418-534abde45bbc",
      "name": "In Datei konvertieren",
      "type": "n8n-nodes-base.convertToFile",
      "position": [
        220,
        -120
      ],
      "parameters": {
        "options": {},
        "operation": "toText",
        "sourceProperty": "output"
      },
      "typeVersion": 1.1
    },
    {
      "id": "5359da29-26c1-492d-90ab-a8494d809e29",
      "name": "Potential_risks_report.txt",
      "type": "n8n-nodes-base.readWriteFile",
      "position": [
        440,
        -120
      ],
      "parameters": {
        "options": {
          "append": false
        },
        "fileName": "=/data/outputs/1_hazard_identification/Report_Hazard Identification.txt_{{ $now.toString() }}",
        "operation": "write"
      },
      "typeVersion": 1,
      "alwaysOutputData": true
    },
    {
      "id": "cddc0b4a-cfdf-4a62-bbe5-a80a6407657a",
      "name": "Risikoschätzungsbericht aktualisieren",
      "type": "n8n-nodes-base.readWriteFile",
      "position": [
        1400,
        -120
      ],
      "parameters": {
        "options": {
          "append": false
        },
        "fileName": "=/data/outputs/2_risk_estimation/Report_Risk_Estimation.txt_{{ $now.toString() }}",
        "operation": "write"
      },
      "typeVersion": 1,
      "alwaysOutputData": true
    },
    {
      "id": "d2137c3b-003f-46b6-8b2c-0ab84fd7de52",
      "name": "KI-Agent1",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        860,
        -120
      ],
      "parameters": {
        "text": "=const description = \"### Hazards to Analyze:\\n\\t{{ $json.data }}\"",
        "options": {
          "systemMessage": "Act as a functional safety expert. Analyze these hazards and estimate risk per ISO 26262 (S/E/C). \\n\\tAct as a functional safety expert. Analyze these hazards and estimate risk per ISO 26262 (S/E/C):\\n\\t\\n\\t### Input Hazards:\\n\\t{Insert hazard list from file (1-5)}\\n\\t\\n\\t### Task:\\n\\t1. **Severity (S)**: Assign S0-S3 based on potential injury:\\n\\t\\t- S0: No injuries\\n\\t\\t- S1: Light-moderate injury\\n\\t\\t- S2: Severe/life-threatening injury\\n\\t\\t- S3: Fatalities\\n\\t\\n\\t2. **Exposure (E)**: Rate E0-E4 for scenario probability:\\n\\t\\t- E0: Incredibly unlikely\\n\\t\\t- E1: Very low (≤1% of operating time)\\n\\t\\t- E2: Low (≤10%)\\n\\t\\t- E3: Medium (≤50%)\\n\\t\\t- E4: High (>50%)\\n\\t\\n\\t3. **Controllability (C)**: Classify C0-C3:\\n\\t\\t- C0: Controllable by most drivers\\n\\t\\t- C1: Controllable by average drivers\\n\\t\\t- C2: Difficult to control\\n\\t\\t- C3: Uncontrollable\\n\\t\\n\\t### Output Format:\\n\\tFor each hazard, provide:\\n\\t1. [Hazard ID] | [Hazard Description]\\n\\t2. **Rating**: S[value]-E[value]-C[value]\\n\\t3. **ASIL**: QM/A/B/C/D (per ISO 26262 Table 6)\\n\\t4. **Rationale**: 1-sentence justification\\n\\t\\n\\t### Example Output:\\n\\t1. HZ-01 | False automatic braking triggered by debris\\n\\t\\t- **Rating**: S2-E3-C1\\n\\t\\t- **ASIL**: B\\n\\t\\t- **Rationale**: Sudden braking could cause rear-end collisions (S2), occurs in urban areas (E3), but drivers often regain control (C1).\\n"
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 2
    },
    {
      "id": "4db38299-87c5-45df-98bd-f91dbcec829b",
      "name": "Eingabe in Binärdaten umwandeln1",
      "type": "n8n-nodes-base.extractFromFile",
      "position": [
        640,
        -120
      ],
      "parameters": {
        "options": {},
        "operation": "text"
      },
      "typeVersion": 1
    },
    {
      "id": "9d303ef5-da40-485c-8d5e-4d568fcb67f9",
      "name": "In Datei konvertieren1",
      "type": "n8n-nodes-base.convertToFile",
      "position": [
        1180,
        -120
      ],
      "parameters": {
        "options": {},
        "operation": "toText",
        "sourceProperty": "output"
      },
      "typeVersion": 1.1
    },
    {
      "id": "4a382915-1e35-4b40-acfd-d04a1ef4e3e2",
      "name": "Risks_mitigation.txt",
      "type": "n8n-nodes-base.readWriteFile",
      "position": [
        2320,
        -120
      ],
      "parameters": {
        "options": {
          "append": false
        },
        "fileName": "=/data/outputs/3_mitigation_strategy/Report_Risk_mitigation.txt_{{ $now.toString() }}",
        "operation": "write"
      },
      "typeVersion": 1,
      "alwaysOutputData": true
    },
    {
      "id": "b7a292b2-277e-4831-ad6f-ce689070e926",
      "name": "KI-Agent2",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1780,
        -120
      ],
      "parameters": {
        "text": "=Generate ISO 26262-compliant mitigation strategies for these ASIL-rated hazards:\\n\\n{{$json.data}}",
        "options": {
          "systemMessage": "**Role**: Functional Safety Engineer (ISO 26262 Expert)  \n**Task**: Generate technical and process mitigations for ASIL-rated hazards for each hazard.  \n**Input**: Hazard list with S/E/C ratings and ASIL classifications  \n\n---\n\n### **Rules for Mitigation Design**\n1. **ASIL-Driven Controls**:\n   - ASIL D: Mandatory hardware redundancy + SIL-4 software  \n   - ASIL C: One safety mechanism + SIL-3 software  \n   - ASIL B: Diagnostic monitoring + SIL-2  \n   - ASIL A/QM: Warning systems or procedural controls  \n\n2. **Mitigation Types**:\n   - **Technical**:  \n     - Redundancy (e.g., dual-channel sensors)  \n     - Monitoring (e.g., heartbeat checks)  \n     - Diversity (e.g., heterogeneous algorithms)  \n   - **Process**:  \n     - Testing (e.g., 100% MC/DC coverage)  \n     - Documentation (e.g., safety case evidence)  \n     - Maintenance (e.g., OTA update protocols)  \n\n3. **ISO 26262 Alignment**:  \n   - Clause 5: Hardware qualification  \n   - Clause 6: Software safety requirements  \n   - Clause 7: Verification and validation  \n\n---\n\n### **Output Format**\n```markdown\n### [Hazard ID] | [Hazard Description] (ASIL X)\n- **Technical Controls**:\n  1. [Solution 1] (ISO 26262-[Clause]-[Section])  \n     - *Rationale*: [1-sentence justification]  \n  2. [Solution 2]  \n     - *Rationale*: [1-sentence justification]  \n- **Process Controls**:  \n  - [Measure] (ISO 26262-[Clause]-[Section])  \n    - *Validation Method*: [Test/Review/Analysis]  \n\n**Traceability**: Links to [Hazard ID], [Risk Rating]  "
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 2
    },
    {
      "id": "e7e2180f-9bcc-4ff3-a807-49ae2eba9ffd",
      "name": "Eingabe in Binärdaten umwandeln2",
      "type": "n8n-nodes-base.extractFromFile",
      "position": [
        1620,
        -120
      ],
      "parameters": {
        "options": {},
        "operation": "text"
      },
      "typeVersion": 1
    },
    {
      "id": "0be1af89-2253-4fe2-bf17-baf39b1c2730",
      "name": "In Datei konvertieren2",
      "type": "n8n-nodes-base.convertToFile",
      "position": [
        2120,
        -120
      ],
      "parameters": {
        "options": {},
        "operation": "toText",
        "sourceProperty": "output"
      },
      "typeVersion": 1.1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "fc97d1e1-986b-4181-8ae7-a3054c97d3ba",
  "connections": {
    "7a74d970-30f9-4256-bba1-4dd586a7a2a5": {
      "main": [
        [
          {
            "node": "b262dce7-2db9-4f54-a418-534abde45bbc",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "d2137c3b-003f-46b6-8b2c-0ab84fd7de52": {
      "main": [
        [
          {
            "node": "9d303ef5-da40-485c-8d5e-4d568fcb67f9",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "b7a292b2-277e-4831-ad6f-ce689070e926": {
      "main": [
        [
          {
            "node": "0be1af89-2253-4fe2-bf17-baf39b1c2730",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "b262dce7-2db9-4f54-a418-534abde45bbc": {
      "main": [
        [
          {
            "node": "5359da29-26c1-492d-90ab-a8494d809e29",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "9d303ef5-da40-485c-8d5e-4d568fcb67f9": {
      "main": [
        [
          {
            "node": "cddc0b4a-cfdf-4a62-bbe5-a80a6407657a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "0be1af89-2253-4fe2-bf17-baf39b1c2730": {
      "main": [
        [
          {
            "node": "4a382915-1e35-4b40-acfd-d04a1ef4e3e2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3682f8df-16a8-4ec5-83ee-cb99121497f3": {
      "ai_languageModel": [
        [
          {
            "node": "7a74d970-30f9-4256-bba1-4dd586a7a2a5",
            "type": "ai_languageModel",
            "index": 0
          },
          {
            "node": "d2137c3b-003f-46b6-8b2c-0ab84fd7de52",
            "type": "ai_languageModel",
            "index": 0
          },
          {
            "node": "b7a292b2-277e-4831-ad6f-ce689070e926",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "4a382915-1e35-4b40-acfd-d04a1ef4e3e2": {
      "main": [
        []
      ]
    },
    "7ed4df13-d81e-4426-9607-de7cefaa5fb0": {
      "ai_memory": [
        [
          {
            "node": "7a74d970-30f9-4256-bba1-4dd586a7a2a5",
            "type": "ai_memory",
            "index": 0
          },
          {
            "node": "d2137c3b-003f-46b6-8b2c-0ab84fd7de52",
            "type": "ai_memory",
            "index": 0
          },
          {
            "node": "b7a292b2-277e-4831-ad6f-ce689070e926",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "b8e8ff87-3675-4036-8738-31dc1e8e73b5": {
      "main": [
        [
          {
            "node": "328cd6cc-0d09-460a-98ad-ef23f1f550ca",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "5359da29-26c1-492d-90ab-a8494d809e29": {
      "main": [
        [
          {
            "node": "4db38299-87c5-45df-98bd-f91dbcec829b",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "328cd6cc-0d09-460a-98ad-ef23f1f550ca": {
      "main": [
        [
          {
            "node": "7a74d970-30f9-4256-bba1-4dd586a7a2a5",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "4db38299-87c5-45df-98bd-f91dbcec829b": {
      "main": [
        [
          {
            "node": "d2137c3b-003f-46b6-8b2c-0ab84fd7de52",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "e7e2180f-9bcc-4ff3-a807-49ae2eba9ffd": {
      "main": [
        [
          {
            "node": "b7a292b2-277e-4831-ad6f-ce689070e926",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "cddc0b4a-cfdf-4a62-bbe5-a80a6407657a": {
      "main": [
        [
          {
            "node": "e7e2180f-9bcc-4ff3-a807-49ae2eba9ffd",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "5d95ae17-a4aa-416d-9603-129e65f90f1c": {
      "main": [
        [
          {
            "node": "b8e8ff87-3675-4036-8738-31dc1e8e73b5",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Häufig gestellte Fragen

Wie verwende ich diesen Workflow?

Kopieren Sie den obigen JSON-Code, erstellen Sie einen neuen Workflow in Ihrer n8n-Instanz und wählen Sie "Aus JSON importieren". Fügen Sie die Konfiguration ein und passen Sie die Anmeldedaten nach Bedarf an.

Für welche Szenarien ist dieser Workflow geeignet?

Experte - Engineering, KI-Zusammenfassung

Ist es kostenpflichtig?

Dieser Workflow ist völlig kostenlos. Beachten Sie jedoch, dass Drittanbieterdienste (wie OpenAI API), die im Workflow verwendet werden, möglicherweise kostenpflichtig sind.

Workflow-Informationen
Schwierigkeitsgrad
Experte
Anzahl der Nodes16
Kategorie2
Node-Typen7
Schwierigkeitsbeschreibung

Für fortgeschrittene Benutzer, komplexe Workflows mit 16+ Nodes

Autor

A software professional with interest in building up DIY projects in embedded system software on bare-metal to POSIX compliant OS, with automation workflows on Arduinos, Raspberry Pi, STM32 controllers, ESPIf and so on

Externe Links
Auf n8n.io ansehen

Diesen Workflow teilen

Kategorien

Kategorien: 34