Přeskočit obsah
    Axiom AAF: Neztratit během vývoje hodnotu užitku systému očekávanou zákazníkem.

BPMN AAF Lite Syntaxe

Úvod

BPMN AAF Lite Syntaxe je zjednodušený způsob zápisu procesních diagramů používaný v AAF.
Je určena pro ilustraci Chodu procesu, nikoli jako primární zdroj významu — tím jsou v AAF vždy textové prvky HLA.

Lite Syntaxe přebírá z BPMN 2.0 pouze základní typy prvků a jejich intuitivní význam.
Neusiluje o plnou kompatibilitu se standardem.
Preferuje účel modelování, srozumitelnost a jednoznačnost pro AI.

Přebírá z BPMN koncept „tokenu děje" neboli představy „kuličky valící se podle pravidel řízení toku" v diagramu.

Kapitola definuje všechny prvky Lite Syntaxe: Activity, Eventy, Gatewaye a Sequence Flow.

Activity

Activity je prvek vyjadřující jednotku děje.
V diagramu reprezentuje buď Atomický proces, nebo Složený proces (viz Prvky HLA).

Activity musí splňovat pravidlo „rovnováha před – rovnováha po":
token děje („kulička") vstoupí, projde dějem a na konci Activity čeká na událost, která určí další tok.

U Složených procesů se token řídí vnitřní strukturou procesu: větví se, slučuje, čeká na události a opět se vynoří na výstupu.

Rozlišující znaky

  • Reprezentuje Proces (Atomický nebo Složený).
  • Token jím protéká.
  • Na konci Activity se čeká na událost pro pokračování toku.

Skládání procesů v diagramech AAF

Skládání procesů v AAF má dvě roviny:

  • textovou (HLA prvky — zdroj pravdy),
  • diagramovou (BPMN AAF Lite Syntaxe — vizualizace).

Diagramová syntaxe pouze zobrazuje strukturu procesu, která je určena v textové rovině.
AAF Lite Syntaxe podporuje dva způsoby znázornění složených procesů:

Vložení do plochy (BPMN 2.0 styl)

Složený proces (Activity) obsahuje svůj vnořený diagram uvnitř obdélníku.
Token se „vnoří" dovnitř a po dokončení se „vynoří" ven.

Výhoda: intuitivní a známé.
Nevýhoda: u větších procesů rychle vzniká nepřehledná struktura.

Kompozice (UML notace z CLass Diagramu)

AAF zavádí alternativní způsob znázornění hierarchie procesů pomocí kompozice převzaté z notace Class Diagramu.

  • nadřazený proces je propojen s podprocesem černým kosočtvercem u nadřazeného prvku,
  • podprocesy jsou zobrazeny samostatně,
  • diagram zůstává plochý a hierarchie je čitelná jako strom.

Tím se říká: „Tato Activity obsahuje podproces definovaný jinde.“

Kompozice je vhodná pro větší procesy a hlubší stromy, kde by vnoření do plochy bylo nepřehledné.

Textový strom jako primární struktura

Textový strom je primární významová struktura (viz Prvky HLA).
Diagram ji pouze vizuálně doplňuje, pokud je třeba.
Obě roviny — textová i vizuální — musí být v souladu.

V AAF se může vizualizace rozkladu stromu pro vývojářské účely vynechat, protože nosný jediný zdroj pravdy je text z Prvků HLA. Mnohdy se ale tvoří pro přehledné znázornění při předávání výsledků v týmu (prezentace) a velmi často na požadavek obchodního oddělení.

Eventy

AAF Lite Syntaxe používá omezenou sadu eventů.
Eventy určují vznik, vynoření, ukončení nebo zabití toku.

Omezení: Do Start eventů nesmí téct Sequence Flow a ze End Eventů nesmí téct Sequence Flow.

Start Event (bez typu, type=None)

Událost, která spouští děj Activity. Název odpovídá jevu, který spouští děj. Token zde vzniká (absolutní začátek) nebo se vynoří při vstupu do Složeného procesu.

Start Event (type="Timer")

Spouští proces časovou událostí.
Token vzniká v okamžiku uplynutí času, název odpovídá časové události (např. „vypršel timeout", „denní zpracování").

End Event (bez typu, type="End")

Ukončuje větev procesu, ale ne celý proces.
Token nezaniká — pouze se vnoří do další Activity přes Flow.

End Event (typ="Terminate")

Ukončuje celý proces.
Token je „zabit" a nikde dál nepokračuje.

Intermediate Event (v AAF řešen přes Data‑based Gateway)

Standard BPMN používá Intermediate Eventy a Event‑based Gateway.
AAF Lite Syntaxe to zjednodušuje:

  • událost se nezavádí jako prvek ve větvi,
  • místo toho se její název uvede jako condition expression u Flow,
  • rozhodování se provádí přes Data‑based Gateway.

Příklad:
Místo dvou Intermediate Eventů „Platba došla" a „Vypršel timeout" se použijí dvě větve s podmínkami uvedenými v condition expression:

  • event == "Platba došla"
  • event == "Timeout"

Rozlišující znaky

  • Start/End určují vznik a zánik toku.
  • Intermediate Event je nahrazen datovou podmínkou u Flow.

Gateway

Gateway je prvek řízení toku.
Rozhoduje, kolik větví se aktivuje, na kolik větví se čeká a jak se proces synchronizuje.

AAF Lite Syntaxe používá z BPMN 2.0 čtyři typy: Exclusive, Inclusive, Parallel a Complex.
Liší se chováním tokenu při průchodu.

Notace. Všechny Gatewaye se v AAF Lite Syntaxi kreslí jako Data‑based variantou z BPMN 2.0 (prázdný kosočtverec s typovým obrazcem uvnitř).
Event‑based varianta Gateway z BPMN 2.0 (kosočtverec s pětiúhelníkem uvnitř) se v Lite Syntaxi nepoužívá.

Event‑based sémantika zůstává — realizuje se přes condition expression na výstupním Flow, kde se uvede název události (např. event == "Platba došla").

Exclusive Gateway

Podmínky na výstupních Flow jsou exkluzivní — token si vybere právě jednu větev.
Musí existovat větev, jejíž podmínka platí (žádný blok).

Inclusive Gateway

Podmínky se mohou překrývat.
Token se může rozmnožit podle toho, kolik podmínek platí (jedna, několik), ale nemusí.
Příklad: „vyřízení zásilky (standard pojištění)" a „vyřízení extra pojištění" — obě podmínky platí, token se rozmnoží do obou větví.

Parallel Gateway

Token se rozmnoží — pro každou výstupní větev vznikne jedna kulička.
Větve běží současně. Join čeká na všechny vstupy.

Complex Gateway

Token sleduje podmínku nad celou množinou větví (nikoli podmínku jedné větve).
Příklad: „pro pokračování děje postačují dva vstupy ze tří."

Rozlišující znaky

  • Exclusive: token vybere právě jednu větev podle exkluzivních podmínek.
  • Inclusive: token se může rozmnožit podle překrývajících se podmínek.
  • Parallel: token se rozmnoží do všech větví, bez podmínek.
  • Complex: token sleduje nadřazenou podmínku nad větvemi.
  • Notace všech Gatewayí je v AAF Lite vždy Data‑based; Event‑based sémantika je v condition expression na Flow.

Sequence Flow

Sequence Flow je tok mezi prvky.
Reprezentuje směr, kterým se token děje pohybuje.

Flow může mít:

  • bezpodmínečný tok (prostý přechod),
  • podmíněný tok (condition expression jako boolean výraz),
  • podmínku obsahující název události (např. event == "X") - zjednodušení proti standardní syntaxi BPMN 2.0

Flow je vždy jednosměrné.

Rozlišující znaky

  • Nese token mezi prvky.
  • Může obsahovat condition expression.
  • condition expression smí být boolean výraz nebo název události.
  • Je vždy jednosměrné.

Nejčastější chyby

  • Snaha modelovat BPMN 2.0 přesně — Lite Syntaxe je zjednodušená.
  • Zaměnění Exclusive a Inclusive gatewaye.
  • Použití Parallel‑Join tam, kde větve nejsou skutečně paralelní.
  • Zavádění Intermediate Eventů jako samostatných prvků (v AAF se nepoužívají).
  • Podmínky, které se překrývají nebo nejsou deterministické.

Vazby

  • Gatewaye mají parametrickou sémantiku popsanou ve vzoru BPMN Gateway (Pattern).
  • Activity odpovídá prvkům Atomický proces a Složený proces v HLA.
  • Lite Syntaxe je vizuální doplněk k textovým prvkům HLA.

Verze a změny

  • 1.0 — kompletní návrh kapitoly podle AAF Lite Syntaxe.