PROCMINERIN TIETOMALLI

Miika Nurminen, 8.8.2006, linkkejä päivitetty 16.11.2020.

Yleistä

ProcMinerin tietomalli on suunniteltu puoliformaaliin prosessien kuvaukseen. Prosessien mallinnus voidaan tehdä monella eri tarkkuustasolla ja eri prosesseissa olevia yhteisiä piirteitä voidaan hyödyntää. Tietomalli on suunniteltu yhteensopivaksi muiden kuvauskielten kanssa. Promi-projektissa mallinnetut Excel-muotoiset kuvaukset sekä Kaari- ja Inforysä-projekteissa tehdyt Visio-muotoiset kuvaukset voidaan ladata mallin osaksi. Mallin oma syöteformaatti on XML-pohjainen ProcessML-kieli. Malli voidaan tallentaa ProcessML-XML:nä tai serialisoidussa Java-binaariformaatissa.

Jokaiseen mallinnuselementtiin voi liittyä nimi, pidempi vapaamuotoinen kuvaus sekä URL-osoite.

Yksinkertaistettu kuva tietomallista sijaitsee osoitteessa https://www.mit.jyu.fi/prolaatu/dtd/endUserModel.pdf. Täsmällisempi UML-luokkakaavio on osoitteessa https://www.mit.jyu.fi/prolaatu/dtd/processModel.pdf.

Mallitietokanta

Mallitietokanta sisältää prosessien yhteiset tiedot, joihin voitata viitata prosessien yleisistä tiedoista tai prosessiaskelista.

Informaatioyksikkö on lomake, dokumenttityyppi tai jonkin kriteerin mukaan ryhmitelty joukko dokumentteja. Informaatioyksiköt muodostavat dokumenttiryhmien mukaisen hierarkian. Informaatioyksiköllä on vastuullinen omistaja, joka on jokin rooli.

Rooli on organisaatio, virkanimike tai jonkin kriteerin mukaan ryhmitelty joukko rooleja (huom. yksittäiset henkilöt eivät kelpaa rooleiksi). Roolit muodostavat hierarkian.

Tietojärjestelmä on organisaation laajuisesti käytössä oleva tietokanta, sovellus tai muu tietojärjestelmä. Tietojärjestelmällä on vastuullinen omistaja, joka on jokin rooli.

Prosessien ylärakenne

Prosessi kuvaa organisaatiossa yleisesti käytössä olevan toimintosarjan yleiset vaatimukset, jonka yksityiskohdat voivat vaihdella eri yksiköissä. Prosessi kokoaa myös yhteen hallinnollisesti samaan alaan kuuluvia käytäntöjä. Prosessilla on seuraavat yleiset ominaisuudet:

Prosessi-instanssi on prosessissa määritellyn toimintosarjan toteutus, määritys prosessien ryhmittelystä (prosessialue) tai jonkin toisen prosessi-instanssin osa, jolla ei ole itsenäisiä prosessin yleisiä piirteitä (aliprosessi). Prosessi-instanssi liittyy aina johonkin prosessiin. Lisäksi prosessi-instanssilla on seuraavat tarkentavat ominaisuudet:

Prosessi-instanssit muodostavat verkoston. Minkä tahansa prosessi-instanssin aktiviteetista voi olla linkki toiseen prosessi-instanssiin, jolloin jälkimmäinen toimii edellisen aliprosessina. Lisäksi mitkä tahansa eri prosessien päätepisteet voidaan yhdistää prosessien välisillä linkeillä. Prosessi-instanssi voi myös sisällyttää toisen samassa prosessissa sijaitsevan prosessi-instanssin tietoja määrättyyn abstraktiotasoon asti ja lisätä syrjäyttämällä uusia prosessiaskelia.

Prosessit numeroidaan raporteissa yliprosesseista aliprosesseihin niin, että järjestettävissä olevat prosessit ovat listan alussa ja loput aakkosjärjestyksessä. Järjestettäessä käydään koko prosessihierarkia läpi ja tutkitaan, onko prosessien välillä peräkkäisyyttä jonkin yliprosessin suhteen. Peräkkäisyydet lasketaan yhteen ja painotetaan prosessiaskelten etäisyyden mukaan.

Prosessin sisäinen rakenne

