# BreakPilot BPMN Prozesse Dieses Verzeichnis enthaelt die BPMN 2.0 Prozessdefinitionen fuer BreakPilot. ## Prozess-Uebersicht | Datei | Prozess | Beschreibung | Status | |-------|---------|--------------|--------| | `classroom-lesson.bpmn` | Unterrichtsstunde | Phasenbasierte Unterrichtssteuerung | Entwurf | | `consent-document.bpmn` | Consent-Dokument | DSB-Approval, Publishing, Monitoring | Entwurf | | `klausur-korrektur.bpmn` | Klausurkorrektur | OCR, AI-Grading, Export | Entwurf | | `dsr-request.bpmn` | DSR/GDPR | Betroffenenanfragen (Art. 15-20) | Entwurf | ## Verwendung ### Im BPMN Editor laden 1. Navigiere zu http://localhost:3000/admin/workflow oder http://localhost:8000/app (Workflow) 2. Klicke "Oeffnen" und waehle eine .bpmn Datei 3. Bearbeite den Prozess im Editor 4. Speichere und deploye zu Camunda ### In Camunda deployen ```bash # Camunda starten (falls noch nicht aktiv) docker compose --profile bpmn up -d camunda # Prozess deployen via API curl -X POST http://localhost:8000/api/bpmn/deployment/create \ -F "deployment-name=breakpilot-processes" \ -F "data=@classroom-lesson.bpmn" ``` ### Prozess starten ```bash # Unterrichtsstunde starten curl -X POST http://localhost:8000/api/bpmn/process-definition/ClassroomLessonProcess/start \ -H "Content-Type: application/json" \ -d '{ "variables": { "teacherId": {"value": "teacher-123"}, "classId": {"value": "class-7a"}, "subject": {"value": "Mathematik"} } }' ``` ## Prozess-Details ### 1. Classroom Lesson (classroom-lesson.bpmn) **Phasen:** - Einstieg (Motivation, Problemstellung) - Erarbeitung I (Einzelarbeit, Partnerarbeit, Gruppenarbeit) - Erarbeitung II (optional) - Sicherung (Tafel, Digital, Schueler-Praesentation) - Transfer (Anwendungsaufgaben) - Reflexion & Abschluss (Hausaufgaben, Notizen) **Service Tasks:** - `contentSuggestionDelegate` - Content-Vorschlaege basierend auf Phase - `lessonProtocolDelegate` - Automatisches Stundenprotokoll **Timer Events:** - Phasen-Timer mit Warnungen --- ### 2. Consent Document (consent-document.bpmn) **Workflow:** 1. Dokument bearbeiten (Autor) 2. DSB-Pruefung (Vier-Augen-Prinzip) 3. Bei Ablehnung: Zurueck an Autor 4. Bei Genehmigung: Veroeffentlichen 5. Benutzer benachrichtigen 6. Consent sammeln mit Deadline-Timer 7. Monitoring-Subprocess fuer jaehrliche Erneuerung 8. Archivierung bei neuer Version **Service Tasks:** - `publishConsentDocumentDelegate` - `notifyUsersDelegate` - `sendConsentReminderDelegate` - `checkConsentStatusDelegate` - `triggerRenewalDelegate` - `archiveDocumentDelegate` --- ### 3. Klausur Korrektur (klausur-korrektur.bpmn) **Workflow:** 1. OCR-Verarbeitung der hochgeladenen Klausuren 2. Qualitaets-Check (Confidence >= 85%) 3. Bei schlechter Qualitaet: Manuelle Nachbearbeitung 4. Erwartungshorizont definieren 5. AI-Bewertung mit Claude 6. Lehrer-Review mit Anpassungsmoeglichkeit 7. Noten berechnen (15-Punkte-Skala) 8. Notenbuch aktualisieren 9. Export (PDF, Excel) 10. Optional: Eltern benachrichtigen 11. Archivierung **Service Tasks:** - `ocrProcessingDelegate` - `ocrQualityCheckDelegate` - `aiGradingDelegate` - `calculateGradesDelegate` - `updateGradebookDelegate` - `generateExportDelegate` - `notifyParentsDelegate` - `archiveExamDelegate` - `deadlineWarningDelegate` --- ### 4. DSR Request (dsr-request.bpmn) **GDPR Artikel:** - Art. 15: Recht auf Auskunft (Access) - Art. 16: Recht auf Berichtigung (Rectification) - Art. 17: Recht auf Loeschung (Deletion) - Art. 20: Recht auf Datenuebertragbarkeit (Portability) **Workflow:** 1. Anfrage validieren 2. Bei ungueltig: Ablehnen 3. Je nach Typ: - Access: Daten sammeln → Anonymisieren → Review → Export - Deletion: Identifizieren → Genehmigen → Loeschen → Verifizieren - Portability: Sammeln → JSON formatieren - Rectification: Pruefen → Anwenden 4. Betroffenen benachrichtigen 5. Audit Log erstellen **30-Tage Frist:** - Timer-Event nach 25 Tagen fuer Eskalation an DSB **Service Tasks:** - `validateDSRDelegate` - `rejectDSRDelegate` - `collectUserDataDelegate` - `anonymizeDataDelegate` - `prepareExportDelegate` - `identifyUserDataDelegate` - `executeDataDeletionDelegate` - `verifyDeletionDelegate` - `collectPortableDataDelegate` - `formatPortableDataDelegate` - `applyRectificationDelegate` - `notifyDataSubjectDelegate` - `createAuditLogDelegate` - `escalateToDSBDelegate` ## Naechste Schritte 1. **Delegates implementieren**: Java/Python Service Tasks 2. **Camunda Connect**: REST-Aufrufe zu Backend-APIs 3. **User Task Forms**: Camunda Forms oder Custom UI 4. **Timer konfigurieren**: Realistische Dauern setzen 5. **Testing**: Prozesse mit Testdaten durchlaufen ## Referenzen - [Camunda 7 Docs](https://docs.camunda.org/manual/7.21/) - [BPMN 2.0 Spec](https://www.omg.org/spec/BPMN/2.0/) - [bpmn-js](https://bpmn.io/toolkit/bpmn-js/)