4 Semantik
4.1 Einheitliche Granularität
Die richtige Granularität zu finden kann Arbeit kosten. Jeder Task sollte den Prozess voran bringen. Zusätzlich sollten alle Tasks einer Ebene, z.B. Teilprozesse oder reine Tasks, etwa gleich granular sein.
- Haben alle Tasks im Prozess ungefähr die gleiche Granularität?
- Lassen sich Tasks sinnvoll weiter zusammenfassen?
- Bringt jeder Task den Prozess fachlich wirklich voran?
- Ist der Prozess zu umfangreich? Hat er zu viele Tasks? Kann er in Teilprozesse gegliedert werden?
4.2 Einheitliche Modellierung von Teilprozessen
Man modelliert Teilprozesse meistens im zugeklappten Zustand. Ein Teilprozess besitzt in sich keine weiteren Lanes.
- Sind im Prozess nur Teilprozesse enthalten? Oder Teilprozesse und verhältnismäßig große Tasks? Oder wird die Granularität verletzt?
- Wurde versucht einen Teilprozess über mehrere Lanes hinweg zu legen?
- Der Teilprozess (übergeordnet, zugeklappt) und der Inhalt des Teilprozesses sind eindeutig über mindestens den Namen (ggf. über IDs) miteinander verbunden.
Vorgehen zum Schnitt von Teilprozessen
Am besten modelliert man zunächst alle auf der Task-Ebene. Im Anschluss fasst man Tasks innerhalb einer Lane zu gröberen logischen Einheiten zusammen. Diese Einheiten müssen inhaltlich einen Oberbegriff besitzen, tun sie das nicht bzw. lässt sich partout keiner finden, so ist das ein gutes Indiz dafür, dass sie nicht zusammengehören.
Es ist sinnvoll möglichst wenige Ebenen zu modellieren. Die Notation schreibt hier nichts vor, doch je mehr Ebenen es werden, desto schwerer nachvollziehbar werden Prozesse. Die Notation erlaubt auch Aufrufe über Ebenen hinweg, z.B. von Ebene 2 nach 3, oder gar von Ebene 1 nach 3. Das gilt es zu vermeiden.
- Finden Aufrufe von Teilprozessen über mehrere Ebenen hinweg statt?
- Finden Aufrufe nur streng hierarchisch von oben nach unten statt? Sind Zyklen zwischen den Ebenen ausgeschlossen (Ebene 1 ruft 2 auf, diese ruft 3 auf und diese wieder 1)?
- Sind Randereignisse sparsam und sinnvoll nach ihrer Bedeutung eingesetzt?