Prosessin työnkulku kuvataan solmuista (prosessiaskeleet) ja kaarista (kontrolli- ja tietovirrat) koostuvana graafina, joka edelleen jakautuu monelle eri abstraktiotasolle. Ylemmille abstraktiotasoille merkityt elementit ovat prosessin kulun kannalta keskeisimmät. Tarkennukset ja poikkeukset merkitään alemmille tasoille. Alemmilla tasoilla voidaan merkitä kokonaan uusia elementtejä tai syrjäyttää jokin olemassaoleva elementti uusin tiedoin. Syrjäytetty elementti sisältää oletuksena kaikki samat ominaisuudet kuin alkuperäinen elementtikin, mutta ominaisuuksia voidaan muuttaa (esim. aktorin vaihto) tai lisätä (esim. dokumentin lisäys). Alkuperäiseen elementtiin viittaavien kaarien katsotaan viittaavan myös syrjäytettyyn elementtiin. Jokainen prosessi-instanssin elementti voi sisältää dokumentteja (viittaavat mallitietokannan informaatioyksiköihin), mutta yleensä dokumentit merkitään osaksi tietovirtoja, ei prosessiaskeleita.

Prosessiaskeleissa kuvataan prosessiin kuuluvan toimijan (viittaa mallitietokannan rooliin) suorittama toiminto. Toimija ei välttämättä ole henkilö (esim. tietojärjestelmä voi suorittaa automatisoitua osaa prosessista) tai aktiivinen (esim. prosessiaskeleella voidaan merkitä tiettyä dokumenttia vastaanottava henkilö tai tietojärjestelmä, johon syötetään määrättyä dataa - tällöin puhutaan "osallistuvista" prosessiaskeleista). Prosessiaskelia voivat olla seuraavat elementit:

Kontrolli- ja tietovirrat liittävät prosessiaskelet toisiinsa. Kontrollivirta kuvaa toimintojen peräkkäisyyttä. Tietovirta kuvaa muuta työnkulkuun liittyvää viestintää. Jos kontrollivirta sisältää dokumentteja, se tulkitaan automaattisesti myös tietovirraksi.

Prosessia mallinnettaessa prosessi jaetaan sekvensseihin, jotka ovat peräkkäisiä toimintosarjoja. Sekvenssissä jokaiseen prosessiaskeleeseen saa liittyä enintään yksi tuleva ja lähtevä kontrolli- tai tietovirta samalla abstraktiotasolla. Poikkeuksena ovat ns. yhdistetyt prosessiaskeleet, jotka kuvaavat yhteistyössä tehtävää rinnakkaista toimintaa. Yhdistettyihin prosessiaskeleisiin liittyvien kontrolli- ja tietovirtojen tulee lähteä yhdestä askeleesta ja päättyä toiseen, yksittäiseen askeleeseen.

Sekvenssejä:

A1 -- A2 -- A3

-- A1 -- A2

      /- A2 -\ 
-- A1 -- A3 -- A5 -- A6
      \- A4 -/

A1 -- A2 --

Abstraktiotasojen jaossa noudatetaan seuraavia periaatteita:

Tilanteessa, jossa tiettyä prosessiaskelta (pl. päätös) seuraa useita askelia, toiminnot tulkitaan rinnakaisiksi (esim. edellä mainitut yhdistetyt askeleet). Poikkeuksena ovat päätösaskeleet, jota seuraavat askeleet ovat vaihtoehtoisia. Molemmissa tapauksissa kontrollivuon kulkua voidaan täsmentää merkitsemällä kontrollivirtoihin vapaamuotoisia ehtoja, jotka kuvaavat etenemistä eri tilanteissa.

Prosessiaskeleet numeroidaan raporteissa alkaen ylimmältä abstraktiotasolta niin, että numero kuvastaa suoritusjärjestystä (1.1, 1.2 jne). Jos prosessissa on monta erillistä sekvenssiä, ne järjestetään prosessirakenteen mukaan (tai aakkosjärjestykseen, jos sekvensseillä ei ole aliprosesseja) ja erotellaan päänumerolle (esim. 1.1, 2.1 jne). Päätösaskeleita ei numeroida ja yhdistettyyn askeleeseen kuuluville askeleille annetaan sama numero. Jos prosessiaskeleeseen liittyy uusi askel alemmalla abstraktiotasolla, numeron alussa on alkuperäisen askeleen numero lisättynä aakkosella, jonka jälkeen numerointi jatkuu kuten muilla askelilla (esim. 1.1a.1, 1.1a.2). Jos liittyviä askelia on useita, aakkosta kasvatetaan juoksevasti (1.1b.1, 1.1c.1 jne).