Prozessmodelle versioniert unter prozesse/<name>/ ablegen
Jedes Modell bekommt einen eigenen Ordner mit Steckbrief (README.md, Status Entwurf|abgenommen), der maßgeblichen Arbeitsschritt-.md und der daraus erzeugten .bpmn (ADR 0003). - scripts/pruefe_prozesse.py prüft Ordnername, Dateien, Status und ob jede .bpmn byte-gleich mit der Umwandlung ihrer .md ist; --erzeugen erzeugt alle .bpmn neu. md_to_bpmn.py arbeitet deterministisch. - tests/test_pruefe_prozesse.py: Bestandsprüfung plus 11 Fälle für die Prüflogik; pytest.ini sammelt .agents/skills und tests. - Die in Anleitung.md genannten, nie committeten Beispiele liegen jetzt unter .agents/skills/sn-bpmn/beispiele/ und werden mitgeprüft. - Skill sn-bpmn: Entwürfe nach entwuerfe/, neuer Schritt 5 „Ablegen“. - Vorlage docs/vorlagen/prozess_readme.md, Doku und Fallstricke ergänzt. - Tests: python -m pytest -q -> 44 bestanden. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -25,15 +25,19 @@ stehen in `Modellierregeln.md`.
|
||||
## Aufruf
|
||||
|
||||
```bash
|
||||
python3 md_to_bpmn.py <prozess.md> <ausgabe.bpmn>
|
||||
python .agents/skills/sn-bpmn/md_to_bpmn.py <prozess.md> <ausgabe.bpmn>
|
||||
```
|
||||
|
||||
Beispiel:
|
||||
Beispiel (aus dem Workspace-Root):
|
||||
|
||||
```bash
|
||||
python3 md_to_bpmn.py beispiel_prozess.md beispiel_prozess.bpmn
|
||||
python .agents/skills/sn-bpmn/md_to_bpmn.py entwuerfe/antrag-pruefen.md entwuerfe/antrag-pruefen.bpmn
|
||||
```
|
||||
|
||||
Versionierte Modelle unter `prozesse/` werden nicht einzeln, sondern gesammelt
|
||||
erzeugt: `python scripts/pruefe_prozesse.py --erzeugen` (siehe
|
||||
`prozesse/README.md`).
|
||||
|
||||
Die erzeugte `.bpmn`-Datei kann anschließend über den BPMN-Import-Dialog
|
||||
in PICTURE geladen werden.
|
||||
|
||||
@@ -185,8 +189,13 @@ umformulieren.
|
||||
|
||||
### Vollständige Beispiele
|
||||
|
||||
- Ohne Lanes: `beispiel_prozess.md` / `beispiel_prozess.bpmn`
|
||||
- Mit Lanes: `gewannenvermessung_lanes.md` / `gewannenvermessung_lanes.bpmn`
|
||||
In `beispiele/` neben dieser Datei, reine Syntaxbeispiele (fachlich nicht geprüft):
|
||||
|
||||
- Ohne Lanes: `beispiele/beispiel_prozess.md` / `beispiele/beispiel_prozess.bpmn`
|
||||
- Mit Lanes und externem Beteiligten: `beispiele/beispiel_lanes.md` / `beispiele/beispiel_lanes.bpmn`
|
||||
|
||||
Ein Test hält die `.bpmn` der Beispiele aktuell; nach einer Änderung am
|
||||
Konverter `python scripts/pruefe_prozesse.py --erzeugen` ausführen.
|
||||
|
||||
## Einschränkungen der aktuellen Version
|
||||
|
||||
|
||||
@@ -19,13 +19,17 @@ schreibst oder bearbeitest.
|
||||
## Ablauf
|
||||
|
||||
1. **Quelle ermitteln.** Frage nach der Rohtext-, Word- oder PDF-Quelle,
|
||||
falls keine angegeben oder angehängt wurde.
|
||||
falls keine angegeben oder angehängt wurde. Gibt es den Prozess schon
|
||||
unter `prozesse/<name>/`, ist dessen `<name>.md` der Ausgangspunkt:
|
||||
dann auf einem Arbeitsbranch direkt dort ändern statt in `entwuerfe/`,
|
||||
und nach Schritt 3 mit Schritt 5 weitermachen.
|
||||
|
||||
2. **Entwurf erzeugen.** Lies die Quelle und leite daraus eine
|
||||
strukturierte Arbeitsschritt-`.md` nach der Syntax aus `Anleitung.md`
|
||||
ab. Triff nachvollziehbare fachliche Annahmen (Schrittgrenzen,
|
||||
Verzweigungen, Verantwortliche wo erkennbar) und schreibe das Ergebnis
|
||||
nach `entwuerfe/<name>.md` (Verzeichnis bei Bedarf anlegen). Gleiche den
|
||||
nach `entwuerfe/<name>.md` (Verzeichnis bei Bedarf anlegen; `<name>` in
|
||||
Kleinbuchstaben mit Bindestrichen, z. B. `antrag-pruefen`). Gleiche den
|
||||
Entwurf gegen `Modellierregeln.md` ab und behebe Verstöße direkt im
|
||||
Entwurf. Fasse kurz zusammen, welche Annahmen getroffen wurden, und
|
||||
weise auf Stellen hin, die fachlich geprüft werden sollten.
|
||||
@@ -38,9 +42,20 @@ schreibst oder bearbeitest.
|
||||
4. **BPMN erzeugen.** Erst nach ausdrücklicher Freigabe (z. B. "ist
|
||||
angepasst", "passt so", "wandle um"):
|
||||
```
|
||||
python .agents/skills/sn-bpmn/md_to_bpmn.py entwuerfe/<name>.md <name>.bpmn
|
||||
python .agents/skills/sn-bpmn/md_to_bpmn.py entwuerfe/<name>.md entwuerfe/<name>.bpmn
|
||||
```
|
||||
Ergebnis kurz melden (Anzahl Schritte/Kanten/Lanes, Pfad der Datei).
|
||||
Ergebnis kurz melden (Anzahl Schritte/Kanten/Lanes, Pfad der Datei) und
|
||||
anbieten, das Modell im Repository abzulegen (Schritt 5).
|
||||
|
||||
5. **Ablegen (nur auf Wunsch).** Ablauf und Regeln: `prozesse/README.md`
|
||||
(ADR 0003). Kurz: Branch `feature/<issue-nr>-<name>` von `main`, Ordner
|
||||
`prozesse/<name>/` mit `<name>.md` und Steckbrief `README.md` aus
|
||||
`docs/vorlagen/prozess_readme.md` (Status `Entwurf`, Annahmen aus
|
||||
Schritt 2 unter „Annahmen und offene Punkte“), dann
|
||||
`python scripts/pruefe_prozesse.py --erzeugen` und `python -m pytest -q`.
|
||||
Vorher prüfen, dass keine Namen, Aktenzeichen oder Verfahrensdaten in der
|
||||
`.md` stehen. Commit und Pull-Request-Text vorbereiten; pushen macht der
|
||||
Mensch. Den Status `abgenommen` setzt nie der Agent von sich aus.
|
||||
|
||||
Wenn der Nutzer direkt eine bereits fertige Arbeitsschritt-`.md` angibt
|
||||
und ausdrücklich nur die Umwandlung möchte, Schritt 2-3 überspringen
|
||||
|
||||
@@ -0,0 +1,176 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="Definitions_1" targetNamespace="http://picture-tool.local/bpmn" exporter="md_to_bpmn.py">
|
||||
<bpmn:collaboration id="Collaboration_1">
|
||||
<bpmn:participant id="Participant_1" name="Antrag prüfen mit Zuständigkeiten (Beispiel)" processRef="Process_1"/>
|
||||
<bpmn:participant id="Participant_Ext_1" name="Antragsteller"/>
|
||||
<bpmn:messageFlow id="MsgFlow_1" sourceRef="Participant_Ext_1" targetRef="StartEvent_S1"/>
|
||||
<bpmn:messageFlow id="MsgFlow_2" sourceRef="SendTask_S4" targetRef="Participant_Ext_1"/>
|
||||
<bpmn:messageFlow id="MsgFlow_3" sourceRef="SendTask_S7" targetRef="Participant_Ext_1"/>
|
||||
</bpmn:collaboration>
|
||||
<bpmn:process id="Process_1" name="Antrag prüfen mit Zuständigkeiten (Beispiel)" isExecutable="false">
|
||||
<bpmn:laneSet id="LaneSet_1">
|
||||
<bpmn:lane id="Lane_1" name="Posteingang">
|
||||
<bpmn:flowNodeRef>StartEvent_S1</bpmn:flowNodeRef>
|
||||
<bpmn:flowNodeRef>SendTask_S7</bpmn:flowNodeRef>
|
||||
<bpmn:flowNodeRef>EndEvent_S8</bpmn:flowNodeRef>
|
||||
</bpmn:lane>
|
||||
<bpmn:lane id="Lane_2" name="Sachbearbeitung">
|
||||
<bpmn:flowNodeRef>Task_S2</bpmn:flowNodeRef>
|
||||
<bpmn:flowNodeRef>Gateway_S3</bpmn:flowNodeRef>
|
||||
<bpmn:flowNodeRef>SendTask_S4</bpmn:flowNodeRef>
|
||||
<bpmn:flowNodeRef>Task_S5</bpmn:flowNodeRef>
|
||||
</bpmn:lane>
|
||||
<bpmn:lane id="Lane_3" name="Teamleitung">
|
||||
<bpmn:flowNodeRef>Task_S6</bpmn:flowNodeRef>
|
||||
</bpmn:lane>
|
||||
</bpmn:laneSet>
|
||||
<bpmn:startEvent id="StartEvent_S1" name="Antrag geht ein">
|
||||
<bpmn:outgoing>Flow_1</bpmn:outgoing>
|
||||
<bpmn:messageEventDefinition id="StartEvent_S1_ed"/>
|
||||
</bpmn:startEvent>
|
||||
<bpmn:task id="Task_S2" name="Antrag erfassen">
|
||||
<bpmn:incoming>Flow_1</bpmn:incoming>
|
||||
<bpmn:incoming>Flow_5</bpmn:incoming>
|
||||
<bpmn:outgoing>Flow_2</bpmn:outgoing>
|
||||
</bpmn:task>
|
||||
<bpmn:exclusiveGateway id="Gateway_S3" name="Antrag vollständig?">
|
||||
<bpmn:incoming>Flow_2</bpmn:incoming>
|
||||
<bpmn:outgoing>Flow_3</bpmn:outgoing>
|
||||
<bpmn:outgoing>Flow_4</bpmn:outgoing>
|
||||
</bpmn:exclusiveGateway>
|
||||
<bpmn:sendTask id="SendTask_S4" name="Unterlagen nachfordern">
|
||||
<bpmn:incoming>Flow_4</bpmn:incoming>
|
||||
<bpmn:outgoing>Flow_5</bpmn:outgoing>
|
||||
</bpmn:sendTask>
|
||||
<bpmn:task id="Task_S5" name="Entscheidung vorbereiten">
|
||||
<bpmn:incoming>Flow_3</bpmn:incoming>
|
||||
<bpmn:outgoing>Flow_6</bpmn:outgoing>
|
||||
</bpmn:task>
|
||||
<bpmn:task id="Task_S6" name="Entscheidung zeichnen">
|
||||
<bpmn:incoming>Flow_6</bpmn:incoming>
|
||||
<bpmn:outgoing>Flow_7</bpmn:outgoing>
|
||||
</bpmn:task>
|
||||
<bpmn:sendTask id="SendTask_S7" name="Bescheid versenden">
|
||||
<bpmn:incoming>Flow_7</bpmn:incoming>
|
||||
<bpmn:outgoing>Flow_8</bpmn:outgoing>
|
||||
</bpmn:sendTask>
|
||||
<bpmn:endEvent id="EndEvent_S8" name="Antrag entschieden">
|
||||
<bpmn:incoming>Flow_8</bpmn:incoming>
|
||||
</bpmn:endEvent>
|
||||
<bpmn:sequenceFlow id="Flow_1" sourceRef="StartEvent_S1" targetRef="Task_S2"/>
|
||||
<bpmn:sequenceFlow id="Flow_2" sourceRef="Task_S2" targetRef="Gateway_S3"/>
|
||||
<bpmn:sequenceFlow id="Flow_3" sourceRef="Gateway_S3" targetRef="Task_S5" name="Ja"/>
|
||||
<bpmn:sequenceFlow id="Flow_4" sourceRef="Gateway_S3" targetRef="SendTask_S4" name="Nein"/>
|
||||
<bpmn:sequenceFlow id="Flow_5" sourceRef="SendTask_S4" targetRef="Task_S2"/>
|
||||
<bpmn:sequenceFlow id="Flow_6" sourceRef="Task_S5" targetRef="Task_S6"/>
|
||||
<bpmn:sequenceFlow id="Flow_7" sourceRef="Task_S6" targetRef="SendTask_S7"/>
|
||||
<bpmn:sequenceFlow id="Flow_8" sourceRef="SendTask_S7" targetRef="EndEvent_S8"/>
|
||||
</bpmn:process>
|
||||
<bpmndi:BPMNDiagram id="Diagram_1">
|
||||
<bpmndi:BPMNPlane id="Plane_1" bpmnElement="Collaboration_1">
|
||||
<bpmndi:BPMNShape id="Participant_1_di" bpmnElement="Participant_1" isHorizontal="true">
|
||||
<dc:Bounds x="0" y="0" width="1366" height="720"/>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Lane_1_di" bpmnElement="Lane_1" isHorizontal="true">
|
||||
<dc:Bounds x="0" y="0" width="1366" height="190"/>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Lane_2_di" bpmnElement="Lane_2" isHorizontal="true">
|
||||
<dc:Bounds x="0" y="190" width="1366" height="340"/>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Lane_3_di" bpmnElement="Lane_3" isHorizontal="true">
|
||||
<dc:Bounds x="0" y="530" width="1366" height="190"/>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Participant_Ext_1_di" bpmnElement="Participant_Ext_1" isHorizontal="true">
|
||||
<dc:Bounds x="0" y="780" width="1366" height="100"/>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="StartEvent_S1_di" bpmnElement="StartEvent_S1">
|
||||
<dc:Bounds x="110" y="77" width="36" height="36"/>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Task_S2_di" bpmnElement="Task_S2">
|
||||
<dc:Bounds x="300" y="320" width="100" height="80"/>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Gateway_S3_di" bpmnElement="Gateway_S3">
|
||||
<dc:Bounds x="490" y="335" width="50" height="50"/>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="SendTask_S4_di" bpmnElement="SendTask_S4">
|
||||
<dc:Bounds x="680" y="235" width="100" height="80"/>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Task_S5_di" bpmnElement="Task_S5">
|
||||
<dc:Bounds x="680" y="405" width="100" height="80"/>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Task_S6_di" bpmnElement="Task_S6">
|
||||
<dc:Bounds x="870" y="585" width="100" height="80"/>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="SendTask_S7_di" bpmnElement="SendTask_S7">
|
||||
<dc:Bounds x="1060" y="55" width="100" height="80"/>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="EndEvent_S8_di" bpmnElement="EndEvent_S8">
|
||||
<dc:Bounds x="1250" y="77" width="36" height="36"/>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNEdge id="Flow_1_di" bpmnElement="Flow_1">
|
||||
<di:waypoint x="146" y="95"/>
|
||||
<di:waypoint x="223" y="95"/>
|
||||
<di:waypoint x="223" y="360"/>
|
||||
<di:waypoint x="300" y="360"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_2_di" bpmnElement="Flow_2">
|
||||
<di:waypoint x="400" y="360"/>
|
||||
<di:waypoint x="400" y="310"/>
|
||||
<di:waypoint x="515" y="310"/>
|
||||
<di:waypoint x="515" y="335"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_3_di" bpmnElement="Flow_3">
|
||||
<di:waypoint x="515" y="385"/>
|
||||
<di:waypoint x="515" y="410"/>
|
||||
<di:waypoint x="680" y="410"/>
|
||||
<di:waypoint x="680" y="445"/>
|
||||
<bpmndi:BPMNLabel>
|
||||
<dc:Bounds x="523" y="389.5" width="30" height="14"/>
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_4_di" bpmnElement="Flow_4">
|
||||
<di:waypoint x="540" y="360"/>
|
||||
<di:waypoint x="565" y="360"/>
|
||||
<di:waypoint x="565" y="275"/>
|
||||
<di:waypoint x="680" y="275"/>
|
||||
<bpmndi:BPMNLabel>
|
||||
<dc:Bounds x="537.5" y="340" width="30" height="14"/>
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_5_di" bpmnElement="Flow_5">
|
||||
<di:waypoint x="713.333" y="315"/>
|
||||
<di:waypoint x="713.333" y="770"/>
|
||||
<di:waypoint x="350" y="770"/>
|
||||
<di:waypoint x="350" y="400"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_6_di" bpmnElement="Flow_6">
|
||||
<di:waypoint x="780" y="445"/>
|
||||
<di:waypoint x="825" y="445"/>
|
||||
<di:waypoint x="825" y="625"/>
|
||||
<di:waypoint x="870" y="625"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_7_di" bpmnElement="Flow_7">
|
||||
<di:waypoint x="970" y="625"/>
|
||||
<di:waypoint x="1015" y="625"/>
|
||||
<di:waypoint x="1015" y="95"/>
|
||||
<di:waypoint x="1060" y="95"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_8_di" bpmnElement="Flow_8">
|
||||
<di:waypoint x="1160" y="95"/>
|
||||
<di:waypoint x="1250" y="95"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="MsgFlow_1_di" bpmnElement="MsgFlow_1">
|
||||
<di:waypoint x="341.5" y="780"/>
|
||||
<di:waypoint x="128" y="113"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="MsgFlow_2_di" bpmnElement="MsgFlow_2">
|
||||
<di:waypoint x="746.667" y="315"/>
|
||||
<di:waypoint x="683" y="780"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="MsgFlow_3_di" bpmnElement="MsgFlow_3">
|
||||
<di:waypoint x="1110" y="135"/>
|
||||
<di:waypoint x="1024.5" y="780"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
</bpmndi:BPMNPlane>
|
||||
</bpmndi:BPMNDiagram>
|
||||
</bpmn:definitions>
|
||||
@@ -0,0 +1,20 @@
|
||||
# Syntaxbeispiel mit Lanes und externem Beteiligten – fachlich nicht geprüft, nur zur Veranschaulichung.
|
||||
Prozess: Antrag prüfen mit Zuständigkeiten (Beispiel)
|
||||
Extern: Antragsteller
|
||||
|
||||
S1 Start Nachricht: Posteingang: Antrag geht ein
|
||||
<~ Antragsteller
|
||||
-> S2
|
||||
S2 Task: Sachbearbeitung: Antrag erfassen
|
||||
S3 Gateway XOR: Sachbearbeitung: Antrag vollständig?
|
||||
Ja -> S5
|
||||
Nein -> S4
|
||||
S4 Sendeaufgabe: Sachbearbeitung: Unterlagen nachfordern
|
||||
~> Antragsteller
|
||||
-> S2
|
||||
S5 Task: Sachbearbeitung: Entscheidung vorbereiten
|
||||
S6 Task: Teamleitung: Entscheidung zeichnen
|
||||
S7 Sendeaufgabe: Posteingang: Bescheid versenden
|
||||
~> Antragsteller
|
||||
-> S8
|
||||
S8 Ende: Posteingang: Antrag entschieden
|
||||
@@ -0,0 +1,171 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="Definitions_1" targetNamespace="http://picture-tool.local/bpmn" exporter="md_to_bpmn.py">
|
||||
<bpmn:process id="Process_1" name="Antrag prüfen (Beispiel)" isExecutable="false">
|
||||
<bpmn:startEvent id="StartEvent_S1" name="Antrag geht ein">
|
||||
<bpmn:outgoing>Flow_1</bpmn:outgoing>
|
||||
<bpmn:messageEventDefinition id="StartEvent_S1_ed"/>
|
||||
</bpmn:startEvent>
|
||||
<bpmn:task id="Task_S2" name="Antrag erfassen">
|
||||
<bpmn:incoming>Flow_1</bpmn:incoming>
|
||||
<bpmn:incoming>Flow_5</bpmn:incoming>
|
||||
<bpmn:outgoing>Flow_2</bpmn:outgoing>
|
||||
</bpmn:task>
|
||||
<bpmn:exclusiveGateway id="Gateway_S3" name="Antrag vollständig?">
|
||||
<bpmn:incoming>Flow_2</bpmn:incoming>
|
||||
<bpmn:outgoing>Flow_3</bpmn:outgoing>
|
||||
<bpmn:outgoing>Flow_4</bpmn:outgoing>
|
||||
</bpmn:exclusiveGateway>
|
||||
<bpmn:sendTask id="SendTask_S4" name="Unterlagen nachfordern">
|
||||
<bpmn:incoming>Flow_4</bpmn:incoming>
|
||||
<bpmn:outgoing>Flow_5</bpmn:outgoing>
|
||||
</bpmn:sendTask>
|
||||
<bpmn:task id="Task_S5" name="Antrag fachlich prüfen">
|
||||
<bpmn:incoming>Flow_3</bpmn:incoming>
|
||||
<bpmn:outgoing>Flow_6</bpmn:outgoing>
|
||||
</bpmn:task>
|
||||
<bpmn:exclusiveGateway id="Gateway_S6" name="Antrag begründet?">
|
||||
<bpmn:incoming>Flow_6</bpmn:incoming>
|
||||
<bpmn:outgoing>Flow_7</bpmn:outgoing>
|
||||
<bpmn:outgoing>Flow_8</bpmn:outgoing>
|
||||
</bpmn:exclusiveGateway>
|
||||
<bpmn:task id="Task_S7" name="Bewilligung vorbereiten">
|
||||
<bpmn:incoming>Flow_7</bpmn:incoming>
|
||||
<bpmn:outgoing>Flow_9</bpmn:outgoing>
|
||||
</bpmn:task>
|
||||
<bpmn:task id="Task_S8" name="Ablehnung vorbereiten">
|
||||
<bpmn:incoming>Flow_8</bpmn:incoming>
|
||||
<bpmn:outgoing>Flow_10</bpmn:outgoing>
|
||||
</bpmn:task>
|
||||
<bpmn:sendTask id="SendTask_S9" name="Bescheid versenden">
|
||||
<bpmn:incoming>Flow_9</bpmn:incoming>
|
||||
<bpmn:incoming>Flow_10</bpmn:incoming>
|
||||
<bpmn:outgoing>Flow_11</bpmn:outgoing>
|
||||
</bpmn:sendTask>
|
||||
<bpmn:endEvent id="EndEvent_S10" name="Antrag entschieden">
|
||||
<bpmn:incoming>Flow_11</bpmn:incoming>
|
||||
</bpmn:endEvent>
|
||||
<bpmn:sequenceFlow id="Flow_1" sourceRef="StartEvent_S1" targetRef="Task_S2"/>
|
||||
<bpmn:sequenceFlow id="Flow_2" sourceRef="Task_S2" targetRef="Gateway_S3"/>
|
||||
<bpmn:sequenceFlow id="Flow_3" sourceRef="Gateway_S3" targetRef="Task_S5" name="Ja"/>
|
||||
<bpmn:sequenceFlow id="Flow_4" sourceRef="Gateway_S3" targetRef="SendTask_S4" name="Nein"/>
|
||||
<bpmn:sequenceFlow id="Flow_5" sourceRef="SendTask_S4" targetRef="Task_S2"/>
|
||||
<bpmn:sequenceFlow id="Flow_6" sourceRef="Task_S5" targetRef="Gateway_S6"/>
|
||||
<bpmn:sequenceFlow id="Flow_7" sourceRef="Gateway_S6" targetRef="Task_S7" name="Ja"/>
|
||||
<bpmn:sequenceFlow id="Flow_8" sourceRef="Gateway_S6" targetRef="Task_S8" name="Nein"/>
|
||||
<bpmn:sequenceFlow id="Flow_9" sourceRef="Task_S7" targetRef="SendTask_S9"/>
|
||||
<bpmn:sequenceFlow id="Flow_10" sourceRef="Task_S8" targetRef="SendTask_S9"/>
|
||||
<bpmn:sequenceFlow id="Flow_11" sourceRef="SendTask_S9" targetRef="EndEvent_S10"/>
|
||||
</bpmn:process>
|
||||
<bpmndi:BPMNDiagram id="Diagram_1">
|
||||
<bpmndi:BPMNPlane id="Plane_1" bpmnElement="Process_1">
|
||||
<bpmndi:BPMNShape id="StartEvent_S1_di" bpmnElement="StartEvent_S1">
|
||||
<dc:Bounds x="165" y="80" width="36" height="36"/>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Task_S2_di" bpmnElement="Task_S2">
|
||||
<dc:Bounds x="165" y="250" width="100" height="80"/>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Gateway_S3_di" bpmnElement="Gateway_S3">
|
||||
<dc:Bounds x="165" y="420" width="50" height="50"/>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="SendTask_S4_di" bpmnElement="SendTask_S4">
|
||||
<dc:Bounds x="80" y="590" width="100" height="80"/>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Task_S5_di" bpmnElement="Task_S5">
|
||||
<dc:Bounds x="250" y="590" width="100" height="80"/>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Gateway_S6_di" bpmnElement="Gateway_S6">
|
||||
<dc:Bounds x="165" y="760" width="50" height="50"/>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Task_S7_di" bpmnElement="Task_S7">
|
||||
<dc:Bounds x="80" y="930" width="100" height="80"/>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Task_S8_di" bpmnElement="Task_S8">
|
||||
<dc:Bounds x="250" y="930" width="100" height="80"/>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="SendTask_S9_di" bpmnElement="SendTask_S9">
|
||||
<dc:Bounds x="165" y="1100" width="100" height="80"/>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="EndEvent_S10_di" bpmnElement="EndEvent_S10">
|
||||
<dc:Bounds x="165" y="1270" width="36" height="36"/>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNEdge id="Flow_1_di" bpmnElement="Flow_1">
|
||||
<di:waypoint x="183" y="116"/>
|
||||
<di:waypoint x="183" y="183"/>
|
||||
<di:waypoint x="215" y="183"/>
|
||||
<di:waypoint x="215" y="250"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_2_di" bpmnElement="Flow_2">
|
||||
<di:waypoint x="215" y="330"/>
|
||||
<di:waypoint x="215" y="395"/>
|
||||
<di:waypoint x="190" y="395"/>
|
||||
<di:waypoint x="190" y="420"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_3_di" bpmnElement="Flow_3">
|
||||
<di:waypoint x="190" y="470"/>
|
||||
<di:waypoint x="190" y="495"/>
|
||||
<di:waypoint x="300" y="495"/>
|
||||
<di:waypoint x="300" y="590"/>
|
||||
<bpmndi:BPMNLabel>
|
||||
<dc:Bounds x="198" y="474.5" width="30" height="14"/>
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_4_di" bpmnElement="Flow_4">
|
||||
<di:waypoint x="215" y="445"/>
|
||||
<di:waypoint x="240" y="445"/>
|
||||
<di:waypoint x="240" y="590"/>
|
||||
<di:waypoint x="130" y="590"/>
|
||||
<bpmndi:BPMNLabel>
|
||||
<dc:Bounds x="212.5" y="425" width="30" height="14"/>
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_5_di" bpmnElement="Flow_5">
|
||||
<di:waypoint x="80" y="630"/>
|
||||
<di:waypoint x="20" y="630"/>
|
||||
<di:waypoint x="20" y="290"/>
|
||||
<di:waypoint x="165" y="290"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_6_di" bpmnElement="Flow_6">
|
||||
<di:waypoint x="300" y="670"/>
|
||||
<di:waypoint x="300" y="735"/>
|
||||
<di:waypoint x="190" y="735"/>
|
||||
<di:waypoint x="190" y="760"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_7_di" bpmnElement="Flow_7">
|
||||
<di:waypoint x="190" y="810"/>
|
||||
<di:waypoint x="190" y="835"/>
|
||||
<di:waypoint x="130" y="835"/>
|
||||
<di:waypoint x="130" y="930"/>
|
||||
<bpmndi:BPMNLabel>
|
||||
<dc:Bounds x="198" y="814.5" width="30" height="14"/>
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_8_di" bpmnElement="Flow_8">
|
||||
<di:waypoint x="215" y="785"/>
|
||||
<di:waypoint x="240" y="785"/>
|
||||
<di:waypoint x="240" y="930"/>
|
||||
<di:waypoint x="300" y="930"/>
|
||||
<bpmndi:BPMNLabel>
|
||||
<dc:Bounds x="212.5" y="765" width="30" height="14"/>
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_9_di" bpmnElement="Flow_9">
|
||||
<di:waypoint x="130" y="1010"/>
|
||||
<di:waypoint x="130" y="1055"/>
|
||||
<di:waypoint x="198.333" y="1055"/>
|
||||
<di:waypoint x="198.333" y="1100"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_10_di" bpmnElement="Flow_10">
|
||||
<di:waypoint x="300" y="1010"/>
|
||||
<di:waypoint x="300" y="1055"/>
|
||||
<di:waypoint x="231.667" y="1055"/>
|
||||
<di:waypoint x="231.667" y="1100"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_11_di" bpmnElement="Flow_11">
|
||||
<di:waypoint x="215" y="1180"/>
|
||||
<di:waypoint x="215" y="1225"/>
|
||||
<di:waypoint x="183" y="1225"/>
|
||||
<di:waypoint x="183" y="1270"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
</bpmndi:BPMNPlane>
|
||||
</bpmndi:BPMNDiagram>
|
||||
</bpmn:definitions>
|
||||
@@ -0,0 +1,19 @@
|
||||
# Syntaxbeispiel ohne Lanes – fachlich nicht geprüft, nur zur Veranschaulichung der Markdown-Syntax.
|
||||
Prozess: Antrag prüfen (Beispiel)
|
||||
|
||||
S1 Start Nachricht: Antrag geht ein
|
||||
S2 Task: Antrag erfassen
|
||||
S3 Gateway XOR: Antrag vollständig?
|
||||
Ja -> S5
|
||||
Nein -> S4
|
||||
S4 Sendeaufgabe: Unterlagen nachfordern
|
||||
-> S2
|
||||
S5 Task: Antrag fachlich prüfen
|
||||
S6 Gateway XOR: Antrag begründet?
|
||||
Ja -> S7
|
||||
Nein -> S8
|
||||
S7 Task: Bewilligung vorbereiten
|
||||
-> S9
|
||||
S8 Task: Ablehnung vorbereiten
|
||||
S9 Sendeaufgabe: Bescheid versenden
|
||||
S10 Ende: Antrag entschieden
|
||||
Reference in New Issue
Block a user