V minulej časti článku sme sa oboznámili so základmi Petriho sieti a značkami pre modelovanie biznis procesov. Popísali sme si základnú syntax BPMN a ukázali príklady grafického zobrazenia. V dnešnj časti si popíšeme XPDL štandard a urobíme transformáciu BPMN do Petriho sieti.

4.2. XPDL ( XML Process Definition Language )

XPDL je štandard od Workflow Management Coalition (WfMC) na výmenu WF resp. biznis procesov medzi rôznymi editormi a nástrojmi. XPDL je momentálne najlepší formát na uchovávanie BPMN diagramov. Formát bol špeciálne vyvinutý, aby pokryl všetky aspekty BPMN. XPDL uchováva grafické informácie ako X, Y súradnice elementov, ale aj špecifické aspekty, ktoré sú potrebné pre beh procesu. Tým sa odlišuje XPDL od BPEL, ktorý sa zaoberá exkluzívne iba spustiteľnými aspektmi procesu.

Workflow Management Coalition je združenie, ktoré vzniklo v auguste 1993. Od roku 1998 vyvíjajú formáty pre popis WF modelov založené na XML. V roku 2002 vydali XPDL 1.0. Aktuálna verzia XPDL je XPDL 2.1. z apríla 2008. Táto verzia plne pokrýva štandard BPMN 1.1 a jeho rozšírenia od pôvodného BPMN.
Najdôležitejšie uzly XPDL z hľadiska prekladu sú:

  • <Package/> – obsahuje XMLNS deklaráciu
  • <PackageHeader/> – obsahuje hlavičku dokumentu s informáciami o autorovi, verzii, dátum, popis, dokumentáciu a podobne
  • <MessageFlows /> – popisuje tok správ
  • <Pools/> – popisuje bazény
  • <Lanes /> – popisuje plávacie dráhy
  • <ActivitySets /> – popisuje podprocesy
  • <StartEvent/> – popisuje ZU
  • <EndEvent/> – popisuje KU
  • <IntermediateEvent/> – popisuje priebežnú udalosť
  • <Task/> – popisuje Č
  • <Route /> – popisuje bránu ( vetvenie )
  • <Transition/> – hrany sú vždy doplnené atribútom z/do
  • <NodeGraphicsInfos> – obsahuje grafické informácie o každom uzle

5. Transformácia BPMN do PS

5.1. Návrh pravidiel prekladu

Keďže elementy BPMN a PS nie sú vôbec konzistentné, treba sa zamyslieť nad ich prekladom. Pre niektoré elementy existuje viacero alternatív prekladu, ja sa pokúsim vybrať tie, aby použité analýzy nad PS čo najviac zodpovedali modelom v BPMN. Niektoré elementy vôbec nie je treba prekladať, pri iných sa naopak treba zamyslieť nad ich komplexným prekladom.

V nasleduj[cich obrázkoch bude vrchný zvyčajne BPMN elelement a spodný zvyčajne Element PS.


I. Hrana


Hrana – Prechod – Hrana
Obrázok 14 – Mapovanie hrán

Hrany v BPMN reprezentujú prechod z jedného elementu do druhého. V PS sa v modeli posúvame nie len pomocou hrán, ale hlavne pomocou prechodov. Spustením prechodu sa dostaneme do ďalšieho miesta. PS je vlastne graf, v ktorom medzi každými dvoma miestami spojenými hranami musí byť prechod. Keďže väčšinu BPMN elementov mapujem do PS práve ako miesta, spojenia medzi týmito elementmi musia byť vždy realizované pomocou bloku Hrana – Prechod – Hrana. Takýto prechod je vždy označený ako “FIRE” (angl. = spustiť).


I. Začiatočná udalosť


Miesto
Obrázok 15 – Mapovanie ZU

Začiatočná udalosť sa mapuje do PS ako miesto, pričom sa prenesie aj text “Start Place”, typ udalosti a popisný text.


II. Koncová udalosť


Miesto
Obrázok 16 – Mapovanie KU

Koncová udalosť sa mapuje ako miesto, prenesie sa aj text “End Place”, typ udalosti a popisný text.


III. Priebežná udalosť


Miesto
Obrázok 17 – Mapovanie PU

Priebežná udalosť sa mapuje ako miesto. Prenesie sa aj typ udalosti a textový popis.


IV. Činnosť – Task


Miesto
Obrázok 18 – Mapovanie činnosti

Činnosť sa mapuje ako miesto, pričom sa prenesie aj textový popis.

V. Podproces, Rozbalený podproces ako PS

Keďže podprocesy nie sú ešte v editore na PS plne implementované, budú sa podprocesy prekladať ako rozbalené. BPMN notácia určuje, že podproces má začínať a končiť začiatočnou resp. koncovou udalosťou. Rozbalený podproces v PS bude teda vždy začínať začiatočným miestom a končiť koncovým miestom.


VI. Brána AND – paralelizmus


Prechod
Obrázok 19 – Mapovanie AND

AND sa mapuje ako prechod, spustením prechodu v PS sa token prenesie do všetkých výstupných miest pri vetvení. Pri spájaní je potrebné aby dobehli obe vetvy procesu kým je možné spustiť prechod AND. Technicky je prechod v PS spustiteľný len ak sa vo všetkých miestach smerujúcich do prechodu nachádza aspoň jeden token. To zabezpečuje synchrónny paralelizmus.


VII. Brána XOR


Miesto
Obrázok 20 – Mapovanie XOR

Brána XOR, znamená, že v procese sa ďalej pokračuje práve jednou vetvou. V PS je to možné dosiahnuť tým, že každá vychádzajúca vetva zo XOR vetvenia, resp. každá prichádzajúca vetva do XOR spojenia sa na miesto reprezentujúce XOR pripája vlastným prechodom. V prípade, že bol spustený jeden prechod, ostatné už nie sú spustiteľné. Pre miesto reprezentujúce XOR sa vždy prenesie popis “XOR” a textový popis. Takisto názvy hrán z/do XOR brány sa prenesú do názvov prechodov.

IX. Rozhodnutie na základe udalosti (= Event based XOR), Miesto

Mapuje sa rovnako ako klasický XOR. Je to iba formálne odlíšený XOR, pretože na bránu sa viaže nejaká udalosť (príjem správy a pod.).

X. Brána OR, Miesto – Prechod

Brána OR znamená, že sa môže spustiť každá vetva samostatne, ale aj všetky súčasne. V podstate je to zlúčenie XOR a AND brány. Do PS sa prekladá tak ako XOR v podobe miesta, na toto miesto sa však okrem prechodov pre prichádzajúce a odchádzajúce elementy viaže ešte ďalší prechod. Ten reprezentuje AND a umožňuje spustenie všetkých vetiev súčasne.


Obrázok 21– Mapovanie brány OR

Na hore uvedenom obrázku vidíme OR vetvenie i spojenie. Zelenou sú označené spustiteľné prechody, červenou tie, ktoré nie sú spustiteľné. Keď sa token nachádza v mieste OR vetvenia, zelené (t.j. spustiteľné) sú tri prechody, teda môžeme sa dostať do každej vetvy exkluzívne, ale môžeme spustiť i prechod, ktorým sa dostanem do oboch vetiev. Obdobne je to i pri OR spojení.

Mapovanie výnimiek ( Exceptions Handling )

Notácia BPMN ošetruje výnimky chybovým tokom (=Exceptions flow). Tento tok je pripojený k aktivite – buď činnosti (tasku) alebo podprocesu. Chybový tok pripojený k činnosti alebo podprocesu je reprezentovaný pomocou priebežnej udalosti. Túto udalosť sa už do PS prekladá ako miesto. Keďže, ale v BPMN chýba medzi činnosťou a udalosťou hrana, je v PS potrebné medzi ne vložiť ešte prechod, aby sa v PS dala táto výnimka spustiť. V momente, keď sa proces nachádza v danom mieste, pri splnení stanovených podmienok sa spustí prechod do nasledujúcej činnosti, inak sa spustí udalosť výnimky a pokračuje sa v toku výnimky. Na doleuvedenom obrázku vidíme spustenie toku výnimky pri objavení sa chyby.




Obrázok 22 – Mapovanie výnimky

Mapovanie toku správ (Message flow)

Tok správ sa používa na posielanie správ medzi dvoma účastníkmi procesu. V BPMN reprezentujú účastníkov bazény. Tok správ môže byť buď medzi dvoma bazénmi – pripája sa na okraj bazénu (takýto tok do PS neprenášame) alebo medzi dvoma elementmi z rôznych bazénov. Práve tento tok správ prekladáme i do PS. Tok správ slúži na zobrazenie, ako správy prúdia v rámci procesu. Pre preklad do PS je dôležitejší preklad v prípade, že sa tokom správ proces synchronizuje.

Napríklad pacient čaká na výzvu od lekára, aby mohol vstúpiť do kancelárie. To znamená že pacient sa nepresunie do ďalšieho miesta v procese, kým sa do určitého miesta nedostane iný účastník procesu – doktor. Tento preklad je pre PS dôležitý i z hľadiska ďalších analýz. Synchronizácia v PS sa zabezpečí pomocou základnej vlastnosti spustiteľnosti prechodov. V prípade, že každé miesto, ktoré vchádza do prechodu, neobsahuje aspoň jeden token, prechod nie je spustiteľný. Tok správ môžeme rozdeliť na štyri druhy:

  • Tok správ medzi dvoma činnosťami (A posiela správu B)

Medzi prechod spúšťajúci miesto A a prechod spúšťajúci miesto B sa mapuje ešte jedno miesto reprezentujúce správu. Pokiaľ sa nespustí prechod do činnosti A, prechod do činnosti B nebude spustiteľný.

  • Tok správ koncová udalosť – činnosť (KU posiela správu Č)

Z miesta reprezentujúceho KU vedie hrana do prechodu vchádzajúceho do Č, a teda prechod do Č, nemôže byť spustený kým v mieste KU nie je token t.j. kým sa proces nenachádza v KU. Aby KU mohla posielať správu, musí byť typu “správa” (Message).

  • Tok správ činnosť – začiatočná udalosť (Č posiela správu ZU).

Z prechodu vchádzajúceho do miesta Č vedie hrana do miesta reprezentujúceho ZU. Teda po spustení Č sa token prenesie aj do miesta ZU a tá môže byť spustená. ZU môže v BPMN iba prijímať správy a to len v prípade, že je typu “správa” ( Message).

  • Tok správ koncová udalosť – začiatočná udalosť ( KU posiela správu ZU )

Tento prípad je totožný z prípadom kedy Č posiela správu ZU. Technicky sa realizuje úplne rovnako. Prechod ktorý spúšťa KU je spojený hranou s miestom ZU. Kým sa prechod nespustí v ZU nie je token a nemôže byť spustená.

Tok správ sa vzťahuje takisto aj na podprocesy. Aj keď podprocesy prekladám rozbalené, všetky hore uvedené body platia aj na ne, pretože pri mojej reprezentácii toku správ sa správa vždy v prípade činnosti / podprocesu viaže na prichádzajúci prechod a nie na samotnú činnosť.


Činnosť – Činnosť


Činnosť – Zač. udalosť
Obrázok 23 – Mapovanie toku správ


Kon. udalosť – Činnosť


Kon. udalosť – Zač. udalosť
Obrázok 24 – Mapovanie toku správ II

5.2 Praktická ukážka

Proces – Obstaranie firemného vozidla

Účastníkom tohto procesu je pracovník údržby a obstarávania firemných vozidiel. Po obdržaní správy, že je potrebné vybrať nové vozidlo, je podmienka OR, či ide o auto na firemné účely alebo bude auto používané určitým zamestnancom aj na súkromné účely ako firemný benefit. Podmienka musí byť typu OR, pretože sa môže stať, že auto slúži na oba účely. Vtedy proces naraz postúpi do oboch krokov. V každej vetve sa zohľadňuje iné kritérium.

Pri aute na služobné cesty je kritériom spotreba, pri súkromný účeloch sa berú do úvahy požiadavky zamestnanca, aké auto by si želal. Z OR spojovacej brány sa dajú spustiť vetvy i asynchrónne, čo znamená, že z procesu môžu vyjsť i dve ponuky. Na záver sa zisťuje obstarávacia cena, ktorá nemôže byť vyššia ako 20 000 EUR. V prípade, že je auto vybraté a spĺňa cenový limit, objedná sa služobná jazda a odošle sa informácia kontaktnej osobe.

Tento proces je zaujímavý hlavne použitím OR vetvenia a OR spojenia, ktoré je špecifické pri modelovaní biznis procesov.


Obrázok 25 – Procesný model a PS

6. Záver

V článku bol čitateľovi priblížený prínos a využitie myšlienky automatizovaného prekladu biznis procesov do PS a ich následnej analýzy. Bolo však nutné oboznámiť sa so samotným štandardom PS a BPMN, predstaviť možnosti analýzy, ktoré PS ponúkajú. Štandard EPC, samotnú implementáciu prekladu a jeho začlenenie do toolsetu PS, ktorý sa vyvíja pod vedením doc. RNDr. Gabriela Juhása, PhD. na FEI STU v Bratislave bude predstavený v pokračovaní tohto článku.

7. Zdroje

  1. Savka A., Možnosti prekladu modelov WF do Petriho sietí, Diplomová práca, 2009

Napísať príspevok