04 VSEBINA UPORABNA INFORMATIKA 2020 ŠTEVILKA 4 OKT/NOV/DEC LETNIK XXVIII ISSN 1318-1882 Strokovni prispevki Bor Krizmanic, Aleš Groznik Aktualne dejavnosti, primerne za uporabo veriženja podatkovnih blokov 175 Mitja Gradišnik, Tina Beranic, Sašo Karakatic Z umetno inteligenco podprt razvoj programske opreme 186 Mateja Kocbek Bule Znanjski delavci in notacija CMMN 196 Kratki znanstveni prispevki Amra Omanovic, Polona Oblak, Tomaž Curk Application of tropical semiring for matrix factorizationn 205 Matej Vitek, Peter Rot, Vitomir Štruc, Peter Peer Poglobljen pogled v belocnicno biometrijo: nova podatkovna množica in študija delovanj 209 Vida Groznik Digitalizacija in prilagoditev psihološkega testa za uporabo s sistemom za spremljanje ocesnih gibov 215 Informacije Iz slovarja 224 UPORABNA INFORMATIKA 173 UPORABNA INFORMATIKA 2020 ŠTEVILKA 4 OKT/NOV/DEC LETNIK XXVIII ISSN 1318-1882 Ustanovitelj in izdajatelj Slovensko druptvo INFORMATIKA Litostrojska cesta 54, 1000 Ljubljana Predstavnik Niko Schlamberger Odgovorni urednik Saša Divjak Uredniški odbor Andrej Kovacic, Evelin Krmac, Ivan Rozman, Jan Mendling, Jan von Knop, John Taylor, Jurij Jaklic, Lili Nemec Zlatolas, Marko Hölbl, Mirjana Kljajic Borštnar, Mirko Vintar, Pedro Simőes Coelho, Saša Divjak, Sjaak Brinkkemper, Slavko Žitnik, Tatjana Welzer Družovec, Vesna Bosilj-Vukšic, Vida Groznik, Vladislav Rajkovic Recenzentski odbor Alenka Kavcic, Andrej Brodnik, Andrej Kovacic, Bor Plestenjak, Borut Werber, Borut Žalik, Boštjan Žvanut, Božidar Potocnik, Ciril Bohak, Danijel Skocaj, David Jelenc, Dejan Georgiev, Dejan Lavbic, Denis Trcek, Dobravec Tomaž, Domen Mongus, Eva Krhac, Franc Solina, Gregor Weiss, Igor Kononenko, Janez Demšar, Jurij Jaklic, Jurij Mihelic, Katarina Puc, Lovro Šubelj, Luka Cehovin, Luka Pavlic, Marko Bajec, Marko Hölbl, Marjan Hericko, Marjan Krisper, Martin Vodopivec, Matevž Pesek, Matija Marolt, Mihaela Triglav Cekada, Mirjana Kljajic Borštnar, Mojca Indihar Štemberger, Monika Klun, Peter Trkman, Sandi Gec, Saša Divjak, Slavko Žitnik, Tomaž Erjavec, Uroš Godnov, Uroš Rajkovic, Vida Groznik, Vladislav Rajkovic, Vlado Stankovski, Živa Rant Tehnicni urednik Slavko Žitnik Lektoriranje angleških izvleckov Marvelingua (angl.) Oblikovanje KOFEIN DIZAJN, d. o. o. Prelom in tisk Boex DTP, d. o. o., Ljubljana Naklada 200 izvodov Naslov uredništva Slovensko druptvo INFORMATIKA Uredniptvo revije Uporabna informatika Litostrojska cesta 54, 1000 Ljubljana www.uporabna-informatika.si Revija izhaja Ëetrtletno. Cena posamezne ptevilke je 20,00 EUR. Letna naroËnina za podjetja 85,00 EUR, za vsak nadaljnji izvod 60,00 EUR, za posameznike 35,00 EUR, za ptudente in seniorje 15,00 EUR. V ceno je vkljuËen DDV. Revija Uporabna informatika je od ptevilke 4/VII vkljuËena v mednarodno bazo INSPEC. Revija Uporabna informatika je pod zaporedno ptevilko 666 vpisana v razvid medijev, ki ga vodi Ministrstvo za kulturo RS. Revija Uporabna informatika je vkljuËena v Digitalno knjićnico Slovenije (dLib.si). ź Slovensko druptvo INFORMATIKA Vabilo avtorjem V reviji Uporabna informatika objavljamo kakovostne izvirne Ëlanke domaËih in tujih av-torjev z najpirpega podroËja informatike v poslovanju podjetij, javni upravi in zasebnem ćivljenju na znanstveni, strokovni in informativni ravni; pe posebno spodbujamo objavo interdisciplinarnih Ëlankov. Zato vabimo avtorje, da prispevke, ki ustrezajo omenjenim usmeritvam, popljejo uredniptvu revije po elektronski popti na naslov ui@drustvo--informatika.si. Avtorje prosimo, da pri pripravi prispevka upoptevajo navodila, objavljena v nadaljeva­ nju ter na naslovu http://www.uporabna-informatika.si. Za kakovost prispevkov skrbi mednarodni urednipki odbor. »lanki so anonimno recen­zirani, o objavi pa na podlagi recenzij samostojno odloËa urednipki odbor. Recenzenti lahko zahtevajo, da avtorji besedilo spremenijo v skladu s priporoËili in da popravljeni Ëlanek ponovno prejmejo v pregled. Uredniptvo pa lahko pe pred recenzijo zavrne objavo prispevka, Ëe njegova vsebina ne ustreza vsebinski usmeritvi revije ali Ëe Ëlanek ne ustreza kriterijem za objavo v reviji. Pred objavo Ëlanka mora avtor podpisati izjavo o avtorstvu, s katero potrjuje original-nost Ëlanka in dovoljuje prenos materialnih avtorskih pravic. NenaroËenih prispevkov ne vraËamo in ne honoriramo. Avtorji prejmejo enoletno naroËnino na revijo Uporabna informatika, ki vkljuËuje avtorski izvod revije in pe nadaljnje tri zaporedne ptevilke. S svojim prispevkom v reviji Uporabna informatika boste prispevali k pirjenju znanja na podroËju informatike. Ćelimo si Ëim veË prispevkov z raznoliko in zanimivo tematiko in se jih će vnaprej veselimo. Uredniptvo revije Navodila avtorjem Ëlankov »lanke objavljamo praviloma v slovenpËini, Ëlanke tujih avtorjev pa v anglepËini. Bese­dilo naj bo jezikovno skrbno pripravljeno. PriporoËamo zmernost pri uporabi tujk in ‡ kjer je mogoËe ‡ njihovo zamenjavo s slovenskimi izrazi. V pomoË pri iskanju sloven-skih ustreznic priporoËamo uporabo spletnega terminolopkega slovarja Slovenskega druptva Informatika Islovar (www.islovar.org). Znanstveni Ëlanek naj obsega najveË 40.000 znakov, strokovni Ëlanki do 30.000 zna­ kov, obvestila in poroËila pa do 8.000 znakov. »lanek naj bo praviloma predloćen v urejevalniku besedil Word (*.doc ali *.docx) v enojnem razmaku, brez posebnih znakov ali poudarjenih Ërk. Za loËilom na koncu stav­ka napravite samo en prazen prostor, pri odstavkih ne uporabljajte zamika. Naslovu Ëlanka naj sledi za vsakega avtorja polno ime, ustanova, v kateri je zaposlen, naslov in elektronski naslov. Sledi naj povzetek v slovenpËini v obsegu 8 do 10 vrstic in seznam od 5 do 8 kljuËnih besed, ki najbolje opredeljujejo vsebinski okvir Ëlanka. Pred povzetkom v anglepËini naj bo pe anglepki prevod naslova, prav tako pa naj bodo doda­ne kljuËne besede v anglepËini. Obratno velja v primeru predloćitve Ëlanka v anglepËini. Razdelki naj bodo naslovljeni in optevilËeni z arabskimi ptevilkami. Slike in tabele vkljuËite v besedilo. Opremite jih z naslovom in optevilËite z arabskimi ptevilkami. Vsako sliko in tabelo razloćite tudi v besedilu Ëlanka. »e v Ëlanku uporab­ljate slike ali tabele drugih avtorjev, navedite vir pod sliko oz. tabelo. Revijo tiskamo v Ërno-beli tehniki, zato barvne slike ali fotografije kot original niso primerne. Slik zaslonov ne objavljamo, razen Ëe so nujno potrebne za razumevanje besedila. Slike, grafikoni, organizacijske sheme ipd. naj imajo belo podlago. EnaËbe optevilËite v okle­pajih desno od enaËbe. V besedilu se sklicujte na navedeno literaturo skladno s pravili sistema APA navajanja bibliografskih referenc, najpogosteje torej v obliki (Novak & KovaË, 2008, str. 235). Na koncu Ëlanka navedite samo v Ëlanku uporabljeno literaturo in vire v enotnem seznamu po abecednem redu avtorjev, prav tako v skladu s pravili APA. VeË o sistemu APA, katerega uporabo omogoËa tudi urejevalnik besedil Word 2007, najdete na strani http://owl.english.purdue.edu/owl/resource/560/01/. »lanku dodajte kratek ćivljenjepis vsakega avtorja v obsegu do 8 vrstic, v katerem poudarite predvsem strokovne dosećke. StrokoVNI prISpEVkI Aktualne dejavnosti, primerne za uporabo veriženja podatkovnih blokov Bor Krizmanic1, Aleš Groznik1 1Univerza v Ljubljani, Ekonomska fakulteta, Kardeljeva plošcad 17, 1000 Ljubljana, Slovenija bor.krizmanic@ef.uni-lj.si, ales.groznik@ef.uni-lj.si Izvlecek Tehnologija veriženja podatkovnih blokov (angl. Blockchain) se v zadnjih letih omenja v povezavi z uporabo v najrazlicnejših panogah in za zelo raznolike nacine uporabe. Težko je presoditi, katera podrocja so resnicno najbolj primerna za uporabo te tehnologije. V clan-ku smo obdelali osnovne lastnosti, prednosti in slabosti tehnologije veriženja podatkovnih blokov in predstavili štiri, po naši oceni najprimernejša podrocja dejavnosti za uporabo te tehnologije. Potencial za uporabo te tehnologije smo po posameznih podrocjih ocenjevali na podlagi pregleda pravnega, tehnološkega in sociološkega vidika morebitne implementacije ter idej in primerov uporabe. Po našem mnenju so za uporabo najperspektivnejša podrocja: financne in zavarovalniške dejavnosti, dejavnost prometa in skladišce­nja, trgovina, vzdrževanje in popravila motornih vozil ter kot zadnje, informacijske in komunikacijske dejavnosti. Kljucne besede: dokaz o deležu, dokaz o delu, kriptovalute, tehnologija razpršene evidence, tehnologija veriženja podatkovnih blokov Abstract In recent years, the use of a blockchain technology has been discussed in connection with a variety of industries and different appli­cations. It is difficult to judge which areas are best suited for the use of this technology. In this article we have described the basic characteristics, advantages and disadvantages of blockchain technology and presented four economic sectors which we believe are most suitable for the use of this technology. For each sector, we evaluated the potential for the use of this technology based on a review of the legal, technological and sociological aspects of possible implementation, ideas and applications. In our view, the most promising areas of application are financial and insurance activities; transporting and storage; wholesale and retail; repair of motor vehicles and motorcycles; information and communication services. Keywords: proof of work, proof of stake, cryptocurrency, distributed ledger technology, blockchain. 1 UVOD Tehnologija veriženja podatkovnih blokov je vse od njenega pojava v letu 2008, s prvo zasnovo platforme Bitcoin za namen delovanja istoimenske kriptova-lute, deležna velike pozornosti tako laicne, kot tudi strokovne javnosti. Ceprav je pozornost v zadnjem letu, po obcutnem padcu vrednoti vecine kriptovalut generalno upadla, pa se še vedno namenja veliko po­zornosti uporabi tehnologije veriženja podatkovnih blokov v namene, ki niso povezani s kriptovalutami. Cilj tega clanka je definirati tiste dejavnosti, ki so naj­perspektivnejše za uporabo te tehnologije. Ker je iz objavljene strokovne literature razvidno, da se pred­videva uporaba te tehnologije v skoraj vseh dejavno­stih, je zato namen tega clanka trezno in preudarno preuciti, katere dejavnosti so primerne za uporabo in katere ne. V luci tega je v tem clanku podan kraj­ši pregled najprimernejših dejavnosti za uporabo te tehnologije, opredeli pa se tudi tistih, ki morda niso najbolj primerne, a so vendarle deležne velikega za­nimanja javnosti. S tehnologijo veriženja podatkovnih blokov so se do sedaj ukvarjali in jo tudi sooblikovali številni po­membni avtorji s tega podrocja. Tako je to tehnologi­jo prvi zasnoval in opisal skrivnostni snovalec Bitco­ina pod psevdonimom Satoshi Nakamoto. Pred njim se je s podobnimi koncepti ukvarjal in o njih pisal ameriški pravnik in racunalniški znanstvenik Nick Bor Krizmanic, Aleš Groznik: Aktualne dejavnosti, primerne za uporabo veriženja podatkovnih blokov Szabo, ki je tudi zasnoval, v vec pogledih predhodni­ka Bitcoina, digitalno valuto Bit Gold1. Po uveljavitvi Bitcoina in z zacetki širšega zanimanja za tehnologi­jo, ki ga omogoca, sta postala vplivna avtorja še Alex in Don Tapscott. 2 RAZLAGA POJMOV Tehnologija veriženja podatkovnih blokov (angl. Blockchain) lahko opišemo kot tehnicni protokol, ki omogoca izmenjavo podatkov in vzpostavitev zaupanja brez potrebe po centralnih posrednikih (Seffinga, Lyons & Bachmann, 2017, str. 7). Informa­cije se shranjujejo v verigo podatkovnih blokov, ki vsebujejo niz transakcij oz. podatkov, ki so nastali v casu od nastanka predhodnega bloka. V osnovni za­snovi tehnologije veriženja podatkovnih blokov se za izdelavo blokov uporablja t. i. protokol dokaza o delu (angl. proof-of-work), pri katerem vozlišca (tj. udeleženci omrežja), imenovana rudarji, uporablja­jo t. i. zgošcevalno funkcijo (angl. hash function) z namenom iskanja pravilne zgošcene vernosti (angl. hash). Zgošcevalna funkcija šifrira vhodne podatke poljubne dolžine v standardno število znakov (šte­vilk in crk). Ko rudarji najdejo zgošceno vrednost, ki ustreza zahtevam, izdelajo nov blok. Vsak blok vsebuje to zgošceno vrednost vseh transakciji oz. podatkov, ki so nastali v dolocenem obdobju, spre­menljivko imenovano nonce in zgošceno vrednost predhodnega bloka. Vsak nov blok se javno objavi, nato pa ostala vozlišca pregledajo ali je bil blok izde­lan pravilno in ga potrdijo s konsenzom vecine voz­lišc. Vsak novi blok se sklicuje na zgošceno vrednost predhodnega bloka in tako tvori verigo. Vsak zapis je preko podatkovnih blokov dodan nespremenlji-vi verigi in deljen vsem vozlišcem omrežja (Naka­moto, 2008, str. 1–3). Ce bi želel nekdo spremeniti katerikoli zapis, ki je bil že zgošcen v blok v verigi, bi moral na novo izracunati zgošceno vrednost tega in vseh drugih blokov v verigi. To bi bilo racunsko izjemno zahtevno in v vecjem omrežju z velikim šte­vilom zapisov domala nemogoce. Protokol omogo-ca dostop in preverjanje vseh zapisov, vse od prvega zapisa na verigi dalje. Ta tehnologija tako omogoca nespremenljiv, deljen, pregleden in preverljiv zapis vseh zapisov (Reyna, Martín, Chen, Soler & Díaz, 2018, str. 174). 1 http://unenumerated.blogspot.com/2005/12/bit-gold.html (zadnji obisk 25.8.2020) Kot alternativo dosedanjemu protokolu dokaza o delu poizkušajo številni projekti razviti prakticno uporaben in delujoc protokol dokaza o deležu (angl. proof-of-stake), pri katerem ne izdelujejo novih blo­kov vsa vozlišca v omrežju naenkrat, temvec se iz nabora potrjevalcev po izbranem kljucu izmenjuje­jo vozlišca, ki izdelajo in potrdijo nov blok. S tem se zmanjša racunska in energetska zahtevnost izdelave novega bloka (Ethereum Foundation, 2020). Pogoste­je omenjena alternativa dokaza o delu je tudi proto­kol dokaza o avtoriteti (angl. proof-of-authority), pri katerem nove bloke potrjujejo le v naprej preverjeni in potrjeni uporabniki (imenovani tudi potrjevalci). Ker se sistem zanaša na ugled uporabnika, se mu lahko ob neprimernem delovanju tudi odvzame pravice za potrjevanje. Dokazu o deležu, z nekaj podobnostmi dokaza o avtoriteti, je precej podoben tudi delegiranemu dokazu o deležu (angl. delegated proof-of-stake), kjer se glede na lastništvo kovancev razporedijo glasovalne pravice potrjenih uporabniku o tem kdo bo izdelal nov blok (Ramuta, 2018). Dokaz o kapaciteti (angl. proof-of-capacity) ali tudi dokaz o prostoru (angl. proof-of-space) je zelo podoben kon­ceptu dokaza o delu, le da mora v tem primeru vo­zlišce namesto racunske moci vložiti veliko prostora na trdem disku. Ta koncept naj bi bil predvsem manj energetsko potrošen in zato bolj prijazen okolju kot dokaz o delu (Hayes, 2020). Sledi še protokol, ki bi ga lahko prevedli kot dokaz o izgorevanju ali kurjenju (angl. proof-of-burn) kjer morajo vozlišca za potrje­vanje žrtvovati kovance, proporcionalno s kolicino porabljenih kovancev pa pridobijo pravice za izde­lavo novega bloka. Kurjenje se tehnicno izvede tako, da se kovance nakaže na poseben naslov, ki kovance le sprejema, ne pa tudi vraca. Tako postanejo pokur­jeni kovanci za vedno nedostopni (Karantias, Kiayias & Zindros, 2020, str. 523-524). Omrežja veriženja podatkovnih blokov se delijo tudi po tem, kakšne so omejitve za dostop do omrež­ja. Najbolj pogost in sprva tudi edini tip omrežja je javna veriga podatkovnih blokov (angl. public block-chain), ki dopušca, da se omrežju lahko pridruži kdorkoli iz svetovnega spleta, brez potrebne pred­hodne prošnje in odobritve za pristop k omrežju, ter brez kakršnega koli preverjanja pristnosti identitete. Najpomembnejši primer takšnega tipa omrežja je seveda Bitcoin. Ker se lahko omrežju pridruži kdor­koli in ga lahko tudi kadarkoli zapusti, so tovrstna omrežja naceloma zasnovana tako, da ne racunajo na Bor Krizmanic, Aleš Groznik: Aktualne dejavnosti, primerne za uporabo veriženja podatkovnih blokov samovoljno pripravljenost udeležencev za vzdrže­vanje omrežja, temvec udeležbo pri tem nagrajuje s spodbudami za ohranjanje omrežja. Tako na primer v primeru protokola dokaza o delu, sistem nagrajuje rudarje za njihov doprinos k delovanju omrežja (Lai & Lee Kuo Chuen, 2018, str. 153). Obstaja pa tudi tip zasebne verige podatkovnih blokov (angl. private blockchain), ki za prikljucitev omrežju zahteva predhodno preverjanje pristnosti identitete in odobritev dostopa (Lai & Lee Kuo Chu-en, 2018, str. 153–154). Tovrstna omrežjapredposta­vljajo, da so vsi udeleženci znani ter imajo pravico in motivacijo za udeležbo, zato ni nujno potrebno ustvarjati notranje spodbude kot pri javni blokovni verigi (Lai & Lee Kuo Chu en, 2018, str. 154). Meha­nizmi nadzora dostopa se razlikujejo. Tako lahko o novih udeležencih odlocajo obstojeci udeleženci ali pa nekakšen regulatorni organ, neke vrste admini­strator omrežja, ki izdaja dovoljenja za sodelovanje (Jayachandran, 2017). Poleg osnovne delitve na javne in zasebne verige podatkovnih blokov obstajajo tako še druge, vmesne delitve. Med njimi se najveckrat omenja t. i. konzorcij, kjer je protokol konsenza nad­zorovan s strani vnaprej izbranih, preverjenih voz­lišc, ki potrjujejo nove bloke. Kdo lahko bere te bloke, se lahko omejuje, ali pa tudi ne. Ena od vmesnih reši­tev je tudi delno zasebna veriga podatkovnih blokov, kjer eno podjetje ali organizacija dodeljuje dostop uporabnikom, ki izpolnjujejo pogoje zanj. Vse te raz­licne oblike omejenega dostopa se naceloma upora­bljajo pri uporabi tehnologije veriženja podatkovnih blokov med podjetji (Dobson, 2018). Pomemben koncept v tehnologiji veriženja podat­kovnih blokov so tudi t. i. pametne pogodbe (angl. smart contract). V pravnem smislu ne gre nujno za pravo pogodbo temvec gre za racunalniško kodo, ki je vgrajena v verigo podatkovnih blokov in je posle-dicno na enak nacin, kot to velja za samo verigo, tudi sama nespremenljiva (Reed, Sathyanarayan, Ruan & Collins, 2018, str. 161). S tem se lahko brez udeležbe zaupanja vredne tretje stranke omogoca izvrševa­nje sporazumov med strankami, ki si med seboj ne zaupajo (Alharby & Moorsel, 2017). Za integracijo pametnih pogodb v tehnologijo veriženja podatkov­nih blokov so se oblikovale številne nove platforme, med katerimi je najpomembnejša platforma Ethe­reum2, ki za pisanje pametnih pogodb uporablja za https://ethereum.org/ (zadnji obisk 20.8.2020) to razvit programski jezik Solidity(Lai & Lee Kuo Chuen, 2018, str. 172-173). Za samo izvedbo pogod­benih klavzul je potreben nek sprožilec oz. signal, zato pametne pogodbe potrebujejo verodostojen do-stop do podatkov o stanjih in dogodkih v realnem svetu. Te vire podatkov imenujejo t. i. preroki (angl. oracles), ki so kljucni za uspešno integracijo pame­tnih pogodb v realnem svetu. Tako ima na primer, platforma Ethereum že nekaj varnih virov, ki crpajo podatke iz zaupanja vrednih spletnih mest, vendar ti viri jamcijo tocnost podatkov zgolj na podlagi ugle­da upravljavcev teh spletnih mest (Zhang, Cecchetti, Croman, Juels & Shi, 2016, str. 270). Decentralizirane aplikacije (angl. decentralized application) ali pogosto imenovane DApps so na aplikacije, ki tecejo na decentraliziranem omrežju tipa »vsak z vsakim«. Omrežja tehnologija veriže­nja podatkovnih blokov, kot je na primer Ethereum, predstavljajo zelo primeren porazdeljen sistem za njihovo delovanje. To pomeni, da takšne aplikacije nimajo kakšnega centralnega strežnika, kar bi lahko ob nedelovanju povzrocilo nedelovanje celotne apli­kacije (Bambara, Allen, 2018, str. 233-234). 3 PREDNOSTI IN SLABOSTI TEHNOLOGIJE VERIŽENJA PODATKOVNIH BLOKOV Glavna prednost tehnologije veriženja podatkovnih blokov je zmožnost vzpostavitve zaupanja v decen­traliziranem okolju, brez centralnih posrednikov. Njen protokol rešuje t. i. problem dvojne porabe zno­traj decentraliziranega omrežja tipa »vsak z vsakim« (angl. peer-to-peer). Tako ta tehnologija omogoca vzpostavitev konsenza o eni zgodovini dogodkov in sicer v omrežju z udeleženci, ki se med seboj ne poznajo in si ne zaupajo, in to brez pomoci tretje, za­upanja vredne stranke (Nakamoto, 2008, str. 1–2). Med prednosti te tehnologije lahko štejemo tudi sledljivost in preverljivost. Vse transakcije ali podat­ki se namrec javno objavijo in za vedno zapišejo v vseh glavnih knjigah udeležencev oz. tistih udele­žencev, ki se odlocijo hraniti celotno knjigo. Vse to omogoca, da so vsi zapisi oz. celotna zgodovina v verigi podatkovnih blokov kadarkoli vidni vsem cla­nom omrežja. To poleg sledljivosti in preverljivosti pomeni tudi, da tehnologija veriženja podatkovnih blokov ne omogoca brisanja transakciji ali podat­kov – to zadnje pa predstavlja istocasno tudi oviro za dolocene primere uporabe (Hooper, 2018). To ima v prvi vrsti vpliv na uporabo povsod, kjer so vklju­ Bor Krizmanic, Aleš Groznik: Aktualne dejavnosti, primerne za uporabo veriženja podatkovnih blokov ceni osebni podatki- vec o tem v odstavku glede za­konskih omejitev. Podobno pa velja tudi za lastnost transparentnosti, ki se prav tako pogosto omenja kot prednost. Tako je na primer v omrežju Bitcoin moc videti vse transakcije in kljucne podatke o njih (npr. kolicina prenesenih kovancev, naslove spletnih de­narnic) za celotno zgodovino omrežja. To ima tako pozitivne ucinke na preglednost omrežja kot tudi ovira, za na primer ohranjanja poslovnih skrivnosti (Reyna, Martín, Chen, Soler & Díaz, 2018, str. 176). Na drugi strani pa se tehnologija veriženja po­datkovnih blokov sooca s številnimi ovirami oz. sla­bostmi. Kot prvo gre izpostaviti problem omejene razširljivosti oz. omejene kapacitete omrežja. Veriga podatkovnih blokov z novimi zapisi le raste in se ni­koli ne krajša, saj so, kot že omenjeno, vsi zapisi za vedno vdelani v verigo podatkovnih blokov. Zaradi tega morajo vozlišca v omrežju shranjevati vedno ve-cjo glavno knjigo, kar zahteva vedno vec strojnih in mrežnih virov (Reyna, Martín, Chen, Soler & Díaz, 2018, str. 177). V casu najvecjega zanimanja za krip­tovalute tekom leta 2018 je Bitcoinova veriga podat­kovnih blokov rastla s hitrostjo okoli 50 GB na leto (Bank for International Settlements, 2018, str. 99). Novembra 2019 pa je veriga blokov Bitcoin presegla velikost kar 230 GB (Bitcoin.com, 2019). Za primerja­vo - uveljavljena placilna sistema Mastercard in Visa opravita oba skupaj med 3500 in 2000 transakciji na sekundo (angl. transactions per second- TPS), v ena­kem casu pa omrežje Bitcoin izvede skoraj tisockrat manj transakcij (Bank for International Settlements, 2018, str. 99). Prakticno vsa omrežja verige podat­kovnih blokov na tem podrocju išcejo izboljšave, v skladu s tem pa se je pojavilo nekaj potencialnih rešitev. Že samo omrežje Bitcoin je zasnovano tako, da celotno glavno knjigo hranijo le t. i. polna vozli-šca (angl. full nodes), ki lahko v celoti potrdijo tran­sakcijo. Kapaciteto omrežja se lahko prilagaja tudi s spreminjanjem zahtevnosti izdelave novega bloka in velikostjo nagrade za rudarje, ki vpliva na interes le-teh za izdelavo novih blokov (ConsenSys, 2019). Kot rešitev se predlaga tudi protokol konsenza na principu dokaza o deležu. Prav slednji protokol bo uporabljala tudi nova verzija omrežja Ethereum (Ethereum 2.0) in s tem po napovedih zelo moc­no povecala kapaciteto omrežja (Ethereum, 2020). Omenjajo se še t. i. rešitve izvajale transakcije izven verige (angl. off-chain transactions), kar bi povecalo kapaciteto na racun vecje verjetnosti izgube podat­kov. Ena izmed predlaganih rešitev je tudi zmanjša­nje casovnega zamika pri potrjevanju novih blokov, kar bi skrajšalo cas potovanja transakcij na racun zmanjšane varnosti (Reyna, Martín, Chen, Soler & Díaz, 2018, str. 174–175). Drugo veliko oviro pri širši uporabi tehnologije veriženja podatkovnih blokov v razlicnih dejavno­stih pa predstavljajo zakonske omejitve in negoto­vosti, pri katerih prevladujejo omejitve v povezavi z varstvom osebnih podatkov. Zaradi leta 2016 spre­jete Uredbe Evropskega parlamenta in Sveta o var-stvu posameznikov pri obdelavi osebnih podatkov in o prostem pretoku takih podatkov (Ur. l. EU št. 2016/679) je možnost uporabe te tehnologije za hra­njenje osebnih podatkov mocno vprašljiva. Ker je omrežje tehnologije veriženja podatkovnih blokov decentralizirano, ni mogoce dolociti pooblašcene osebe za varstvo osebnih podatkov in obdelovalca podatkov, kot to zahteva omenjena uredba v prime-ru hranjenja osebnih podatkov. Težko bo tudi doseci omejitev prenašanja osebnih podatkov izven Evrop­ske unije, ki z izjemo nekaj dolocenih držav ni dovo­ljena. Prav tako velik problem predstavlja nacelo, da je vsak posameznik lastnik svojih osebnih podatkov in lahko kadarkoli zahteva izbris le-teh. Glede na to, da tehnologija veriženja podatkovnih blokov vse po­datke deli med vsa vozlišca v omrežju, ki lahko te podatke shranijo, hkrati pa ne omogoca brisanja ce-sarkoli že shranjenega v verigi podatkovnih blokov, se zdi, da osebnih podatkov ne bo moc shranjevati na verigi podatkovnih blokov (Millard, 2018, str. 845). Z zakonodajo pa je omenjena tudi uporaba teh­nologije veriženja podatkovnih blokov za beleženje lastninskih in drugih pravic na sredstvih, ki niso del verige podatkovnih blokov (kot so kriptovalute) in se nahajajo izven le-te. V osnovni zasnovi te tehnolo­gije namrec ni možnosti identifikacije strank v tran­sakcijah (v osnovni zasnovi so anonimizirane) in ni mogoce spreminjati zapisov o pravicah na sredstvih s strani tretje, zaupanja vredne stranke, kot bi bilo to potrebno na primer ob sodni odlocbi o zaplembi premoženja. Sedanja zasnova za vsako transakcijo namrec zahteva soglasje takratnega lastnika (Reed, Sathyanarayan, Ruan & Collins, 2018, str. 170–181). Ker je ta tehnologija dokaj nova in precej drugacna od katerekoli druge, se sodna praksa v povezavi z njo šele oblikuje. To povzroca negotovost glede mo-žnosti njene uporabe (Bacon, Michels, Millard, & Sin­gh, 2018, str. 78 & 106). Bor Krizmanic, Aleš Groznik: Aktualne dejavnosti, primerne za uporabo veriženja podatkovnih blokov 4 PREGLED NAJPERSPEKTIVNEJŠIH GOSPODARSKIH PANOG ZA UPORABO TEHNOLOGIJE VERIŽENJA PODATKOVNIH BLOKOV Pri pripravi tega clanka smo ubrali podobno pot kot Andoni in drugi v njihovem clanku z naslovom Tehnologija veriženja podatkovnih blokov v energet­skem sektorju: Sistematicen pregled izzivov in pri­ložnosti (angl. Blockchain technology in the energy sector: Asystematic review of challenges and oppor­tunities.) (Andoni in drugi, 2019, str. 143–156). Z metodo pregleda literature smo poizkusili združiti znanje iz znanstvenih clankov in drugih virov, kjer se združuje znanje s podrocja te tehnologije (porocila svetovalnih podjetij, blogi, bele knjige projektov itd.). Uvodnemu delu s predstavitvijo osnovnih principov delovanja tehnologije, kljucnih prednosti in slabosti sledi pregled in ocena najperspektivnejših dejavno­sti za uporabo te tehnologije. Do izbranih dejavnosti smo prišli po preucitvi vseh 21. podrocji dejavnosti, definiranih s Standardno klasifikacijo dejavnosti. Za posamezna podrocja smo pregledali osnovne mo-žnosti in doslej predlagane nacine uporabe te teh­nologije, morebitno uporabo pa smo preucil tudi s pravnega, tehnološkega in sociološkega vidika. Gle­de na doslej znane primere uporabe, številcnost po­izkusov ter ob upoštevanju prej navedenih prednosti in slabosti, smo nato ocenili najbolj obetavna podro-cja uporabe. V nadaljevanju povzemamo ugotovitve za štiri podrocja, pri vsakem od podrocji pa je pred­stavljen tudi konkreten primer uporabe oz. poizkusa uporabe te tehnologije. 5 FINANcNE IN zAVAROVALNIšKE DEJAVNOsTI Kot prvo lahko izpostavimo financne in zavarovalni­ške dejavnosti, kamor spadajo med drugim bancne dejavnosti, dejavnosti financnih skladov in holdin-gov (Statisticni urad Republike Slovenije, 2010, str. 237). V literaturi se podrocje financnih dejavnosti omenja kot eno od najperspektivnejših za uporabo tehnologije veriženja podatkovnih blokov (The Eco­nomist, 2015). Prav tako se tu tudi najvec vlaga v razvoj projektov uporabe te tehnologije. Subjekti iz ZDA, ki so povezani z financnimi dejavnostmi, imajo najvec vloženih zahtevkov za pridobitev patenta iz podrocja tehnologije veriženja podatkovnih blokov (Lee, 2018). Zelo veliko zanimanje izkazujejo banke, zagonska podjetja in strokovna javnost za uporabo te tehnologije v procesu mednarodnih denarnih trans-ferjev med bankami. Proces prenosa denarja iz banke v eni državi v tujo banko namrec vecinoma še vedno traja vec dni. Ceprav so nekateri nacionalni in regio­nalni sistemi za poravnavo, kot je na primer Evrop-ski sistem SEPA, precej ucinkoviti, pa mednarodni sistem poravnav temelji na zapleteni mreži klirin­ških organov in korespondencnih bank. V literaturi so prisotna pricakovanja, da bi lahko s tehnologijo veriženja podatkovnih blokov odpravili te probleme (Seffinga, Lyons & Bachmann, 2017, str. 3). Ker je za financne dejavnosti je znacilna visoka stopnja reguliranosti, je pravni vidik eden kljucnih pri ocenjevanju možnosti uporabe te tehnologije in tako ni presenecenje, da ti predpisi postavljajo kar nekaj ovir. Zakon o bancništvu (Ur. l. RS št. 25/15, 44/16 – ZRPPB, 77/16 – ZCKR, 41/17 in 77/18 – ZTFI­ 1) v 125. in 126. clenu definira kot zaupne podatke vse podatke, dejstva in okolišcine o posamezni stranki, s katerimi razpolaga banka, in doloca, da jih je banka dožna varovati. To pomeni, da teh podatkov ni moc objaviti in uporabljati na javni verigi podatkovnih blokov. Pomembna je tudi Direktiva Evropske uni-je št. 2015/849 o preprecevanju uporabe financnega sistema za pranje denarja ali financiranje terorizma. Ena od kljucnih zahtev, ki jih bankam nalaga ta di­rektiva, je izvajanje ukrepov za poznavanje svojih strank (angl. know your customer – KYC), kar vklju-cuje preverjanje istovetnosti strank in oceno tveganja za zlorabo bancnih racunov za nezakonite namene. Zaradi varstva osebnih podatkov bo to na verigi po­datkovnih blokov težko izvajati. Pri informacijskih sistemih na podrocju financnih storitev, še posebej bancništva in zavarovalništva, sta v ospredju zanesljivost in varnost sistemov. Ker se sistemi med seboj povezujejo, jih je zelo težko zame­njati z novejšimi. Tako je na primer zasnova najpo­membnejšega medbancnega mednarodnega sistem Swift3, ki se uporablja pri okoli polovici vseh med-narodnih placilih na svetu, stara že 45 let (Arnold, 2018). Ker tehnologija veriženja podatkovnih blokov predstavlja veliko spremembo in drugacno arhitek­turo glede na sedanje medbancne sisteme, bo klub interesu bank to tehnologijo zelo težko uveljaviti (Larios-Hernández, 2017, str. 870). Zaradi pravnih in tehnicnih ovir bo potrebno razviti rešitve, ki bodo uporabljale drugacno arhitekturo in nacin delova­ 3 https://www.swift.com/our-solutions/global-financial-messaging (zadnji obisk 10.9.2020) Bor Krizmanic, Aleš Groznik: Aktualne dejavnosti, primerne za uporabo veriženja podatkovnih blokov nja, kot je postavljena v osnovni zasnovi delovanja omrežja in tehnologije veriženja podatkovnih blokov. Eden od projektov uporabe te tehnologije na po­drocju medbancnih transakciji je rešitev RippleNet4, razvita s strani ameriškega podjetja Ripple Labs Inc, ki želi vzpostaviti sistem, ki bi omogocal mednaro­dne transakcije med bankami s pomocjo kriptovalute XRP. Ta valuta bi opravljala vlogo nekakšne vmesne valute med dvema klasicnima valutama. Vendar pa je potrebno poudariti, da kljub prevladujocemu pre­pricanju, pri rešitvi RippleNet, strogo gledano ne gre za tehnologijo veriženja podatkovnih blokov temvec gre za tehnologijo razpršene evidence (angl. distri­buted ledger technology – DLT). Ta je sicer podobna in ima nekatere elemente in lastnosti tehnologije ve­riženja podatkovnih blokov, vendar predstavlja šir­ši pojem oz. celoten sklop tehnologij. Pri tehnologiji razpršene evidence se zapisi shranjujejo en za dru­gim v rastoco evidenco in ne v verigo podatkovnih blokov. Vsak zapis pa mora biti potrjen s strani nabo­ra potrjevalcev (Government Office for Science, 2016, str. 16-17). Omrežje RippleNet se tako kar precej raz­likuje od klasicnega omrežja veriženja podatkovnih blokov, saj v omrežju ni rudarjev, transakcije pa se ne zapisujejo v podatkovne bloke, ki bi tvorili verigo. Transakcije preverja in potrjuje omejeno število iz­branih in preverjenih vozlišc, gre za protokol imeno-van Ripple Protocol Consensus Algorithm (RPCA). Transakcije pa se zapisujejo v razpršeno evidenco, kar pomeni, da vozlišca, vsako pri sebi, hranijo ko­pijo enega enotnega seznama transakciji- evidenco (Ripple, 2017, str. 4–16). Ta rešitev je tehnicno manj zahtevna in ni povsem decentralizirana v primerja-vi s tehnologijo veriženja podatkovnih blokov in je zaradi tega lažje izvedljiva in bolj verjetna. Podobne pristope uporabe tehnologije razpršenih evidenc sta ubrala tudi druga vecja poizkusa uporabe tehnolo­gije veriženja podatkovnih blokov v bancništvu. To sta konzorcija bank R3 z rešitvijo Corda in platforma Stellar (Newton, 2018). Najpomembnejša aplikacija podjetje Ripple Labs je xCurrent za izvajanje tran­sakcij med bankami. Ta uporablja poseben sistem za pošiljanje sporocil med bankami, preko katerega se koordinira izmenjavo informacij in denarnih sred­stev, imenovan Interledger Protocol ali ILP. xCurrent v primeru dveh bank iz razlicnih držav, ki uporabita korespondencno banko za usmerjanje placil, preko sistema ILP pridobi podatke o provizijah in izracuna celotne stroške transakcije. Sledi validacija podatkov pred izvedbo same transakcije. Vse tri banke poznajo vse podatke in lahko potrdijo transakcijo vnaprej in tako zagotovijo visoko stopnjo uspešnosti transakcij. Nato sledi koordinacija sredstev med zasebnimi ILPglavnimi knjigami bank (npr. nostro racuni). V vseh treh knjigah aplikacija xCurrent pripravi in zaklene sredstva potrebna za transakcijo. Vse ILPknjige nato generirajo elektronske podpise, ki zagotavljajo, da so sredstva za transakcijo na voljo. Nato se sredstva v vseh treh knjigah socasno sprostijo. Tako napaka pri izvedeni poravnavi ni mogoca, transakcija se izvede v celoti ali pa se v primeru napake v celoti ne izvede (Ripple, 2017, str. 4–16). Na podrocju zavarovalništva bi lahko tehnologijo veriženja podatkovnih blokov s pomocjo pametnih pogodb uporabili tako, da bi te spremljale ali so vsi pogoji za veljavnost zavarovanja izpolnjeni (npr. vse zavarovalniške premije so placane), nato pa bi v pri­meru spremembe stanja predmeta zavarovanja avto­matsko izplacale zavarovalnino. Tu bi bilo kljucno, da so preroki, ki porocajo v stanjih preverjeni, potr­jeni in verodostojni (Tsankov, 2018). Primer poizkusa uporabe tehnologije veriženja podatkovnih blokov in pametnih pogodb je projekt Insuwave5podjetij Ernst and Young in Guardtime, ki sta v sodelova­nju z vec logisticnimi podjetji razvili platformo za poslovna zavarovanja s poudarkom na transportu. Obstajajo tudi ideje, da bi se tehnologijo veriženja po­datkovnih blokov uporabljalo za hitrejše preverjanje novih strank (predvsem za izmenjavo podatkov med razlicnimi zavarovalnicami) ter za preprecevanje za­varovalniških goljufij. To pa naj bi dosegli s pomo-cjo varnega hranjenja in deljenja informacij na verigi podatkovnih blokov (Lorenz in drugi, 2016, str. 3–5). 6 PROmET IN sKLADIšcENJE Med bolj perspektivne za uporabo tehnologije veri­ženja podatkovnih blokov spada tudi podrocje pro-meta in skladišcenja, torej logistike. Na tem podro-cju je bolj zanimiv del povezan z prevozom blaga in zajema poslovanje med podjetji. Procesi v prometu in skladišcenju vkljucujejo vecje število poslovnih partnerjev, ki se med seboj morda ne poznajo, poleg tega mednarodni promet blaga vkljucuje veliko koli-cino administracije. In prav vecje zaupanje in manj­ 4 https://ripple.com/ripplenet (zadnji obisk 10.9.2020) 5 https://insurwave.com/ (zadnji obisk 18.9.2020) Bor Krizmanic, Aleš Groznik: Aktualne dejavnosti, primerne za uporabo veriženja podatkovnih blokov šo stopnjo administracije želijo na to podrocje uvesti projekti uporabe tehnologije veriženja podatkovnih blokov. Mednarodni promet in skladišcenje blaga sta predmet urejanja številnih lokalnih zakonov, predpi­sov in dajatev. Ceprav bi rešitve na podlagi tehno­logije veriženja podatkovnih blokov lahko povecale transparentnost in zmanjšale obseg administracije, pa ne bi bilo mogoce zaobiti vseh uvozno-izvoznih postopkov in dokumentov. Ne gre namrec pricako­vati, da bi države povsem prilagodile zakonodajo tehnologiji veriženja podatkovnih blokov. Zaradi tega bodo morale biti rešitve na podlagi te tehnolo­gije dovolj prilagodljive na vse posebnosti razlicnih trgov (Groenfeldt, 2017). Kljub temu, da so pricakovanja o vplivu tehnolo­gije veriženja podatkovnih blokov na podrocju pro-meta in skladišcenja dokaj velika, pa za sedaj na tem podrocju primanjkuje ekspertnega znanja (Dobrov­nik, Herold, Fürst & Kummer, 2018, str. 1). Anketa iz leta 2017 med 152 strokovnjaki s podrocja logistike je pokazala, da velika vecina pricakuje pozitiven vpliv te tehnologije na podrocje logistike, vendar vecina ne ve natanko, kako bodo do teh sprememb prišli (Hackius & Petersen, 2017, str. 11–12). Rešitve na podlagi te tehnologije za podrocje lo-gistike obljubljajo zmanjšanje števila interakcij med strankami v postopkih, vendar pa bi še vedno vklju-cevale vso sedaj predpisano dokumentacijo. Verjetno najbolj konkreten in najdlje razvit primer uporabe te tehnologije na podrocju logistike je platforma Trade­Lens6, ki je nastala v sodelovanju podjetja Maersk, najvecjega kontejnerskega prevoznika na svetu, in podjetja IBM, ki je eno najbolj aktivnih tehnoloških podjetij na podrocju tehnologije veriženja podatkov­nih blokov (Groenfeldt, 2017). TradeLens je rešitev za celostno digitalizacijo procesa dobave blaga, podprta s tehnologijo Hyperledger Fabric 1.07in racunalni­škim oblakom IBM Cloud8(White, 2018). Platforma Hyperledger, krovni projekt fundacije Linux, je od­prtokoden sistem v prvi vrsti namenjen poslovanju med podjetji. Zaradi velike prilagodljivosti in mo-dularnosti omogoca dobro prilagajanje razlicnim primerom uporabe. Tako se lahko uporabijo razlicne stopnje zasebnosti verige podatkovnih blokov. Po-dobno kot pri Ripplu pa tudi tu ne gre strogo gle­ 6 https://www.tradelens.com/platform (zadnji obisk 19.9.2020) 7 https://www.hyperledger.org/hyperledger-fabric-1-0 (zadnji obisk 19.9.2020) 8 https://www.ibm.com/cloud (zadnji obisk 19.9.2020) dano za tehnologijo veriženja podatkovnih blokov temvec bolj za neko vrsto tehnologije razpršene evi­dence (DLT). Platforma TradeLens pri sledenju in upravljanju posamicnih pošiljk deluje s pomocjo pa-metnih pogodb, ki se v platformi Hyperledger Fabric imenujejo tudi chaincode. Maersk je v letu 2018, ko je testna rešitev zaživela, uspel k projektu privabiti vec kot 100 organizacij, kot so pristanišca, špediter­ji, ladijski prevozniki pa tudi carinski organi (Scott, 2018). V prvem letu testiranja platforme se je na njej zabeležilo kar 154 milijonov dogodkov povezanih z blagovnim prometom (Maersk, 2018). 7 TRGOVINA, VzDRŽEVANJE IN POPRAVILA MOTORNIH VOZIL Trgovina, vzdrževanje in popravila motornih vozil je zelo široko podrocje, ki zajema trgovino na drobno in debelo vseh vrst blaga, v to podrocje pa spadajo tudi vse storitve povezane s prodajo. Tako v to po­drocje spadajo tudi dejavnosti popravila motornih vozil (Statisticni urad Republike Slovenije, 2010, str. 197). Trgovina je zadnji clen v dobavni verigi blaga do koncnega kupca in se tako mocno povezuje s po­drocjem prevoza in skladišcenja. Za uporabo tehno­logije veriženja podatkovnih blokov je zanimivo sle­denje porekla blaga in poti po dobavni verigi. V to podrocje spada tudi trgovanje s hrano in zdravili pri katerih je, zaradi vpliva na zdravje ljudi, še posebej pomembno spremljanje njihovega porekla in poti od proizvodnje do koncnega potrošnika. Kot je bilo na že zacetku nakazano, zapisi na ve­rigi podatkovnih blokov ne predstavljajo pravno ve­ljavnega dokaza o lastništvu nekega sredstva izven verige podatkovnih blokov. Temu primerno se ta tehnologija ne more uporabljati za trgovino samo, temvec jo je možno uporabiti kot platformo za sle­denje zgodovine in stanja nekega sredstva (Reed, Sathyanarayan, Ruan & Collins, 2018, str. 170–181). Zanimiva je uporaba te tehnologije pri prodaji rablje­nih vozil in beleženju stanja vozil tekom njihove ži­vljenjske dobe. Na verigi podatkovnih blokov bi tako lahko shranjevali podatke o zgodovini stanja in vzdr­ževanja vozila (Berryhill, Bourgery & Hanson, 2018, str. 43). V povezavi s preprecevanjem zlorab na tem podrocju in s tem povezanim beleženjem zgodovine vozil velja poudariti, da Zakon o motornih vozilih (Ur. l. RS, št. 75/2017) manipulacijo s kilometrskim števcem prikaza prevožene razdalje vozila, oprede­ljuje kot kaznivo dejanje. Bor Krizmanic, Aleš Groznik: Aktualne dejavnosti, primerne za uporabo veriženja podatkovnih blokov Leta 2016 je bila sprejeta uredba Evropske Ko­misije (2016/161), ki je dolocila podrobna pravila za zašcitne elemente na ovojnini zdravil za uporabo v humani medicini. Uredba od proizvajalcev zdravil zahteva t. i. serializacijo, kar pomeni, da je potreb-no vsaki proizvedeni seriji zdravil dodeliti unikatno šifro in ustrezno oznaciti pakiranje izdelkov (šifra in crtna koda) (Ur. l. EU št. 2016/161). Že pred tem, leta 2013 je bil podoben zakon sprejet tudi v ZDAin sicer Zakon o varnosti oskrbe z zdravili, ki za implemen­tacijo doloca casovni okvir desetih let. Ta pravila naj bi zagotovila, da bi bilo mogoce zelo natancno slediti posameznim farmacevtskim izdelkom po celotni do-bavni poti od proizvodnje do koncnega kupca. To je podrocje, kjer se lahko v prihodnosti uporabi tehno­logija veriženja podatkovnih blokov (Kherrat & Her­nandez, 2018). Kar zadeva tehnicni vidik serializacije zdravil omenjena Evropska direktiva nalaga, da je potrebno podatke o serijah zdravil pošiljati v central-ni sistem regulatornih organov. Med tem ko, se je za tak pristop odlocila tudi Kitajska, pa Ameriška zako­nodaja ne predvideva centraliziranega pristopa, tem­vec naj bi proizvajalci podatke hranili sami. Slednje bi povzrocilo veliko število podatkovnih baz in raz­licnih rešitev, kar pomeni, da je potencial za upora­bo tehnologije veriženja podatkovnih blokov na tem podrocju v ZDAvecji kot v Evropi ali na Kitajskem (Whyte, 2016, str. 10–11). Kot primer poizkusa uporabe tehnologije veriže­nja podatkovnih blokov za preprecevanje goljufij z manipulacijo števca prevoženih kilometrov v vozilih lahko navedemo skupni projekt enega najvecjih pro-izvajalcev avtomobilskih sestavnih delov, nemške­ga podjetja Bosch in univerze ETH Zürich. Rešitev vkljucuje namestitev majhne naprave v vozilo, ki zajema razlicne podatke o stanju vozila in jih naj­prej pošlje v racunalnik ali pametni telefon lastnika avtomobila, kjer se neobdelani podatki šifrirani. Za identifikacijo bi uporabili identifikacijsko številko vozila (angl. vehicle identification number – VIN), vtisnjeno na šasiji vozila. Transakcija se lokalno pod-piše z zasebnim kljucem uporabnika in šele nato se zgošcena vrednost podatkov pošlje preko interneta v verigo podatkovnih blokov, ki temeljijo na platformi Ethereum. Vsi podatki bi bili tako pred prenosom na verigo podatkovnih blokov lokalo šifrirani. Lastnik vozila bi lahko prostovoljno delil zapise o zgodovini prevoženih kilometrov s komurkoli bi želel, sistem pa bi zagotavljal, da se podatki ne morejo spreminja-ti za nazaj (Chanson, Fleisch, Wortmann & Bogner, 2017, str. 2–4). Tudi na podrocju sledenja zdravil se že pojavljajo doloceni projekti, enega izmed njih razvija nemško tehnološko podjetje SAP. Rešitev bi podatke o seri­jalizaciji in sledenju poti zdravil po dobavni verigi shranjevala na verigo podatkovnih blokov zasnova-no na platformi MultiChain9. Ta veriga bi bila zaseb­nega tipa, vozlišca pa bi poleg SAP-a predstavljali tudi proizvajalci zdravil. Z zapisovanjem podatkov na verigo podatkovnih blokov bi se izognili števil­nim razdrobljenim podatkovnim bazam razlicnih proizvajalcev, trgovci in kupci pa bi lahko na verigi preverili pristnost zdravila. Rešitev je za sedaj še v fazi razvoja (Morris, 2018a). 8 INFORMACIJSKE IN KOMUNIKACIJSKE DEJAVNOSTI Podrocje informacijske in komunikacijskih dejavno­sti je precej široko podrocje, ki vkljucuje založništvo (knjig, glasbe, filmov), telekomunikacije, obdelavo podatkov, izdajanje programja (Statisticni urad Re-publike Slovenije, 2010, str. 230–236). Tehnologija veriženja podatkovnih blokov je na tem podrocju najbolj zanimiva za morebitno zapisovanje in nad­ziranje uporabe licenc programske opreme (Felin & Lakhani, 2018, str. 35). Za nadzor in upravljanje z licencami programske opreme nekatera podjetja uporabljajo t. i. orodja za upravljanje s programsko opremo (angl. software as­set management – SAM), ki pa so primarno namenje­na za notranji nadzor in obvladovanje licenc s strani poslovnih uporabnikov. Med tem pa se morebitne rešitve na osnovi tehnologije veriženja podatkovnih blokov bolj osredotocajo na nadzor s strani ponudni­kov programske opreme. Z uporabo te tehnologije bi lahko izboljšali ažurnost informacij o uporabi pro-gramov, ki zaradi posrednikov, kot so velike distri­bucijske platforme, ni najboljša (Morris, 2018b). Zanimiva je rešitev na osnovi tehnologije veriže­nja podatkovnih blokov za upravljanje licenc racu­nalniških igric, ki jo je v sodelovanju s svetovalnim podjetjem Ernst and Young razvilo podjetje Micro­soft (Ernst & Young Global Limited, 2018). Rešitev temelji na verigi podatkovnih blokov Quorum10in Microsoftovi oblacni rešitvi Azure11 (Varshney, 9 https://www.multichain.com/ (zadnji obisk 20.9.2020) 10 https://consensys.net/quorum/ (zadnji obisk 22.9.2020) 11 https://azure.microsoft.com/ (zadnji obisk 22.9.2020) Bor Krizmanic, Aleš Groznik: Aktualne dejavnosti, primerne za uporabo veriženja podatkovnih blokov 2018), ter bi v verigi podatkovnih blokov implemen­tirala pametne pogodbe. S pomocjo te rešitve bi raz­vijalci in založniki racunalniških igric, ki svoje igrice ponujajo na Microsoftovi platformi Xbox Live, imeli v realnem casu vpogled v prodajo njihovih izdelkov. Microsoftovi partnerji sicer dobivajo porocila o pro-daji, a njihova priprava lahko traja dalj casa, tudi do 45 dni ali vec (Ernst & Young Global Limited, 2018). 9 DRUGE POGOSTO OMENJENE DEJAVNOSTI Možnost uporabe tehnologije veriženja podatkovnih blokov se sicer omenja v povezavi z domala vsemi podrocji dejavnosti. Eno izmed najveckrat omenje­nih podrocji je zdravstvo in socialno varstvo. Vendar pa bi bilo zaradi zelo visokih standardov pri varstvu osebnih podatkov na podrocju zdravstva moc tehno­logijo veriženja podatkovnih blokov možno upora­biti le kot varnostno plast za dostop do zdravniških evidenc in ne za shranjevanje zdravstvenih podatkov samih (Zhu, Wu, Gai & Choo, 2019, str. 529). Podobno velja za prav tako pogosto omenjeno podrocje javne uprave, kjer je urejanje javnih evidenc najbolj per-spektivno podrocje (npr. zemljiški register). Vendar pa tudi tu obstajajo podobne zakonske ovire kot pri zdravstvu, hkrati pa ne rešujejo problema netocnih osnovnih, že obstojecih, podatkov (Vos, 2017, str. 23). Uporaba tehnologije veriženja podatkovnih blokov bi bila možna tudi na podrocju iger na sreco, kjer bi lah­ko preko pametnih pogodb in decentraliziranih apli­kacij, t. i. DApps, uporabili omrežje verige podatkov­nih blokov za sklepanje stav neposredno med stavci ali igralniško aplikacijo, ki bi bila posledicno povsem decentralizirana (Gainsbury & Blaszczynski, 2017, str. 483). Ena izmed slednjih je na primer porazdelje­na aplikacija Dice12deluje na omrežju verige podat­kovnih blokov ESO13. Med glavnimi izzivi tovrstne uporabe so ponovno zakonske omejitve, saj zakono­daja na podrocju iger na sreco v vecini držav zahteva implementacijo že omenjenega koncepta poznavanja svoje stranke in ukrepov proti preprecevanju pranja denarja (Gainsbury & Blaszczynski, 2017, str. 485). 10 SKLEP Tehnologija veriženja podatkovnih blokov se precej razlikuje od vseh zdaj uveljavljenih tehnologij in je unikatna v tem, da omogoca vzpostavitev zaupanja 12 https://dice.one/portfolio (zadnji obisk 3.10.2020) 13 https://eos.io/eos-public-blockchain/ (zadnji obisk 3.10.2020) v decentraliziranem okolju med strankami, ki se ne poznajo in si med seboj ne zaupajo. V clanku smo na podlagi raziskovalne metode pregleda literatu­re, izmed vseh 21 podrocij dejavnosti, definiranih v Standardni klasifikaciji dejavnosti, dolocili najbolj obetavne dejavnosti za uporabo te tehnologije. Per-spektivnost panoge za uporabo te tehnologije smo ocenili na podlagi predlogov uporabe v posamezni dejavnosti ter pregledu pravnega, tehnološkega in sociološkega vidika morebitne implementacije te tehnologije na posameznem podrocju. Pri ocenjeva­nju smo upoštevali tudi glavne prednosti in slabosti ter njihovo težo v posamicnih primerih uporabe. V clanku smo podrobneje predstavili le najbolj obetavna podrocja dejavnosti za uporabo tehnologije veriženja podatkovnih blokov. Tako smo izpostavili financne in zavarovalniške dejavnosti, kjer je najbolj perspektiven proces mednarodnih denarnih trans-ferjev. V tem primeru je sicer bolj verjetna uporaba tehnologije razpršenih evidenc kakor strogo defini­rane tehnologije veriženja podatkovnih blokov. Med bolj obetavne smo uvrstili tudi podrocje prometa in skladišcenje, kjer bi se lahko uporabljalo to tehno­logijo za boljšo izmenjavo podatkov pri logisticnih procesih, za zmanjšanje števila stikov med vplete­nimi poslovnimi partnerji in povecanje zaupanja v pravilnost podatkov. Podobno smo ugotovili, da ima potencial tudi podrocje trgovine, vzdrževanja in po­pravila motornih vozil, ki se v delu, ki se nanaša na trgovanje s hrano povezuje tudi s podrocjem kmetij­stva, lova, gozdarstva in ribištva. Na tem podrocju bi ta tehnologija lahko omogocila boljše spremljanje in zanesljivejše hranjenje podatkov o zgodovini bla­ga. Kot panogo, kjer je verjetna uporaba tehnologije veriženja podatkovnih blokov, smo identificirali tudi podrocje informacijskih in komunikacijskih dejavno­sti, kjer bi se lahko ta tehnologija uporabljala za hra­njenje in nadzor licenc programja. Druge dejavnosti izkazujejo manjšo verjetnost za uporabo te tehnologije. Za vecino dejavnosti pred­vsem ne obstaja izkazana dovolj velika potreba po decentraliziranem zaupanju ali pa so ostale omejitve, kjer prednjacijo omejitve pri razširljivosti ter zakon­ske omejitve, prevelike. Ocenjujemo, da je tehnologi­jo veriženja podatkovnih blokov bolj smiselno pove­zovati s specificnimi primeri uporabe in ne toliko s celotnimi podrocji dejavnosti. Za uporabo so najbolj primerne rešitve, kjer ni obdelave osebnih podatkov ali lastniških in drugih pravic na sredstvih, temvec se Bor Krizmanic, Aleš Groznik: Aktualne dejavnosti, primerne za uporabo veriženja podatkovnih blokov tehnologija veriženja podatkovnih blokov uporablja bolj kot dokaz o stanju in zgodovini nekega sredstva. Ker se veliko projektov ukvarja z razvojem tehno­logij razpršenih evidenc, in ne le strogo tehnologije veriženja podatkovnih blokov, menimo, da bi se bilo smiselno posvetiti tudi raziskovanju ostalih razlicic te tehnologije. LITERATURA [1] Alharby, M & Moorsel, A. (2017, avgust). Blockchain-Based Smart Contracts: A Systematic Mapping Study. Pridobljeno 20. decembra 2018 iz https://www.researchgate.net/publica-tion/319603816_Blockchain_Based_Smart_Contracts_A_Sy­stematic_Mapping_Study [2] Allen, M. (2018, 14. december). Switzerland sets legal fo­undations for blockchain industry. Pridobljeno 10. februarja 2019 iz https://www.swissinfo.ch/eng/business/dlt-report_ switzerland-sets-legal-foundations-for-blockchain-indust­ry/44617654 [3] Arnold, M. (2018, 6. junij). Ripple and Swift slug it out over cross-border payments. Pridobljeno 16. decembra 2018 iz https://www.ft.com/content/631af8cc-47cc-11e8-8c77­-ff51caedcde6 [4] Bacon, J., Michels, J. D., Millard, C. & Singh, J. (2018). Block-chain Demystified: A Technical and Legal Introduction to Di­stributed and Centralised Ledgers. Richmond Journal of Law & Technology, 25(1), 1-106. [5] Bambara, J. J. & Allen, P. (2018). Blockchain A Practical Gu­ide to Developing Business, Law, and Technology Solutions. New York City: McGraw-Hill Education [6] Bank for International Settlements. (2018, junij). Annual Eco­nomic June 2018 Report. Pridobljeno 28. decembra 2018 iz https://www.bis.org/publ/arpdf/ar2018e.pdf [7] Berryhill, J., Bourgery, T. & Hanson, A. (2018), Blockchains Unchained: Blockchain Technology and its Use in the Public Sector. OECD Working Papers on Public Governance, 28. [8] Bitcoin.com. (2019). Blockchain Size. Pridobljeno 15. novem-bra 2019 iz https://charts.bitcoin.com/btc/chart/blockchain--size [9] Chanson, M., Fleisch, M., Wortmann, F. & Bogner, A. (2017, avgust). Blockchain as a Privacy Enabler: An Odometer Fraud Prevention System. Pridobljeno 17. novembra 2018 iz http://cocoa.ethz.ch/media/documents/2017/08/None_ UbiComp_2017-Privacy_Poster_final_1.pdf [10] ConsenSys (2019, 10. januar). The Thirdening: What You Need To Know. Pridobljeno 10. avgusta 2020 iz https://me-dia.consensys.net/the-thirdening-what-you-need-to-know­-df96599ad857 [11] Dobrovnik, M., Herold, D. M., Fürst, E. & Kummer, S. (2018, 3. september). Blockchain for and in Logistics: What to Adopt and Where to Start. Logistics 2018, 2(3). [12] Dobson, D. (2018, 13. februar). The 4 Types of Blockcha-in Networks Explained. Pridobljeno 10. septembra 2020 iz https://iltanet.org/blogs/deborah-dobson/2018/02/13/the-4­-types-of-blockchain-networks-explained?ssopc=1 [13] Ernst & Young Limited. (2018, 21. junij). EY and Microsoft launch blockchain solution for content rights and royalties management for media and entertainment industry. Prido­bljeno 15. decembra 2018 iz https://www.ey.com/en_gl/ news/2018/06/ey-and-microsoft-launch-blockchain-soluti-on-for-content-rights [14] Ethereum Foundation (2020, 11. junij). Proof of Stake FAQs. Pridobljeno 25. september 2020 iz https://eth.wiki/en/con­cepts/proof-of-stake-faqs [15] Ethereum Foundation (2020, 28. september). Ethereum 2.0 (Eth2). Pridobljeno 1. oktobra 2020 iz https://ethereum.org/en/eth2/ [16] Felin, T. & Lakhani, K. (2018). What Problems Will You Solve With Blockchain? MIT Sloan Management Review, 60, 32–38. [17] Gainsbury, M. & Blaszczynski, A. (2017, september). How Blockchain and Cryptocurrency Technology Could Revoluti­onize Online Gambling. Gaming Law Review, 21(7), 482–492. [18] Government Office for Science. (2016). Distributed Ledger Technology: Beyond Block Chain. Pridobljeno 1. junija 2018 iz https://assets.publishing.service.gov.uk/government/uplo­ads/system/uploads/attachment_data/file/492972/gs-16­-1-distributed-ledger-technology.pdf [19] Groenfeldt, T. (2017, 5. marec). IBM And Maersk Apply Blockchain To Container Shipping. Pridobljeno 9. novem-bra 2018 iz https://www.forbes.com/sites/tomgroenfe-ldt/2017/03/05/ibm-and-maersk-apply-blockchain-to-con­tainer-shipping/#1329a0c03f05 [20] Hackius, N. & Petersen, M. (2017, oktober). Blockchain in Logistics and Supply Chain: Trick or Treat? Pridobljeno 11. novembra 2018 iz https://tubdok.tub.tuhh.de/bitstre-am/11420/1447/1/petersen_hackius_blockchain_in_scm_ and_logistics_hicl_2017.pdf [21] Hayes, A. (2020, 24. septembra). Proof of Capacity (Cryp-tocurrency). Pridobljeno 7. septembra 2020 iz https://www. investopedia.com/terms/p/proof-capacity-cryptocurren­cy.asp#:~:text=Proof%20of%20capacity%20(PoC)%20 is,mining%20rights%20and%20validate%20transactions [22] Hooper, M. (2018, 22. februar). Top five blockchain benefits transforming your industry. Pridobljeno 26. november 2018 iz https://www.ibm.com/blogs/blockchain/2018/02/top-five­-blockchain-benefits-transforming-your-industry [23] Karantias, K., Kiayias, A., & Zindros, D. (2020, februar). Proof­-of-burn. International Conference on Financial Cryptography and Data Security, 24, 523-540. [24] Kherrat, R. & Hernandez, A. (2018, 24. oktober). Understan­ding the complexities of global serialisation & traceability regulations. Pridobljeno 22. decembra 2018 iz https://www. europeanpharmaceuticalreview.com/webinar/79102/under­standing-the-complexities-of-global-serialisation-traceabili­ty-regulations [25] Lai, R. & Lee Kuo Chuen, D. (2018). Blockchain- From Public to Private. Handbook of Blockchain, Digital Finance, and In­clusion, 2, 145–177. [26] Larios-Hernández, G. J. (2017, november-december). Block-chain entrepreneurship opportunity in the practices of the un-banked. Business Horizons. 60(6), 865–874. [27] Lee, A. (2018, 12. januar). Blockchain patent filings dominated by financial services industry. Pridobljeno 14. novembra 2019 iz http://patentvue.com/2018/01/12/blockchain-patent-filin­gs-dominated-by-financial-services-industry [28] Lorenz, J., Münstermann, B., Higginson, M., Olesen, P. B., Bohlken, N. & Ricciardi, V. (2016, julij). Blockchain in insu­rance –opportunity or threat? Pridobljeno 18. decembra 2019 iz https://www.mckinsey.com/~/media/mckinsey/industries/ financial%20services/our%20insights/blockchain%20in%20 insurance%20opportunity%20or%20threat/blockchain-in­-insurance-opportunity-or-threat.ashx [29] Maersk. (2018, 9. avgust). Maersk and IBM Introduce TradeLens Blockchain Shipping Solution. Pridobljeno 9. decembra 2018 iz https://www.maersk.com/en/news/2018/06/29/maersk-and­-ibm-introduce-tradelens-blockchain-shipping-solution Bor Krizmanic, Aleš Groznik: Aktualne dejavnosti, primerne za uporabo veriženja podatkovnih blokov [30] Millard, C. (2018, avgust). Blockchain and law: Incompatible [41] codes? Computer Law & Security Review. 34(4), 843–846. [31] Morris, N. (2018a, junij). SAP leads Pharma Supply Chain blockchain. Pridobljeno 9. januarja 2019 iz https://www.led­ [42] gerinsights.com/sap-pharma-supply-chain/ [32] Morris, N. (2018b, junij). EY and Microsoft announce royalties blockchain. Pridobljeno 14. decembra 2018 iz https://www. ledgerinsights.com/ey-microsoft-royalties-blockchain/ [43] [33] Nakamoto, S. (2008). Bitcoin: A Peer-to-Peer Electronic Cash System. Najdeno 9. junija 2018 na spletnem naslovu https:// bitcoin.org/bitcoin.pdf [34] Newton, D. (2018, 5. junij). What is Corda?. Pridobljeno 13. decembra 2018 iz https://medium.com/corda/what-is-corda- -6417b14c8dc7 [44] [35] Ramuta, M. (2018, 30. april). Why DPoS is not really a PoS, but rather a PoA protocol. Pridobljeno 6. septembra 2020 iz https://hackernoon.com/why-dpos-is-not-really-a-pos-but­ -rather-a-poa-protocol-5bb1aa305625 [36] Reed, C., Sathyanarayan U. M., Ruan, S. & Collins, J. (2018). [45] Beyond BitCoin- legal impurities and off-chain assets. Inter­ national Journal of Law and Information Technology, 26(2), 160–182. [37] Reyna, A., Martín, C., Chen, J., Soler, E. & Díaz, M. (2018). On blockchain and its integration with IoT. Challenges and opportunities. Future Generation Computer Systems, 88, [46] 173–190. [38] Ripple. (2017, oktober). Product Overview. Pridobljeno 20. decembra 2018 iz https://ripple.com/files/ripple_product_ overview.pdf [47] [39] Scott, T. (2018, 27. september). TradeLens: How IBM and Maersk Are Sharing Blockchain to Build a Global Trade Plat­ form. Pridobljeno 9. decembra 2018 iz https://www.ibm.com/ [48] blogs/think/2018/11/tradelens-how-ibm-and-maersk-are­ -sharing-blockchain-to-build-a-global-trade-platform/ [40] Seffinga, J., Lyons, L. & Bachmann, A. (2017). The Blockchain (R)evolution – The Swiss Perspective. Pridobljeno 15. aprila 2018 [49] iz https://www2.deloitte.com/content/dam/Deloitte/ch/Docu­ ments/innovation/ch-en-innovation-blockchain-revolution.pdf • Statisticni urad Republike Slovenije. (2010). Standardna klasi­fikacija dejavnosti 2008. Ljubljana: Statisticni urad Republike Slovenije, 11. The Economist. (2015, 31. oktober). Blockchains: The great chain of being sure about things. Pridobljeno 15. septembra 2018 iz https://www.economist.com/briefing/2015/10/31/ the-great-chain-of-being-sure-about-things Tsankov, A. (2018, 21. junij). The “Oracle Problem« isn’t a Problem, and why Smart Contracts makes Insurance better for everyone. Pridobljeno 1. oktobra 2020 iz https://medium. com/@antsankov/the-oracle-problem-isnt-a-problem-and­-why-smart-contracts-makes-insurance-better-for-everyo­ne-8c979f09851c Varshney, N. (2018, 21. junij). Microsoft launches ambitio­us blockchain project to help creators get paid. Pridoblje-no 15. decembra 2018 iz https://thenextweb.com/hard­fork/2018/06/21/microsoft-and-ey-launch-blockchain-for­-copyrights-and-royalties/ Vos, J. (2017, 10. februar). Blockchain-Based Land Regi­stry: Panacea, Illusion Or Something In Between? Europe­an Land Registry Association Annual Publication, 7. Prido­bljeno 3. januarja 2019 iz https://www.elra.eu/wp-content/ uploads/2017/02/10.-Jacques-Vos-Blockchain-based-Land­-Registry.pdf White, M., (2018, 16. januar). Digitizing Global Trade with Ma-ersk and IB. Pridobljeno 9. decembra 2018 iz https://www. ibm.com/blogs/blockchain/2018/01/digitizing-global-trade­-maersk-ibm/ Whyte, J. (2016) Serialization: An Implementation Guide. Pri­dobljeno 9. januarja 2019 iz http://www.worldpharmatoday. com/whitepapers/rockwell_automation_11082016.pdf Zhang, F., Cecchetti, E., Croman, K., Juels, A. & Shi, E. (2016). Town Crier: An Authenticated Data Feed for Smart Contracts. Proceedings of the 2016 ACM SIGSAC Conference on Compu­ter and Communications Security (str. 107–283). Dunaj. ACM. Zhu, L., Wu, Y., Gai, K. & Choo K. R. (2019, februar). Control­lable and Trustworthy Blockchain-Based Cloud Data Mana­gement. Future Generation Computer Systems, 91, 527–5 Bor Krizmanic je diplomiral in magistriral na Ekonomski fakulteti Univerze v Ljubljani, smer poslovna informatika. Ukvarjal se je z revizijo informa­cijskih sistemov in svetovanjem na podrocju informatizacije bank in zavarovalnic. Sedaj pa je asistent na Ekonomski fakulteti Univerze v Ljubljani, na katedri za poslovno informatiko in logistiko. • Aleš Groznik je redni profesor na Ekonomski fakulteti Univerze v Ljubljani, katedra za poslovno informatiko in logistiko. Glavna podrocja njegovega raziskovalnega dela predstavljajo management oskrbovalne verige, elektronsko poslovanje in sodobna mobilnosti. StrokoVNI prISpEVkI Z umetno inteligenco podprt razvoj programske opreme Mitja Gradišnik, Tina Beranic, Sašo Karakatic Univerza v Mariboru, Fakulteta za elektrotehniko, racunalništvo in informatiko, Koroška cesta 46, 2000 Maribor mitja.gradisnik@um.si; tina.beranic@um.si; saso.karakatic@um.si Izvlecek Številni izzivi, na katere naletimo pri razvoju programskih rešitev, nas silijo, da neprestano išcemo nove pristope in prakse, s kate­rimi bi IT projekte realizirali boljše, hitreje in predvsem z nižjimi stroški. Želja po hitri in cenovno ugodni realizaciji IT projektov, višji stopnji njihove kakovosti ter nenazadnje v zadnjem casu že kronicnem pomanjkanju usposobljenih IT strokovnjakov, so samo nekateri izmed izzivov, s katerimi se srecujemo v programskem inženirstvu. Pri naslavljanju omenjenih izzivov si v zadnjem casu veliko obeta-mo od vpeljave umetne inteligence v proces razvoja programske opreme. Možnosti se kažejo predvsem v vpeljavi z naprednimi metodami umetne inteligence podprtih orodij, ki razvojno skupino razvijalcev aktivno podpirajo pri razvoju. Z umetno inteligenco podprta orodja odpirajo vrata odmiku od avtomatizacije ponavljajocih se trivialnih opravil in obljubljajo možnost avtomatizacije inte­lektualno zahtevnejših in kompleksnih opravil, kar bi obcutno razbremenilo razvijalce informacijskih rešitev. Kljucne besede: proces razvoja programske opreme, orodja razvoja programske opreme, umetna inteligenca Abstract In software engineering, many of the challenges we face during software development force us to constantly look for new approa­ches and practices to help deliver better and faster IT projects at lower costs. The desire for a fast and affordable implementation of IT projects, a higher level of quality of solutions and the chronic shortage of skilled IT developers are just some of the challenges we face. Recently, in addressing these challenges, the introduction of artificial intelligence into the software development process has shown a lot of promise especially in the form of advanced artificial intelligence-supported tools that actively support the deve­lopment team in the development process. Artificial intelligence-enabled tools offer abilities beyond the automation of trivial repeti­tive tasks. Primarily, they introduce the automation of more complex tasks, the execution of which was exclusively in the domain of skilled IT professionals until recently. Keywords: Software development process, software development tools, artificial intelligence, intelligent assistants. 1 UVOD Podjetja, ki delujejo v sodobnem poslovnem okolju, se morajo skozi proces digitalne preobrazbe nepre­stano prilagoditi spremenjenim pricakovanjem digi­talno vedno bolj ozavešcenih strank. Te postajajo iz leta v leto bolj naklonjene interakciji preko digitalnih medijev, vse pogosteje posegajo po spletnih naku­pih, prav tako dostopajo do vrste storitev preko di­gitalnih kanalov (Cuesta, Ruesta, Tuesta, & Urbiola, 2015). Za številne banke po svetu postaja spletno in mobilno bancništvo vsaj toliko pomembno, ce že ne pomembnejše, kot poslovanje preko mreže lastnih iz­postav in bancnih avtomatov (Ross & Srinivas, 2018). Pravocasno in ustrezno digitalno preoblikova­nje podjetij postaja posledicno eden izmed kljucnih strateških ciljev, kateremu so podjetja v zadnjih le­tih predana. Nepravocasno prilagajanje potrebam in pricakovanjem strank bi se lahko tako hitro prelilo v zamujene poslovne priložnosti. Kljub obcutnemu premiku v smeri digitalizacije storitev opravljenem v zadnjih letih, gospodarstvo še zmeraj ne izkorišcajo polnega potenciala, ki ga prinaša vpeljava sodobnih informacijsko-komunikacijskih tehnologij. Po trenu­tnih ocenah izkorišcajo Združene države Amerike 18 % potenciala, ki ga prinaša digitalizacija, evropske države v povprecju le 12 % (Bughin idr., 2016). Di­ Mitja Gradišnik, Tina Beranic, Sašo Karakatic: Z umetno inteligenco podprt razvoj programske opreme gitalna preobrazba podjetja prav tako naslavlja pro-cese notranje optimizacije delovanja podjetja, v okvi­ru katerega se morajo podjetja priuciti vešcin, kako izkoristiti množico razpoložljivih podatkov ter na kakšen nacin bi te podatke s pomocjo sodobnih infor­macijsko-komunikacijskih rešitev uporabiti, da bi z njihovo pomocjo bolje razumeli potrebe strank, trgov, konkurence in aktualne trende na trgu (Cagle, 2019). Cetudi podjetja uspejo pripraviti strategije digitalnepreobrazbe, ki zmorejo ucinkovito nasloviti aktualnepotrebe na trgu, pogosto naletijo na izzive pri njeni re-alizaciji. Izkorišcanje potencialov digitalne preobrazbecedalje bolj ovira pomanjkanje ustrezno usposobljenihkadrov inženirskih smeri, ki so kljucni za uspešno re-alizacijo tovrstnih IT projektov. Kot kažejo raziskaveanaliticnih hiš Gartner (Griffin, Mok, Struckman, &Berry, 2018) in Deloitte (Giffi idr., 2018), usposabljanjepotrebnih IT kadrov trenutno ne sledi potrebam gospo­darstva. Problem pomanjkanja ustrezno usposobljene­ga inženirskega kadra je sicer mogoce zaznati dalj casa,projekcije trendov pa nakazujejo, da se bo stanje z letiše dodatno poslabšalo (Deming & Noray, 2018). Na iz­zive pomanjkanja usposobljenega inženirskega kadraje sicer potrebno gledati kot na širši družbeni problem,katerega morajo ustrezno nasloviti tako državni orga­ni preko izobraževalnih programov kot privatni sektors spodbujanjem vseživljenjskega ucenja zaposlenih. Avendar enostavnih rešitev, ki bi cez noc odpravile teža­ve pomanjkanja usposobljenega IT kadra, kratkorocnone gre pricakovati. Kljucni izziv tako ostaja, kako z ob­stojecimi kadri opraviti vecjo kolicino dela. V zadnjih letih si pri reševanju predstavljene problematike posebej veliko obetamo od razvoja tehnologij umetne inteligence. Te so v zadnjih letih dosegle zrelostni nivo, pri katerem tehnologije niso uporabne zgolj v izoliranih laboratorijskih okoljih, temvec jih je mogoce aplicirati v konkretne primere iz realnega življenja. Z razvojnimi orodji podprtimi s tehnologijami umetne inteligence je mogoce uspe­šno nasloviti aktualne probleme, ki spremljajo proces razvoja programske opreme. Tega namrec v veliki meri sestavljajo intelektualno zahtevna opravila, ki v veliki meri terjajo od razvijalcev mentalni napor. Z razvojnimi orodji podprtimi z metodami umetne in-teligence bi lahko presegli nivo trenutne avtomatiza­cije mentalno nezahtevnih in pogosto ponavljajocih se opravil. V razvojni proces IT bi tako vpeljali višji nivo avtomatizacije, s katero bi bilo mogoce razvijal­ce pri razvoju IT rešitev razbremeniti tudi intelektu­alno zahtevnejših opravil. Slednje bi imelo za posle­dico ucinkovitejši in bolj optimalni razvojni proces informacijskih rešitev, s katerim bi lažje naslavljali izzive, ki jih prinaša pospešena digitalna transforma­cija podjetji, kateri smo prica v zadnjih letih. 2 UMETNA INTELIGENCA V ORODJIH ZA RAZVOJ PROGRAMSKIH REŠITEV 2.1 Pristopi in metode umetne inteligence Umetna inteligenca je v zadnjih letih na polno vsto­pila v naša vsakodnevna življenja. Napovedani av-tonomni avtomobili in pametni asistenti, kot so Siri, Alexa in Google, so zgolj najvidnejši predstavniki tehnologij, ki jih najpogosteje povezujemo z umetno inteligenco. Poleg navedenih izpostavljenih prime-rov je mogoce umetno inteligenco aplicirati na šte­vilna druga podrocja. Termin umetna inteligenca je sicer uporablja zgolj krovni in zelo posplošen izraz, pod katerim je združenih vec družin med seboj zelo razlicnih pristopov in metod, ki so namenjeni reševa­nju najrazlicnejših vsakodnevnih izzivov (Gradišnik, Karakatic, Mauša, Beranic, & Hericko, 2019). Na podrocju programskega inženirstva je mogoce vkljuciti najrazlicnejše metode umetne inteligence in jih uporabiti za reševanje širokega spektra aktualnih izzivov znotraj razvojnega cikla programske opreme. Podrocje umetne inteligence aktualno za programsko inženirstvo v grobem zajema razlicne pristope stojne­ga in globokega ucenja, predstavitve znanja z grafi, semanticnimi mrežami in poslovnimi pravili, obde­lavi naravnega jezika in avtomatizirani razpoznavi elementov v slikovnem ter avdio in video materialu (Lo Giudice, 2016). V bližnji prihodnosti se pricakuje se, da bo kombinacija navedenih metod umetne inte­ligence imela mocan vpliv na vse stopnje razvojnega cikla programske opreme, in sicer tako, da bo razvi­jalcem omogocen razvoj boljše programske opreme v krajšem casu (Lo Giudice, 2016). Metode umetne inteligence se na podrocje programskega inženirstva aplicirajo preko naprednih razvojih orodij, za katera je znacilno, da imajo karakteristike intelektualnega procesa znacilnega za ljudi, kot je na primer zmo­žnost sklepanja, odkrivanja pomena, generalizacije in ucenja iz preteklih izkušenj (Copeland, 2019). 2.2 Repozitoriji projektov programskih produktov Kljub cedalje vecji raznovrstnosti in dovršenosti al­goritmov umetne inteligence ti sami po sebi niso Mitja Gradišnik, Tina Beranic, Sašo Karakatic: Z umetno inteligenco podprt razvoj programske opreme dovolj, da bi z njimi uspešno reševali predhodno izpostavljene izzive programskega inženirstva. Da izdelamo z umetno inteligenco podprta razvojna orodja, so poleg dodelanih algoritmov umetne inteli­gence potrebna zbirka kakovostnih ucnih podatkov, nad katerimi je algoritme umetne inteligence mogo-ce ucinkovito uciti. V praksi se dostopni repozitori­ji programskih projektov, kot so na primer GitHub (»GitHub«, 2019), GitLab (»GitLab«, 2019), Bitbucket (»Bitbucket«, 2019a) in SourceForge (»SourceForge«, 2019), izkažejo za neprecenljiv vir znanja s podrocja programskega inženirstva. Repozitoriji program-skih projektov so v osnovi virtualna okolja, znotraj katerih razvojne skupine v okviru aktivnosti razvoja programske opreme soustvarjajo raznovrstne arte­fakte potrebne za realizacijo programskih produktov (Güemes-Peńa, López-Nozal, Marticorena-Sánchez, & Maudes-Raedo, 2018). Repozitoriji programskih projektov so po vec desetletij splošne uporabe pre­rasli v ogromne zbirke najrazlicnejših programskih projektov, ki jih lahko uporabimo kot temelj za izgra­dnjo s strojnim ucenjem podprtih razvojnih orodij. Poleg repozitorijev programskih projektov so po­memben vir domenskega znanja prav gotovo tudi spletne skupnosti za pomoc med razvijalci. Pri vi-dnejših predstavnikih tovrstnih skupnosti zagoto­vo ne moremo mimo spletne skupnosti razvijalcev StackOverflow (»StackOverflow«, 2019). Ta namrec ponuja ogromno bazo relevantnih razvojnih izzivov in njihovih rešitev, ki jih je mogoce ucinkovito upora­biti pri izgradnji modelov v strojnem ucenju. Kot odziv na možnosti, ki jih prinaša analiza na­vedenih spletnih skupnosti in orodij, je vzniknila relativno mlada raziskovalna veja rudarjenja pro-gramskih repozitorijev (angl. Software Repository Mining), ki se ukvarja s sistematicnimi pristopi pri­dobivanja in analiziranja podatkov dostopnih v pro-gramskih repozitorijih (Kaur, Kaur, Chopra, & Kaur, 2020). V ospredju rudarjenja programskih repozito­rijev ni zgolj izvorna koda programskih projektov, temvec vsi artefakti, ki nastajajo v okviru procesa ra­zvoja programske opreme. Torej tudi zapisi v repozi­toriju za sledenje programskim hrošcem, sistemu za verzioniranje programske kode in razlicnih kanalih komunikacije med razvijalci, na primer v dopisnih seznamih (angl. mailing lists). Na podlagi relevan­tnih podatkov, izlušcenih iz repozitorijev program-skih projektov je mogoce razpoložljive algoritme umetne inteligence nauciti, da so ti zmožni samostoj­nega reševanja problemov, na katere je moc naleteti med razvojem programske opreme, kar pa predsta­vlja temelj novodobnih s strani umetne inteligence podprtih razvojnih orodij. O možnostih, ki jih rudarjenje repozitorijev pro-jektov programskih produktov za razvoj inteligen­tnih razvojnih orodij prinaša, zgovorno povedo šte­vilke o uporabnikih in gostujocih repozitorijih, ki so jih uporabnikih tovrstnih skupnosti ustvarili v za­dnjih desetletjih. GitHub, z naskokom najvecji med navedenimi, je v avgustu 2019 porocal o vec kot 50 milijonih uporabnikov, ki se ucijo, si med seboj de­lijo in soustvarjajo vec kot 100 milijonov repozitori­jev programskih produktov (GitHub, 2020a, 2020b). Intenzivna je tudi rast uporabnikov, ki prispevajo programsko kodo. Graf rasti uporabnikov sicer med leti 2014 – 2018 prikazuje Slika 1. Za razliko, nekoliko manj uporabnikov beležijo pri konkurencnih sple­tnih skupnostih Bitbucket. Njihova oblacna storitev je v aprilu 2019 porocala o 10 milijonih registriranih uporabnikov, ki so takrat upravljali vec kot 28 milijo­nov repozitorijev projektov programskih produktov (Bitbucket, 2019b). Programski projekti, ki se nahajajo v omenjenih repozitorijih, so strukturno izredno heterogeni. Te-meljijo namrec na razlicnih programskih jezikih, uporabljajo najrazlicnejša razvojna ogrodja in so spi­sana za široko paleto ciljnih naprav. Slednje potrjujte analiza spletne aplikacije GitHut 2.0 (Zapponi, 2020, ki kot najpogosteje uporabljen programski jezik na platformi GitHub navaja programski jezik JavaScript, Slika 1: Graf rasti novih uporabnikov na platformi GitHub v letih 2014–2018 (GitHub, 2020a) Mitja Gradišnik, Tina Beranic, Sašo Karakatic: Z umetno inteligenco podprt razvoj programske opreme ki mu sledita Python in Java. Razvrstitev z deležem in njegovo spremembo glede na prejšnje cetrtletje de­setih najpogostejših programskih jezikov platforme GitHub za obdobje prvega cetrtletja 2020 prikazuje Tabela 1. Heterogenost projektov sicer pripomore k lažjemu prilagajanju razvojnih orodij razlicnim oko­ljem in razvojnim procesom, v okviru katerih se ta uporabljajo. Tabela 1: Deset najpogostejših programskih jezikov na platformi GitHub za obdobje prvega cetrtletja 2020 z navedenimi deleži programskih jezikov in spremembo deleža glede na prejšnje cetrtletje mesto uvrstitve programski jezik delež sprememba JavaScript 18,7 % –1,41 Python 16,2 % –1,65 3 Java 10,9 % +0,53 4 Go 9,0 % +0,98 5 C++ 7,4 % +0,04 6 Ruby 6,8 % +0,34 TypeScript 6,7 % +1,52 8 PHP 5,1 % –0,46 9 C# 3,8 % +1,14 10 C 3,2 % –0,20 2.3 samouceca razvojna orodja Z uporabo strojnega ucenja in podatkov, pridobljenih z rudarjenjem razpoložljivih baz znanja, ki jih sou-stvarjamo v sklopu omenjenih spletnih skupnosti in repozitorijev, je mogoce zgraditi razvojna orodja, ki predstavljajo mocan odmik od trenutno uveljavlje­nih razvojnih orodij. Ta namrec temeljijo na vnaprej kodiranih pravilih obnašanja in strategijah reševanja problemov. Za zagotavljanje skladnosti obnašanja razvojnih orodij s pricakovanji uporabnikov skrbi­jo razvijalci razvojnih orodij, ki morajo vsako nad­gradnjo ali spremembo obnašanja programski kodi popraviti rocno. Razvojna orodja, ki temeljijo na pri­stopu strojnega ucenja se temu izognejo. Izpeljava potrebnih pravil, ki pripeljejo do rešitve zastavlje­nega cilja, je v celoti prepušcena procesu strojnega ucenja, ki je pri tem avtonomen. Od orodij za razvoj programske opreme naslednje generacije si obetamo odpravo deterministicnega in vnaprej programira­nega obnašanja. Od tovrstnih orodij pricakujemo zmožnost samodejnega ucenja reševanja razvoj­nih izzivov in samodejno prilagajanje okolišcinam dela. 3 PODPORA UMETNE INTELIGENCE RAZVOJNEMU CIKLU PROGRAMSKE OPREME Razvoj programske opreme velja za kompleksen proces, uspešnost katerega je odvisna od razlicnih faktorjev, pomembnejši med njimi so zagotovo ra­zvojna skupina, vrsta programskega produkta v razvoju, stabilnosti funkcionalnostnih zahtev, izbira programskega jezika in arhitekture programske re-šitve (Güemes-Peńa idr., 2018). Realizacija projektov programskih produktov torej terja skupino dobro izurjenih strokovnjakov iz podrocja programskega inženirstva, od katerih se ob dobro razvitih komuni­kacijskih sposobnostih in obvladovanju dela v skupi­ni pricakujejo predvsem mocne razvite sposobnosti analiticnega razmišljanja ter zmožnost reševanja pro-blemov, na katere naletijo med razvojem program-skih produktov. Potreba po navedenih vešcinah izha­ja iz narave dela, ki terja od razvijalcev programske opreme v prvi vrsti vložen miselni napor. In ravno razbremenitev stopnje miselnega napora, ki ga mo-rajo razvijalci vložiti v svoje delo, ostaja osrednja toc­ka razvoja naprednih z umetno inteligenco podprtih razvojnih orodij. Zaradi miselno intenzivne narave dela tekom ra­zvoja programske opreme so možnosti uporabe oro­dij dokaj omejene, obicajno na trivialna in pogosto ponavljajoca se opravila. Vecino miselno zahtevnih opravil tako še vedno opravijo razvijalci. Cez leta smo bili sicer prica postopni evoluciji pristopov in orodij, sami temelji le-teh pa se cez leta niso kaj dosti spreminjali. Posledicno lahko opazimo, da se pristo-pi programskega inženirstva in orodja, ki se pri tem uporabljajo, od samih zacetkov programskega inže­nirstva, torej vse od vpeljave programskih jezikov Fortran in Lisp sredi petdesetih let prejšnjega stole-tja, konceptualno niso korenito spremenili (Lorica & Loukides, 2018). Z vecjimi ali manjšimi variacijami razvijalci povecini uporabljajo urejevalnike, v katerih urejajo izvorno kodo programov. 3.1 Podpora orodij razvoju programskih rešitev Ker osrednji del celotnega procesa razvoja program-skih rešitev še vedno predstavlja pisanje in urejanje programske kode, je to tocka razvojnega procesa programske opreme, ki ponuja najvec možnosti za povecanje ucinkovitosti razvoja. Skrajšanje casa, v katerem razvijalci pridejo do potrebne programske kode, predstavlja enega izmed kljucnih prispevkov k optimizaciji razvojnega procesa. Kljucni izziv, ki jih Mitja Gradišnik, Tina Beranic, Sašo Karakatic: Z umetno inteligenco podprt razvoj programske opreme na tem mestu rešujejo z umetno inteligenco podprta orodja, je, kako cim hitreje do relevantne programske kode, ki je prilagojena kontekstu zahtev uporabni­kov in potreb narocnikov (Gradišnik, Karakatic, idr., 2019). 3.1.1 Inteligentni asistenti Pomembno skupino z umetno inteligenco podprtih razvojnih orodij, ki so iz idejnih zasnov že prešle v konkretne rešitve, predstavljajo inteligentni asistenti razvijalca. Njihova primarna naloga je, da v realnem casu glede na kontekst programskega problema raz­vijalcu nudijo relevantne predloge blokov program-ske kode, priporocila in dobre prakse (Yao, 2018). Tovrstna razvojna orodja presegajo že uveljavljene rešitve predlagalnikov sledecega žetona program-ske kode. Njihovi predlogi zajemajo celostno rešitev v obliki sintakticno pravilnega bloka programske kode, ki ga je v danem kontekstu mogoce uporabiti. Inteligentni asistenti so v pomoc predvsem, ko se razvijalci znajdejo na obsežnih in kompleksnih pro-jektih, na katerih se morajo za nadgradnjo ali popra­vek posameznih funkcionalnosti prebiti cez številne vrstice programske kode. Te po možnosti niti niso napisane v programskem jeziku, ki bi jim bil povsem domac. Brskanje za rešitvami razvojnih problemov, dostopnih v najrazlicnejših virih, je torej del dnevne rutine razvijalcev (Nguyen, Di Rocco, & Di Ruscio, 2018)software developers frequently look up exter­nal sources for related information. Consulting data available at open source software (OSS. Inteligentni asistenti torej razvijalcem v takšnih situacijah nudijo asistenco na mestu, ko bi ta moral prekiniti programi­ranje z namenom, da v dokumentaciji ali katerem iz-med spletnih virov poišce rešitev problema, ki bi mu omogocila nadaljevanje dela. Kljucna naloga inteli­gentnega asistenta je torej ponuditi izsek programske kode, ki razvijalcu omogoci takojšnje nadaljevanje dela (Gradišnik, Tina, & Karakatic, 2019). Ponujena rešitev temelji na analizi podobnih blokov program-ske kode ucnih projektov, pridobljenih iz analiziranih repozitorijev projektov programske opreme. Pristop razvoja programske kode, pri katerem razvijalcu z relevantnimi predlogi stoji ob strani in-teligentni asistent, bi lahko primerjali s predvsem v agilnih metodah razvoja dobro uveljavljenim princi-pom programiranja v paru. Pri razvoju programske kode nad skupnim programskim problemom delata dva razvijalca, od katerih prevzame eden aktivno vlogo pisanja programske kode, drugi razvijalcev v paru pa spremlja delo prvega ter z aktivnim spre­mljanjem in predlogi skrbi za ucinkovitejši in bolj kakovosten potek dela. Lahko bi rekli, da s tem ohra­nimo ucinkovitost in raven kakovosti razvite kode, hkrati pa se izognili neekonomicnosti programiranja v paru z dvema razvijalcem, kar je eden kljucnih po­mislekov pri njegovi vpeljavi v praksi (Handy, 2018). Slika 2 prikazuje primer predlogov inteligentnega asistenta Codota. Ta razvijalcu predlaga pomensko pravilne in popolne bloke programske kode, ki pove­žejo dva v kodi s strani razvijalca uporabljena razre­da za delo s tokovi. Slika 2: Predlogi blokov kode pametnega asistenta Codota namešcenem v razvojnem okolju IntelliJ IDEA Mitja Gradišnik, Tina Beranic, Sašo Karakatic: Z umetno inteligenco podprt razvoj programske opreme Trenutno ima namrec vsak izmed razpoložljivih inteligentnih asistentov platformo, v kateri je domi­nanten. Inteligentni asistent Codota (»Codota«, 2019) nudi asistenco razvijalcem, ki razvijajo rešitve s po­mocjo programskega jezika Java in njemu sorodnem jeziku Kotlinu. Ob podpori programskemu jeziku Java se lahko uporabniki inteligentnega asistenta Co-dota nadejajo podpore programskemu jeziku Java­Script, kateremu podpora se nahaja v beta fazi razvo­ja in bo uporabnikom na voljo kmalu. Za razvijalce, ki prisegajo na tehnološke rešitve iz Microsoftovega tabora, bo najprimernejši inteligentni asistent Intelli-Code (Microsoft, 2019). Microsoftovo rešitev Intelli-Code odlikuje široka podpora programskim jezikom s poudarkom na programskem jeziku C# ter odlicna integracija v Microsoftovi integrirani razvojni oko­lji Visual Studio in Visual Studio Code. Kite (Kite, 2019), kot tretji izmed vidnejših predstavnikov inte­ligentnih asistentov, cilja na iz leta v leto številcnejšo populacijo Python razvijalcev (Tiobe, 2020). Kljub trenutni specializiranosti inteligentnih asistentov v posamezne programske jezike se v prihodnje kaže jasen trend, da inteligentni asistenti presežejo speci­alizacijo v posamezne programske jezike in postane­jo bolj univerzalni s tem, da ponudijo podporo širši paleti programskih jezikov. Strnjena primerjava na­vedenih inteligentnih asistentov prikazuje Tabela 2. Vse navedene inteligentne asistente je možno na­mestiti kot vticnike integriranih razvojnih okolij za platforme programskih jezikov, na katere ti ciljajo. S tem inteligentni asistenti dobijo vpogled v delo razvijalca in dosežejo, da so razvijalcu tekom razvo­ja programske kode res ves cas razvoja na voljo. V trenutni fazi zrelosti inteligentnih asistentov si lahko razvijalci od le-teh obetajo predloge blokov program-ske kode, ki bi jih lahko v neki tocki pisanja program-ske kode uporabili. Predlogi, ki jih dajejo inteligentni asistenti, presegajo enostavno dopolnjevanje kode. Glede na kontekst programskega problema so pre­dlogi inteligentnih asistentov kompleksnejše struk­ture programske kode, do katerih so se predstavljeni inteligentni asistenti dokopali s strojnim ucenjem bo­disi nad programsko kodo odprtokodnih projektov repozitorijev projektov programske opreme GitHub in Bitbucket, bodisi kot v primeru inteligentnega asi­stenta Codota nad programsko kodo objavljeno v razpravah med razvijalci v spletni skupnosti Stack-Overflow. 3.1.2 semanticni iskalniki po programski kodi Dopolnjevanje in izpopolnjevanje obstojecih siste­mov terja veliko iskanja po programski kodi, pri cemer je popolnoma obicajno, da vecji programski produkti obsegajo vec kot 100.000 vrstic programske kode. Pri tem, ko razvijalci razmišljajo v naravnem jeziku, je programska koda, po kateri išcejo, napisa­na v programskem jeziku. Razvijalec mora torej v iskalnik vpisati konkretni izsek iskalne programske kode, kar pa zna biti problematicno, ce se z iskano programsko kodo predhodno še ni srecal. Razkorak med naravnim in programskim jezikom pri iskanju po programski kodi premošca rešitev Microsoftove podružnice GitHub poimenovan Semantic Search (Husain & Wo, 2018). Rešitev stavke programske kode pretvori s pomocjo vektorjev preslikav v narav­ni jezik. Na podlagi primerjave sorodnosti vektorjev programske kode in iskalnih nizov je nato mogoce najti tisto programsko kodo hranjeno v javnih repo­zitorijih GitHub portala, ki najbolj ustreza vnesene-mu iskalnemu nizu. Tabela 2: strnjena primerjava inteligentnih asistentov Inteligentni asistent Podprti programski jeziki Podpora v prihodnje Podprta razvojna orodja Viri strojnega ucenja Codota Java Kotlin JavaScript (beta) Intellij IDEA, Android Studio, Eclipse IDE GitHub, Bitbucket, StackOverflow, Iskalnik Google Kite Python V fazi izbire podpore naslednjega programskega jezika IntelliJ, PyCharm, VS Code, Atom, Vim, Sublime, Spyder Javni repozitoriji na GitHub-u Microsoft IntelliCode C#, C++, Python, / Visual Studio 2019 (C#, GihHub (za C# vec JavaScript, TypeScript, C++, JavaScript, XAML), kot 3000 najboljših XAML, Java. Visual Studio Code (Java, odprtokodnih repozitorijev), Python) sicer na zahtevo uporabnikov tudi privatni repozitoriji uporabnika Mitja Gradišnik, Tina Beranic, Sašo Karakatic: Z umetno inteligenco podprt razvoj programske opreme 3.1.3 Generiranje programske kode na podlagi skic uporabniškega vmesnika Razvijalci pogosto na podlagi predhodno pripra­vljenih skic uporabniškega vmesnika, ki jih pripra­vijo graficni oblikovalci v procesu zajema zahtev stranke, sprogramirajo ustrezno izvršljivo program-sko kodo. Prihranek pri porabljenem casu za razvoj obljublja orodje Sketch2Code (»Sketch2Code«, 2019), ki je zmožno iz rocno skicirane risbe uporabniškega vmesnika generirati ustrezno HTMLprogramsko kodo vkljucno s pripadajocimi kaskadnimi stilskimi predlogami (CSS). Kljucna prednost orodja je, da ne potrebuje modela ali natancno izrisane slike prototi-pa, temvec zadostuje le njegova skica (Kumar, 2018). Primer pretvorbe prikazuje Slika 3. Tako generira­na programska koda lahko razvijalce pripelje bodi­si do hitrega prototipa rešitve bodisi je uporabljena kot skelet programske kode koncne rešitve. Opisan pristop generiranja uporabniškega vmesnika so nad­gradili s pomocjo tri-slojnega sistema umetne inteli­gence (Moran, Bernal-C’Ardenas, Curcio, Bonett, & Poshyvanyk, 2018). Pri tem za ucenje orodja seveda niso uporabili znanja ekspertov, temvec javno dosto­pne repozitorije programske kode. IZBIRA USTREZNEGA RAZVOJNEGA ORODJA 4.1 Izbira orodij Ceprav se na prvi pogled zdi, da je trenutno na trgu vec alternativnih inteligentnih asistentov, podrobnej­ši pregled razkrije, da so razvijalci pri izboru razpo­ložljivih razvojnih orodij relativno omejeni. Predsta­vljena orodja v tem trenutku še ne nudijo prav visoke stopnje univerzalnosti in so bolj ali manj vezana na ozko usmerjena opravila, ki so dodatno vezana na iz­brane programske jezike oz. programske platforme. Kot primer vzemimo orodje Sketch2Code, ki pre­tvarja skice uporabniškega vmesnika v izvršljivo programsko kodo, zapisano v obliki oznacevalnega jezika HTML. Ceprav je lahko vhod v orodje poljub­na rocno narisana skica uporabniškega vmesnika, je izhod orodja ozko usmerjen v razvijalce spletnih rešitev. Razvijalci namiznih ali mobilnih aplikacij si z orodjem ne bi mogli veliko pomagati, poiskati bi morali katero izmed alternativ. Podobno omejeni so uporabniki inteligentnih asi­stentov. Podroben pogled na podrocje razkrije, da kljucni igralci na podrocju naslavljajo dolocene sku-pine razvijalcev. In sicer, rešitev Codota v prvi vrsti naslavlja razvijalce programskih jezikov Java in so-rodni Kotlin, s katerimi ti razvijajo zelo širok spekter javanskih in android aplikacij. Rešitev Kite primarno naslavlja iz leta v leto vecjo skupnost Python razvi­jalcev, medtem ko IntelliCode naslavlja predvsem razvijalce, ki svoje rešitve temeljijo na Microsofto­vem tehnološkem skladu in razvojnem okolju Visual Studio. Kljub zacetni ozki usmerjenosti inteligentnih asistentov na ciljano skupino razvijalcev se za priho­dnost kažejo njihove mocne tendence, da bi postali univerzalni in primernejši za širši krog razvijalcev. Trenutno razpoložljivi inteligentni asistenti se torej primarno osredotocajo na programske jezike, razvi­jalci pa ostajajo zaprti znotraj okvirjev razpoložljivih rešitev, ki so za njihovo razvojno platformo na voljo. Slika 3: sketchCode iz skice graficnega vmesnika prepozna elemente vmesnika in na podlagi prepoznave generira HTmL kodo Mitja Gradišnik, Tina Beranic, Sašo Karakatic: Z umetno inteligenco podprt razvoj programske opreme Pri tem je popolnoma vseeno, za kakšen tip aplikacij jih bodo razvijalci uporabili. Iz vidika uporabe inte­ligentnih asistentov je sicer popolnoma vseeno, ali razvijalec razvija namizno, spletno ali mobilno apli­kacijo, dokler pri tem uporablja s strani inteligentne­ga asistenta podprt programski jezik. 4.2 Omejitve z umetno inteligenco podprtih orodij V raziskovalni skupnosti na podrocju umetne inte­ligence že desetletja sledijo viziji, da bi s pomocjo umetne inteligence izgradili sisteme, ki bi bili zmožni avtonomno spisati racunalniške programe (Balog, Gaunt, Brockschmidt, Nowozin, & Tarlow, 2019). Ce­prav se v povezavi s prehodno predstavljenimi orodji pogosto uporablja besedna zveza »umetna inteligen-ca«, prakticni preizkus razpoložljivih orodij pokaže, da so njihove zmožnosti še zmeraj zelo omejene. Inteligentni asistenti na primer pogosto ponudijo vec alternativnih rešitev. Razvijalcem so torej ponu­jene možne alternative rešitve in ne optimalne rešitve programskega problema v konkretnem kontekstu programskega produkta. Razumevanje programske kode se med razvijalcem in inteligentnim asistentom pomembno razlikuje. Inteligentni asistenti so v tre­nutni fazi razvoja zmožni razumeti zgolj ozki okvir pisanja programske kode v dometu nekaj vrstic predhodno napisane programske kode. Posledicno ponudi tiste bloke programske kode, za katere ob-staja glede na projekte iz ucnih primerov statisticno gledano najvecja verjetnost, da se bodo v nadaljeva­nju uporabili v programski kodi. Razvijalec mora na drugi strani, da je sploh sposoben realizirati pro-gramsko rešitev v skladu s pricakovanji narocnika, razumeti popolni kontekst programskega produkta, vkljucno z namenom uporabe programske rešitve, pricakovanim obnašanjem funkcionalnosti in želja-mi in pricakovanji uporabnikov. Za razliko od inteli­gentnih asistentov razvijalec torej opremljen z razu­mevanjem celotnega konteksta razvoja programske rešitve razume koncni cilj procesa, zaradi cesar se je med možnimi alternativnimi zmožen odlociti za tiste rešitve, ki so za dani kontekst najbolj optimalne. Kljub temu prestavlja sinteza znanja iz razpolo­žljivih baz znanja in priprava alternativ rešitev, ki jo opravijo inteligentni asistenti, velik prispevek k op-timizaciji razvoja programske kode in je ne gre kar zanemariti. Že en sam klic programskega vmesnika, ki razvijalcu ni popolnoma poznan, pomeni prekini­tev pisanja kode in posledicno njegovo brskanje po virih. Z uporabo inteligentnih asistentov je takšnega brskanja za informacijami pri programskega jezika ne popolnoma vešcih razvijalcih obcutno manj, vna­prej pripravljeni bloki kode pa tudi prihranijo marsi­kateri pritisk na tipkovnico. 5 SKLEP Razvoj spletne tehnologij v preteklih desetletjih na celu s spletnimi forumi, blogi in drugimi spletnimi skupnostmi je pospešil pretok znanja med razvi­jalci. Od naslednje generacije z umetno inteligenco podprtih orodij se pricakuje, da bodo razvijalcu v tej poplavi informacij, ki so jih spletne skupnosti aku­mulirale tekom vec desetletij, pomagale v skladu s kontekstom problema narediti ucinkovito agregaci­jo informacij, pridobljenih iz najrazlicnejših virov v konkretno rešitev programskega problema. Hiter razvoj algoritmov umetne inteligence in pristopov ucinkovitega rudarjenja repozitorijev pro-gramskih rešitev odpirata cedalje vec možnosti vpe­ljave tovrstnih tehnologij v podrocje programskega inženirstva. Želja po hitrejšem in cenejšem razvoju programskih rešitev, višja kakovost programskih produktov in pomanjkanje razvijalcev s potrebnim naborom vešcin so samo nekateri izmed izzivov, za katere si obetamo, da jih bomo lahko z vpeljavo ume­tne inteligence uspešneje obvladovali. Prav tako kot v drugih inženirskih vejah, so poleg ustrezno uspo­sobljenih razvijalcev tudi v programskem inženir­stvu za uspešnost projektov kljucna ucinkovita orod­ja. Ker je razvoj informacijskih rešitev podrocje, ki od razvijalcev terja predvsem vložek intelektualnega dela, si veliko obetamo prav od vpeljave umetne in-teligence v razvojna orodja. Orodja, podprta z meto­dami umetne inteligence so namrec eden izmed na-cinov, ki ucinkovito izboljšati ucinkovitost razvijalce. Na tehnologijah in pristopih umetne inteligence je mogoce zasnovati novo generacijo razvojnih orodij, ki v proces razvoja informacijskih rešitev vpeljejo višjo stopnjo avtonomnosti in napredno avtomatiza­cijo opravil. Vpeljava umetne inteligence v orodja za razvoj programskih produktov na tej stopnji razvoja ne bo razrešila problema pomanjkanja kakovostnih in do-bro izurjenih IT strokovnjakov v splošnem. Ti ostaja­jo osrednji in nepogrešljiv clen v procesu razvoja pro-gramske opreme, na katerih ostaja kljucne odlocitve v procesu. Nepoznavanja programskega jezika ali principov razvoja programske opreme s tovrstnimi Mitja Gradišnik, Tina Beranic, Sašo Karakatic: Z umetno inteligenco podprt razvoj programske opreme orodji ni moc nadomestiti. Vloge sodobnih z umetno inteligenco podprtih razvojnih orodij je, da razvijal­ce pri njihovem delu ucinkovito podprejo in jih cim bolj razbremenijo. Razvijalci lahko tako z njihovo po­mocjo v krajšem casu ustvarijo vec. Da je ta podpora tovrstnih orodij ucinkovita, postaja vedno bolj nuj-no, da zmorejo ponuditi rešitve ne le preprostih in ponavljajocih se opravil, temvec ponudijo rešitve za opravila, ki od razvijalca terjajo miselni napor. LITERATURA [1] Balog, M., Gaunt, A. L., Brockschmidt, M., Nowozin, S., & Tarlow, D. (2019). DeepCoder: Learning to write programs. 5th International Conference on Learning Representations, ICLR 2017 - Conference Track Proceedings. [2] Bitbucket. (2019a). Pridobljeno 17. avgusta 2019 od https:// bitbucket.org/ [3] Bitbucket. (2019b). Celebrating 10 million Bitbucket Cloud registered users. Pridobljeno 2. junija 2020 od https://bit­bucket.org/blog/celebrating-10-million-bitbucket-cloud-regi-stered-users [4] Bughin, J., Hazan, E., Labaye, E., Manyika, J., Dahlström, P., Ramaswamy, S., & Cochin de Billy, C. (2016). Digital Europe: Pushing the Frontier, Capturing the Benefits. Pridobljeno 17. marca 2019 od www.mckinsey.com/mgi. [5] Cagle, K. (2019). Why Most Digital Transformations Will Fail. Pridobljeno 8. avgusta 2019 od Forbes website: https://www. forbes.com/sites/cognitiveworld/2019/01/07/why-most-digi­tal-transformations-will-fail/#4c2a2357520e [6] Codota. (2019). Pridobljeno 21. januarja 2019 od https:// www.codota.com/ [7] Copeland, B. J. (2019). Artificial intelligence. Pridobljeno 8. avgusta 2019 od https://www.britannica.com/technology/ar­tificial-intelligence [8] Cuesta, C., Ruesta, M., Tuesta, D., & Urbiola, P. (2015). The digital transformation of the banking industry. Pridobljeno 17. marca 2019 od http://www.bbvaresearch.com [9] Deming, D. J., & Noray, K. (2018). STEM Careers and Tech­nological Change. Pridobljeno 17. avgusta 2019 od https:// scholar.harvard.edu/files/kadeem/files/demingnoray_stem_ sept2018_final.pdf [10] Giffi, C., Wellener, P., Dollar, B., Manolian, H. A., Monck, L., & Moutray, C. (2018). 2018 Deloitte and The Manufacturing Institute skills gap and future of work study. [11] GitHub. (2019). Pridobljeno 17. avgusta 2019 od https://git-hub.com/ [12] GitHub. (2020a). Thank you for 100 million repositories. Pri­dobljeno 1. junija 2020 od https://github.blog/2018-11-08­100m-repos/ [13] GitHub, I. (2020b). GitHub is how people build software. Pri­dobljeno 2. junija 2020 od https://github.com/about [14] GitLab. (2019). Pridobljeno 17. avgusta 2019 od https:// about.gitlab.com/ [15] Gradišnik, M., Karakatic, S., Mauša, G., Beranic, T., & Hericko, M. (2019). Možnost vpeljave umetne inteligence v proces razvo­ja programske opreme. V Š. Urh Popovic (Ur.), Slovenija 4.0 : zbornik. 26. konferenca Dnevi slovenske informatike, 16. in 17. april 2019, Portorož. Ljubljana: Slovensko društvo Informatika. [16] Gradišnik, M., Tina, B., & Karakatic, S. (2019). Implementacija programskih rešitev s pomocjo inteligentnih asistentov. V M. HERICKO & K. KOUS (Ur.), Sodobne informacijske tehnologi­je in storitve : OTS 2019 : zbornik štiriindvajsete konference, Maribor, 18. in 19. junij 2019 (str. 138–148). Univerzitetna za­ložba Univerze. [17] Griffin, D., Mok, L., Struckman, C., & Berry, D. (2018). Tackle the Talent Problem : Invest in Growing Your Own Employees. Gartner. [18] Güemes-Peńa, D., López-Nozal, C., Marticorena-Sánchez, R., & Maudes-Raedo, J. (2018). Emerging topics in mining software repositories: Machine learning in software reposi­tories and datasets. Progress in Artificial Intelligence, 7(3), 237–247. https://doi.org/10.1007/s13748-018-0147-7 [19] Handy, A. (2018). Codota Offers Pair Programming with Ar­tificial Intelligence. Pridobljeno 14. avgusta 2019 od https:// thenewstack.io/codota-offers-ai-pair-programming/ [20] Husain, H., & Wo, H.-H. (2018). Towards Natural Language Semantic Code Search. Pridobljeno 18. avgusta 2019 od https://githubengineering.com/towards-natural-language­-semantic-code-search/ [21] Kaur, A., Kaur, K., Chopra, D., & Kaur, H. (2020). Systema­tic Literature Review on Mining Software Repositories. 7(1), 195–231. [22] Kite. (2019). Kite. Pridobljeno 17. avgusta 2019 od https:// www.kite.com/ [23] Kumar, A. (2018). Automated front-end development using deep learning. Pridobljeno 21. maja 2019., od https://blog. insightdatascience.com/automated-front-end-development­-using-deep-learning-3169dd086e82 [24] Lo Giudice, D. (2016). How AI Will Change Software Deve­lopment And Applications. [25] Lorica, B., & Loukides, M. (2018). What machine learning me­ans for software development. Pridobljeno 8. avgusta 2019 od https://www.oreilly.com/ideas/what-machine-learning­-means-for-software-development [26] Microsoft. (2019). Visual Studio IntelliCode. Pridobljeno 18. avgusta 2019 od https://visualstudio.microsoft.com/servi-ces/intellicode/ [27] Moran, K., Bernal-C’Ardenas, C., Curcio, M., Bonett, R., & Poshyvanyk, D. (2018). Machine Learning-Based Prototyping of Graphical User Interfaces for Mobile Apps. V IEEE TRAN­SACTIONS ON SOFTWARE ENGINEERING. [28] Nguyen, P. T., Di Rocco, J., & Di Ruscio, D. (2018). Mining soft­ware repositories to support OSS developers: A recommender systems approach. CEUR Workshop Proceedings, 2140. [29] Ross, A., & Srinivas, V. (2018). Accelerating digital transfor­mation in banking Findings from the global consumer survey on digital banking. Pridobljeno 8. avgusta 2019 od https:// www2.deloitte.com/content/dam/Deloitte/us/Documents/ financial-services/us-accelerating-digital-transformation-in­-banking.pdf [30] Sketch2Code. (2019). Pridobljeno 17. avgusta 2019 od https://sketch2code.azurewebsites.net/ [31] SourceForge. (2019). Pridobljeno 17. avgusta 2019 od https:// sourceforge.net/ [32] StackOverflow. (2019). Pridobljeno 17. avgusta 2019 od https://stackoverflow.com/ [33] Tiobe. (2020). Tiobe Index. Pridobljeno 15. marca 2020 od https://www.tiobe.com/tiobe-index/ [34] Yao, M. (2018). 6 Ways AI Transforms How We Develop Software. Pridobljeno 20. marca 2019 od https://www.for­bes.com/sites/mariyayao/2018/04/18/6-ways-ai-transforms­-how-we-develop-software/#21347e7d26cf [35] Zapponi, C. (2020). GitHut 2.0 - A small place to discover languages in GitHub. Pridobljeno 8. junija 2020 od https:// madnight.github.io/githut/#/pull_requests/2019/1 Mitja Gradišnik, Tina Beranic, Sašo Karakatic: Z umetno inteligenco podprt razvoj programske opreme • mitja Gradišnik je raziskovalec na Fakulteti za elektrotehniko, racunalništvo in informatiko Univerze v Mariboru. Raziskovalno se ukvarja s so-dobnimi pristopi pri razvoju programskih rešitev, kakovostjo in obvladovanjem staranja programskih produktov ter prakticno uporabo metod podatkovnega rudarjenja v programskem inženirstvu. Raziskovalne in aplikativno sodeluje na vec projektih, ki se odvijajo v okviru Inštituta za informatiko. • Tina Beranic je asistentka na Fakulteti za elektrotehniko, racunalništvo in informatiko Univerze v Mariboru. Doktorirala je leta 2018 iz tema­tike identifikacije pomanjkljive programske kode. Njeno raziskovalno delo obsega domeno kakovosti programske opreme, še posebej podrocje programskih metrik in mejnih vrednosti ter njihove uporabe za namen vrednotenja programske opreme. Ukvarja se tudi s podrocjem revizije informacijskih sistemov, pri cemer je leta 2017 pridobila certifikat CISA (Certified Information Systems Auditor). • sašo Karakatic je docent na Fakulteti za elektrotehniko, racunalništvo in informatiko Univerze v Mariboru. Raziskovalno se ukvarja s podrocjem umetne inteligence in strojnega ucenja ter aplikacijo optimizacijskih pristopov po vzoru narave na podrocjih transporta in rudarjenja podatkov. StrokoVNI prISpEVkI Znanjski delavci in notacija CMMN Mateja Kocbek Bule1 1 Fakulteta za elektrotehniko, racunalništvo in informatiko, Univerza v Mariboru, Koroška cesta 46, 2000 Maribor mateja.kocbek@um.si Izvlecek Primeri (angl. Cases) se uporabljajo na mnogih podrocjih cloveškega delovanja. Najbolj nazorni so primeri iz medicine, kjer je vsak pacient obravnavan kot locen, celovit primer. Kljub temu so splošni postopki obravnave pacientov v ozadju enaki. Strokovno osebje je tisto, ki se, na podlagi svojega znanja in izkušenj za vsak primer (vsakega pacienta) odloci, kako bo izvedla zdravljenje, ali povedano drugace, kakšna bo nova instanca tega procesa. V tem clanku bomo predstavili notacijo CMMN (Case Management Model and Notation), s katero lahko modeliramo procese, ki zahtevajo vec fleksibilnosti pri izvedbi. Predstavljeno bo delovanje, in tudi nekateri izzivi, ki se pojavljajo pri uporabi. Kljucne besede: znanjski delavci, menedžment primerov, Case Management Model and Notation, CMMN Abstract Cases are used in many areas of human operations. The most illustrative examples of cases are from medicine where every patient represents its own case. Every case requires its own operations and functions whereas humans who are involved can use their knowledge from previous cases. This article presents the standard called CMMN (Case Management Model and Notation) that covers processes where more flexibility is required. We will also discuss operations and certain challenges that we face. Keywords: Knowledge workers, case management, Case Management Model and Notation, CMMN. 1 UVOD Veliko podrocij cloveškega delovanja bi lahko pred­stavili s primeri (ang. cases). Primer je pogost pojem, ki lahko predstavlja razlicne otipljive stvari ali ne­otipljive koncepte. Lahko opisuje neko »stvar, eno- to, po kateri se lahko ocitno, neposredno spozna, dokaže neka splošnejši pojem, pravilo« (Fran.si, b. d.). Npr. na spletni strani šole je objavljen primer seminarske naloge. Nazorni primeri so iz medicine, kjer je vsak paci­ent s svojo boleznijo in zgodovino zdravljenja drug primer. Poznamo pa tudi primere z drugih podrocij, kot so pravni primeri, sodni primeri, zaposlitveni primeri, itd. (Kocbek Bule idr., 2019). Posamezni primeri vedno vsebujejo subjekte, to so lahko ljudje, zakonske akcije, poslovne interakci­je, ali druge tocke preko katerih se doseže želeni cilj. Primeri zahtevajo oz. vsebujejo tudi veliko informa­cij. Takoj, ko strokovnjak za neko podrocje dobi nov primer, lahko s pomocjo znanja, ki ga je uporabil že pri predhodnem primeru, pomaga tudi pri aktual­nem primeru. Tako se lahko primeri rešujejo hitreje in bolj ucinkovito. Našteli smo nekaj deležnikov, ki sodelujejo pri reše­vanju primerov. To so: informacije, akcije, cloveški viri,znanje, itd. Vse lahko združimo pod poimenovanjem»menedžment primerov«, ki ga vodi skupina strokov­njakov, imenovani tudi »znanjski delavci« (ang. Kno­wledge workers) (Davenport, 2005) (Rant, 2002). Ena najpomembnejših znacilnosti menedžmenta primerov je nacrtovanje. Vsak primer namrec zahte­va doloceno stopnjo fleksibilnosti, saj se primeri med seboj razlikujejo. Težko si je namrec predstavljati, da bosta prišla k zdravniku dva pacienta, ki bosta ime-la tocno enake simptome za doloceno bolezen. Fle­ksibilnost pri izbiri naslednjega koraka zdravljenja lahko omogoci zdravniku, da enemu pacientu doloci pregled A, drugemu pa pregled B. Zaporedje dogod­kov je torej pri pacientu A, drugacno kot pri pacientu B. Znanjski delavci so torej tisti, ki izberejo tocno za­poredje aktivnosti procesa zdravljenja, glede na svo­je znanje in izkušnje (Swenson, 2013). Domen Mongus, Matej Brumen, Borut Kozan: Merjenje nadmorske višine gladine jezer iz opticnih satelitskih slik Ce pogledamo celotno zadevo iz vidika modelira­nja procesa, ki smo ga omenili zgoraj, vidimo da pro-ces na nizkem nivoju abstrakcije zelo težko še boljše zapišemo. Razlog je v tem, da je lahko skoraj vsaka instanca procesa drugacna oz. vsebuje morda aktiv­nost, ki je katera druga instanca ne vsebuje. Na podrocju modeliranja poslovnih procesov je zelo poznan standard BPMN (ang. Business Process Model and Notation) (OMG (Object Management Group), 2011), ki omogoca modeliranje poslovnih procesov. Standard zahteva zelo dobro poznavanje procesa, da lahko kasneje iz nekega nestrukturirane­ga besedila dobimo model. Dokler so procesi enolic­no doloceni je uporaba takega standarda smiselna in zelo dobrodošla. Kakor hitro pa imamo opravka s procesi, kjer so-delujejo znanjski delavci, katerih delo zahteva do-loceno stopnjo fleksibilnosti, pa se lahko za zapiso­vanje poslovnih procesov uporabi notacija CMMN (ang. Case Management Model and Notation) (Koc­bek Bule idr., 2019; OMG (Object Management Gro­up), 2016). V clanku bomo tako predstavili notacijo CMMN in vlogo znanjskih delavcev v poslovnih procesih. 2 PREDsTAVITEV PODROcJA Podrocje poslovnih procesov je pomembna kompo­nenta mnogih organizacij, saj se uporaba reflektira v izdelkih, storitvah oz. koncnih produktih. Življenjski cikel poslovnih procesov v nekaterih fazah uporablja modeliranje poslovnih procesov, z namenom boljšega nadzora nad poslovnim procesom organizacije in tudi boljšega razumevanja le-tega med zaposlenimi (Dumas idr., 2013). Poslovne procese si pogosto še vedno predsta­vljamo kot zelo predvidljive, vnaprej tocno dolocene, enake v vsaki instanci (Auer idr., 2014). To izvira iz industrijske dobe, kjer je delo obicajno potekalo za tekocim trakom, kar pomeni, da je bila vsaka instan-ca procesa zelo podobna prejšnji. Avtor Savage kot nadaljevanje industrijske dobe navaja »dobo znanja«, ki temelji na znanju in izkušnjah strokovnjaka (Sa­vage, 1996). V takem okolju rutinsko delo zamenja nerutinsko, oz. vsaki instanci procesa prilagojeno izvajanje. V organizacijah, kjer je delo rutinsko in je poslov­ni proces naravnan predvidljivo (vsaka instanca pro-cesa je enaka) je za modeliranje poslovnih procesov najbolj sprejet in razširjen standard BPMN (Kocbek idr., 2015). Pri nerutinskem delu, pri procesih, kjer je zaželeno ali zahtevana fleksibilnost, pa se uveljavlja notacija CMMN. 2.1 Navezava s standardom BPMN Glavni razlog za uvedbo notacije CMMN je bila po­treba po notaciji, ki bo omogocala vecjo fleksibilnost modela poslovnega procesa. Fleksibilnost je potreb­na, ker se lahko poslovni proces v eni izvedbi izve­de drugace, kot se bo v naslednji. Npr.: vrstni red aktivnosti je lahko drugacen, nekatere aktivnosti se izvedejo, druge ne. Ni torej vedno potrebno, da ima-mo strogi postopek, kjer se aktivnosti izvajajo ena za drugo. Znanjski delavci so tisti, ki v takšnih dinamicnih/nerutinskih procesih dolocajo katere aktivnosti se bodo izvajale, kdaj, po kakšnem zaporedju. Neka­tere aktivnosti se lahko v tudi izkljuci. To je glavna razlika v primerjavi s široko sprejetimi koncepti ru­tinskih/strukturiranih poslovnih procesov, kjer je za vsako aktivnost tocno doloceno kdaj, kje in zakaj se bo izvedla. Kot smo že predstavili, natancno na-crtovani, strukturirani procesi niso vedno najboljša izbira pri reševanju specificnih primerov (primeri iz medicine). Povzamemo lahko, da je BPMN sprejet in široko uporabljen standard, ki pa kljub vsemu vsebuje nekaj pomanjkljivosti, ki jih lahko zakrpa notacija CMMN. Trenutno je le malo »kombinirane« uporabe (Metho­dandstyle.com, 2014). 3 ZNANJSKI DELAVCI Znanjski delavci so delavci, ki pri svojem delu upo­rabljajo znanje in izkušnje. Njihovo delo je komple­ksnejše in ni ponavljajoce. Pomembno je, da svoje znanje nenehno izpopolnjujejo in nadgrajujejo (Rant, 2008, 2002). Znanjski delavci so neposredno poveza­ni tudi s poslovnimi procesi svoje institucije. Proces, ki ga izvajajo, tudi zelo dobro poznajo in so tisti, ki lahko predlagajo izboljšave procesa. Iz tega sledi tudi vecja odgovornost, ki jo imajo v primerjavi s klasic­nimi delavci (Rant, 2008, 2002). Znanjski delavci so lastniki svojih delovnih sredstev, tj. znanje, kar jim omogoca veliko neodvisnost od organizacije v kateri delujejo. Še nekaj dodatnih znacilnosti znanjskih delavcev v primerjavi s klasicnimi, je predstavljenih v tabeli 1. Tabela je povzeta po (Rant, 2008). Mateja Kocbek Bule: Znanjski delavci in notacija CMMN Tabela 1: Kratka primerjava, klasicni – znanjski delavci znacilnost Klasicni delavec Znanjski delavec opravila enostavna, ponavljajoca kompleksna vodenje odrejanje in kontrola samovodenje status v instituciji podrejeni pridruženi število predstavnikov veliko manj produktivnost zanjo skrbijo drugi zanjo skrbijo sami informacije skoraj nepomembne kljucni vir za delo komunikacija z drugimi skoraj nepotrebna nujna inovacije obcasno neprestano odgovornost je nimajo odgovornost za prispevek k svojem podrocju spremembe redke stalnica Vir: (Rant, 2008) 4 NOTACIJA CMMN Notacija Case Management Model and Notation (v nadaljevanju CMMN) se uporablja kot graficna predstavitev primerov (OMG (Object Management Group), 2016). Je notacija, s katero lahko predstavi-mo bolj dinamicne poslovne procese, z dodatnimi informacijami, ki so potrebne, da se proces izvede. CMMN je bil uveden prav zaradi ad-hoc scenarijev, ki se lahko zgodijo v razlicnih instancah poslovnih procesov. CMMN se povezuje z znanjskimi delavci, ki za to, da se proces izvede, uporabijo veliko svoje­ga znanja in izkušenj, saj se znajo odzvati na razlic­ne (poslovne) dogodke. Notacija CMMN jim je tukaj samo v pomoc, saj so elementi procesa definirani na takem nivoju, da lahko glede na svoje znanje vsak primer izvedejo drugace. Konzorcij 11 podjetij je tako predstavil notacijo CMMN, ki je sedaj pod okriljem organizacije OMG. Trenutno je notacija v verziji 1.1 (december 2016) (OMG (Object Management Group), 2016). 4.1 Elementi Nabor elementov, ki sestavljajo notacijo CMMN ni zelo obsežen, saj je notacija relativno nova in malo v uporabi. V nadaljevanju bomo na kratko predstavi­li elemente notacije CMMN, zacenši z najpogosteje uporabljenimi. Elementi so predstavljeni tudi vizu­alno. Te predstavitve (slike) so ustvarjene s pomocjo orodja Signavio (Signavio Inc., b. d.). Najbolj zunanji element notacije CMMN, je Model nacrta primera(ang. Case Plan Model) (slika 1). Vsi osta­li elementi so torej uporabljeni znotraj tega elementa. Vse informacije (ali reference do njih), ki so po­trebne za upravljanje s primerom, so definirane v Datoteki primera (ang. Case File). To je logicni model, ki ni mišljen kot fizicna shramba informacij. Vsebuje lahko vec elementov Postavka datoteke primera (ang. Case File Items). Element je predstavljen na sliki 1. Lahko predstavlja vse: od shranjene mape ali doku­menta, shranjene celotne hierarhije sklicevanja, do vsebovanja drugih elementov tega istega tipa. Pri modeliranju nestrukturiranih, nerutinskih procesov je pomembno, da so elementi predstavljeni tako, da je iz diagrama takoj razvidno ali so aktiv­nosti zahtevane ali opcijske. Elementa, ki ju je mogoce predstaviti na takšen nacin sta: element Stopnja (ang. Stage), ki ga lahko predstavimo kot eno epizodo pri­mera in element Opravilo (ang. Task), ki je aktivnost znotraj primera (tabela 2). Element Poslušalec dogodkov (ang. Event Liste­ner) je element, ki se odziva na dogodke. V notaciji CMMN so trije razlicni takšni elementi: poslušalec navadnega dogodka, poslušalec casovnega dogod­ka in poslušalec uporabniškega dogodka (slika 2). S pomocjo elementa Mejnik (ang. Milestone) se lahko definira cilje (slika 2). Mateja Kocbek Bule: Znanjski delavci in notacija CMMN Tabela 2: možni prikazi elementov stopnja in Opravilo Ime elementa Navadni prikaz Diskrecijski prikaz Stopnja (ang. Stage) Opravilo (ang. Task) Slika 2: Trije razlicni elementi Poslušalec dogodkov in element mejnik CMMN prav tako vsebuje širok nabor razlicnih opravil (ang. Tasks), ki so predstavljena v tabeli 3. Kot je bilo predhodno že navedeno, je mogoce opra­vila predstaviti na dva razlicna nacina. V tabeli 3 sta predstavljena oba nacina za vsako obstojece opravi-lo: prvo je Obicajno opravilo, ki nima definiranih po­sebnosti; sledi Rocno opravilo, ki se izvede takoj po namestitvi, nad takimi opravili sistem za upravljanje s primeri nima nadzora; Uporabniško opravilo je opra­vilo, ki ga opravi uporabnik s podporo sistema za upravljanje s primeri; Procesno opravilo se lahko upo­rablja za povezovanje z modelom BPMN; Opravilo primera se lahko uporablja za povezovanje z drugim modelom CMMN in na koncu Odlocitveno opravilose lahko uporablja za povezovanje z modelom DMN. Elementi notacije CMMN lahko vsebujejo tudi vec razlicnih atributov (ang. decorators). Vsi so pred- Tabela 4: Obstojeci atributi Tabela 3: Opravila v CMMN Ime in opis Navadni prikaz Diskrecijski prikaz opravila Obicajno opravilo (ang. Task) Rocno opravilo (ang. Human Task, isBlocking: false) Uporabniško opravilo (ang. Human Task, isBlocking: true) Procesno opravilo (ang. Process Task) Opravilo primera (ang. Case Task) Odlocitveno opravilo (ang. Decision Task) stavljeni v tabeli 4. V nadaljevanju, v tabeli 5, pa je predstavljena dovoljena uporaba teh atributov na elementih. Celotna vsebina obeh tabel je povzeta po viru (OMG (Object Management Group), 2016). Tabela Vstopni Izstopni Avtomatski Manualna zahtevano Ponavljanje nacrtovanja kriterij kriterij zakljucek aktivacija ang. Planning ang. Entry ang. Exit Criterion ang. Auto ang. Manual ang. Required ang. Repetition Table Criterion Complete Activation Mateja Kocbek Bule: Znanjski delavci in notacija CMMN Tabela 5: Dovoljena uporaba atributov na dolocenih elementih model nacrta primera Stopnja Opravilo Mejnik ang. Case Plan Model ang. Stage ang. Task ang. Milestone lahko uporabi le v kombinaciji z elementom Uporabniško opravilo. Atributa Vstopni kriterij (ang. Entry Criterion) in Izstopni kriterij(ang. Exit Criterion) spadata pod ele­ment Stražar(ang. Sentries), ki pazi na dogajanje, ki lahko vpliva na potek/razplet primera. Lahko bi re-kli, da je Stražarskupek dogodka in pogoja. Atributa se lahko uporabljata le na nekaterih elementih. Do-voljena uporaba je prikazana v tabeli 5. 4.2 Delovanje Poleg vseh predstavljenih elementov notacije CMMN so za nacrtovanje in izvedbo procesov potrebna tudi pravila delovanja. Notacija CMMN pokriva procese, kjer so lahko posamezne instance procesov med se­boj drugacne. Torej vsaka instanca procesa se lahko izvede po drugacnem zaporedju, uporabijo se lahko druga opravila, morda se celo katero opravilo ne iz­vede, itd. Približek takšnega delovanja poznamo že tudi iz standarda BPMN, kjer so lahko deli proce­sa definirani kot »ad-hoc«. To pomeni, da ni tocno dolocenega zaporedja izvedbe opravil. Dovoljeno je tudi izvajanje dolocenega opravila veckrat. Zapored­je in frekvenco opravil, v takšnih primerih, dolocajo znanjskih delavci (Hinkelmann, 2014). Kot je razvidno iz slike 3 je lahko posamezen pri­mer v dveh razlicnih fazah: (1) v fazi nacrtovanja (ang. design-time phase), ali (2) v fazi izvedbe (ang. run-time phase) (Hinkelmann, 2014). V fazi nacrtovanja se doloci, katera opravila so ve­dno del procesa in se morajo izvesti v vsaki instanci procesa, in katera so opcijska. Oba nacina prikaza opravil sta predstavljena v tabeli 3: navadni prikaz s polno crto okoli opravila je simbol za obvezna opra­vila, medtem ko je diskrecijski prikaz, s crtkano crto okoli opravila, simbol za opcijsko opravilo, ki so do-datno na voljo znanjskim delavcem, glede na njihovo presojo. V fazi izvedbe se dejansko izvedejo planira­na, obvezna opravila. Glede na potrebe posamezne instance procesa pa se dodatno lahko izvedejo tudi diskrecijska opravila (Hinkelmann, 2014). Predvsem iz faze izvedbe sledi, da se v casu iz- Slika 3: Faze primerov Mateja Kocbek Bule: Znanjski delavci in notacija CMMN vajanja procesa znanjski delavec lahko odloci, ce bo vkljucil v trenutni proces neko opravilo ali ne. Od­locitev se sprejema na podlagi znanja, ki ga je znanj-ski delavec pridobil s pomocjo podatkov o procesu. Referenca na podatke/informacije/znanje v procesih modeliranih z notacijo CMMN je zelo pomembna. Podatki so pogosto shranjeni v datotekah primera (ang. case file), ki se jih torej lahko uporabi pri spreje­manju odlocitev znotraj procesa (Hinkelmann, 2014). Znanje za izvedbo procesa najprej predstavlja znanje, ki ga ima znanjski delavec (npr. zdravnik ima znanje medicine). Tukaj se lahko dodajajo tudi znanja ali t.i. »tiha« pravila vseh znanjskih delavcev in institucij, ki so del procesa (npr. nerazkrivanje zdravstvenega stanja pacienta) (Hinkelmann, 2014). IZZIVI UPORABE CMMN ZA ZNANJSKE DELAVCE Notacija CMMN je sorazmerno nova, kar pomeni, da je trenutno njena uporaba omejena. Prav tako je slabše poznano tudi celotno podrocje menedžmenta primerov. Seveda obstajajo podobnosti s standardom BPMN, vendar moramo pri modeliranju v CMMN razmišljati drugace, se bolj osredotocati na vlogo po­sameznika v procesu (F. A. Cummins, 2017)predic­table processes. CMMN (Case Management Model and Notation. Znanjski delavci s svojim znanjem in izkušnjami prispevajo k prilagojenemu nacinu izvedbe vsake instance nerutinskega procesa. V rutinskih procesih so udeleženci izvajali naloge po tocno dolocenem, danem postopku, kjer ni bilo potrebe po vkljucitvi znanja in izkušenj udeležencev. To se je, kot je bilo že omenjeno, z dobo znanja, spremenilo. Interakcija je vedno bolj zaželena oz. ponekod celo potrebna (pri-meri iz medicine). Z notacijo CMMN smo dobili možnost formalnega zapisa nerutinskih procesov, ki pa se srecuje z nekate­rimi izzivi (F. A. Cummins, 2017)predictable proces­ses. CMMN (Case Management Model and Notation. • Sodelovanje med znanjskimi delavci je slabo de­finirano. Znanjski delavci morajo vedeti, kdo vse sodeluje v dani instanci procesa in imeti možnost komunikacije med seboj. • Iz zgornje alineje izhaja tudi smiselnost vkljucitve vlog v proces. • Opravila bi morala vsebovati vec informacij za potencialno potrebo. • Omogocen bi moral biti vpogled v zgodovino iz­vedbe primera. • Omogocena bi morala biti vecja povezljivost med primeri. • Za nekatera opravila bi bilo smiselno, da je omo-goceno potrjevanje s strani drugih udeležencev ali znanjskih delavcev. • Podobno kot pri drugih modelih je tudi model primera potrebno graditi postopno, iterativno in upoštevati odziv uporabnikov procesa.Rešitve za navedene izzive lahko išcemo v nad­ gradnjah oz. razširitvah, vendar je potrebno celotno podrocje še dodatno raziskati in predvsem uporab­ljati v praksi. Slika 4: Primer pisanja osnutka v notaciji CMMN Mateja Kocbek Bule: Znanjski delavci in notacija CMMN PRIMER NERUTINSKEGA PROCESA 6.1 Primer 1 K predstavitvi notacije CMMN vsekakor spada tudi primer procesa zmodeliran v CMMN. V primeru, ki je predstavljen na sliki 4, bo vkljucenih nekaj pogosto uporabljenih elementov. Vsi so bili predstavljenih v prejšnjih poglavjih. Primer predstavlja proces pisa­nja dokumenta/osnutka, ki ga vsi relativno dobro po­znamo. Tako bo morda model notacije CMMN tudi lažje razumljiv. Model je ustvarjen s pomocjo orodja Signavio (Signavio Inc., b. d.). Celoten model zaobjema element Model nacrta pri­mera, poimenovan ‘Pisanje osnutka’. Karkoli se zgodi v tem procesu, mora ta element zajemati, ne glede na to, kaj se izvede v dolocenih instancah in kaj ne. Proces se lahko zacne z enim od opravil: ‘Iskanje teme’ali ‘Kreiranje predloge’, izvesti pa se morata obe opravili, kar tudi vsebinsko ustreza, saj pri pisa­nju dokumenta potrebujemo neko temo in predlogo za pisanje. Sledi nekoliko obsežnejši element Stopnja, poime­novan ‘Pripravi osnutek’, ki vsebuje štiri opravila in katerega izvedba je zahtevana(simbol klicaj). Pri pisa­nju dokumenta namrec potrebujemo osnutek. Obvezno opravilo, poimenovano ‘Upravljanje re-ferenc’, ima vstopni kriterij (ali tudi vstopni pogoj), ki mora biti izpolnjen, da se opravilo sploh izvede. Vsebinsko to pomeni, da moramo najprej poiskati ustrezno temo za pisanje in nato lahko upravljamo z referencami. Podobno ima vstopni pogoj tudi opravilo, poime­novano ‘Uporaba predloge’, vendar to opravilo ni obvezno, kar je nakazano s crtkano crto. Opravilo se lahko v neki instanci procesa izvede, v drugi ne. Po-goj, ki mora biti izpolnjen, da je opravilo pripravlje-no na izvedbo, pa je kreirana predloga. Znotraj elementa Stopnja imamo tako še dve obve­zni opravili, to sta: ‘Pisanje besedila’in ‘Priprava kaza-la vsebine’. Prvo je zahtevano, saj vsebuje simbol klicaj,enako kot element Stopnja, drugo pa je t. i. uporabniško opravilo, ki ga opravi uporabnik s podporo nekega sis-tema. Vsebinsko: obvezno moramo zapisati besedilo inpripraviti kazalo vsebine, s pomocjo izbranega orodja. Opravilo, poimenovano ‘Iskanje komentarjev’in element Stopnja, poimenovan ‘Pregled osnutka’, sta naslednja elementa. Stopnja ima izstopni kriterij(ali izstopni pogoj), ki je povezan z elementom Mejnik, buje vstopni kriterij. Vsebinsko bi lahko to pojasnili kot: zakljucek pregleda osnutka vodi v koncano sta­nje dokumenta. Dodatno imamo na koncu še dva elementa: Po-slušalec casovnega dogodka in Postavka datoteke primera. Prvi element definira datum, do katerega je potreb-no dokument dokoncati. Drugi pa vsebuje dejanski dokument. Oba elementa sta povezana z izstopnim kriterijem, kar onemogoca predhodno zakljucevanje procesa. Tudi zgoraj omenjeni element Mejnik je v nadaljevanju povezan na izstopni pogoj iz celotnega procesa oz. iz elementa Model nacrta primera(OMG (Object Management Group), 2016), (Marin, 2016), (Kocbek & Polancic, 2016). 6.2 Primer 2 Kot drugi primer poslovnega procesa, zmodelira­nega v notaciji CMMN, bi želeli predstaviti kratek proces iz zdravstva. Model predstavlja proces oce­njevanja primernosti darovalca jeter (slika 5)1. Model je ustvarjen s pomocjo orodja Signavio (Signavio Inc., b. d.) in povzet po viru (Herzberg idr., 2014; Neško­vic & Kirchner, 2016) Enako kot pri prejšnjem primeru, tudi tukaj ele­ment Model nacrta primera zajemaceloten proces. V tem primeru je nekoliko vec povezav med elementi, kar nakazuje na nižjo stopnjo fleksibilnosti procesa. To je bolj izrazito v zacetku procesa, kjer imamo tri povezana opravila. Vsebinsko to pomeni, da mora-mo opraviti nekaj zacetnih pregledov, kjer je izvedba le-teh zaporedna. Element Mejnik, poimenovan ‘Opravljeni zacetni pregledi’, vodi v nadaljnja elementa Stopnja. Vecja fleksibilnost se pokaže znotraj elementa Stopnja, poimenovanega ‘Preiskave’, kjer imamo sedem ne­povezanih opravil, ki se lahko izvedejo v poljubnem vrstnem redu. Izvedba treh opravil je opcijska, kar nakazuje crtkana crta roba. Vsebinsko: da postanemo darovalec moramo na naslednje preiskave: ultrazvok trebuha, EKG, CT, MRI. Preiskave kot so test delova­nja pluc, test LiMAx in TTE pa so opcijski. Element Mejnik, poimenovan ‘Rezultati so na vo­ljo’, vodi v opravilo, poimenovano ‘Analiza rezulta­tov’. Tukaj se na podlagi pridobljenih rezultatov da­rovalca doloci ali so potrebne nadaljnje preiskave ali ne. Na elementu Stopnja, poimenovanemu ‘Nadaljnje preiskave’, se to graficno prikazuje s crtkano crto roba. 1 poimenovanim ‘Osnutek koncan’, ki pa prav tako vse-Opisan proces ni primerno vodilo v dejanskih tovrstnih procesih. Mateja Kocbek Bule: Znanjski delavci in notacija CMMN Slika 5: Primer procesa v zdravstvu v notaciji CMMN Proces se zakljuci z elementom Poslušalec upo-elementom Poslušalec uporabniškega dogodka, ki vodi v rabniškega dogodka, poimenovanega ‘Darovalec ne-izvedbo nadaljnjih postopkov ocenjevanja darovalca ustrezen’, v kolikor je darovalec neustrezen. V na-oz. vodi v drug proces.sprotnem primeru, pa se proces prav tako zakljuci z Mateja Kocbek Bule: Znanjski delavci in notacija CMMN SKLEP V clanku smo predstavili notacijo CMMN za mene­džment primerov v navezavi z znanjskimi delavci. Od rutinskih procesov, ki temeljijo na principu »teko-cega traka« in so v vsaki instanci procesa enaki, smo sedaj prešli v dobo znanja, kjer so procesi vedno bolj nerutinski. Ti zahtevajo sodelovanje znanjskih delav­cev, ki doprinesejo s svojim znanjem in izkušnjami. Nazorni primeri so iz medicine, kjer npr. zdravnik, ki je znanjski delavec, za vsak primer odloci, kako bo izvedel zdravljenje. Povsem razumljivo je, da bo za vsakega pacienta proces izveden nekoliko drugace. Notacija CMMN je primerna za modeliranje tovr­stnih procesov, saj omogoca vec fleksibilnosti pri iz­vedbi procesa, kot npr. standard BPMN. Kljub temu se notacija CMMN srecuje z nekaterimi izzivi, ki smo jih predstavili v clanku, saj je še relativno malo v uporabi. Izpostaviti pa želimo, da notacija CMMN lahko pomembno prispeva k spremembam na po­drocju modeliranja poslovnih procesov, saj ponuja nekoliko drugacen pristop oz. pogled na procese, kot druge, že nekoliko bolj uveljavljene notacije. LITERATURA [1] Auer, D., Hinterholzer, S., Kubovy, J., & Küng, J. (2014). Busi­ness Process Management for Knowledge Work: Considera­tions on Current Needs, Basic Concepts and Models. Lecture Notes in Information Systems and Organisation, 79–95. [2] Cummins, F. A. (2017). Chapter 4 - Next-Generation Business Process Management (BPM). V F. A. B. T.-B. the A. E. (Se­cond E. Cummins (Ur.), The MK/OMG Press (str. 115–154). Morgan Kaufmann. https://doi.org/https://doi.org/10.1016/ B978-0-12-805160-3.00004-1 [3] Davenport, T. H. (2005). Thinking for a Living: How to Get Better Performances And Results from Knowledge Workers. Harvard Business Press. [4] Dumas, M., Rosa, M. La, Mendling, J., & Reijers, H. A. (2013). Fundamentals of Business Process Management. Springer Publishing Company, Incorporated. [5] Fran.si. (b. d.). Beseda: primer. Pridobljeno 28. februar 2020., od https://fran.si/iskanje?View=1&Query=primer [6] Herzberg, N., Kirchner, K., & Weske, M. (2014). Modeling and Monitoring Variability in Hospital Treatments: A Scenario Using CMMN. Lecture Notes in Business Information Proces­sing, 3–15. https://doi.org/10.1007/978-3-319-15895-2 1 [7] Hinkelmann, K. (2014). Case Management Model and Nota­tion - CMMN. http://knut.hinkelmann.ch/lectures/bpm2013­14/06_CMMN.pdf [8] Kocbek Bule, M., Polancic, G., Huber, J., & Jošt, G. (2019). Semiotic clarity of Case Management Model and Notati­on (CMMN). Computer Standards & Interfaces, 66, 103354. https://doi.org/10.1016/j.csi.2019.04.013 [9] Kocbek, M., Jošt, G., Hericko, M., & Polancic, G. (2015). Business process model and notation: The current state of affairs. Computer Science and Information Systems, 12(2), 509–539. [10] Kocbek, M., & Polancic, G. (2016). Introduction to Case Ma­nagement Model and Notation. Information Society 2016. [11] Marin, M. A. (2016). Introduction to the Case Manage­ment Model and Notation (CMMN). 1–23. http://arxiv.org/ abs/1608.05011 [12] Methodandstyle.com. (2014). BPMN and CMMN Compared. http://brsilver.com/bpmn-cmmn-compared/ [13] Neškovic, S., & Kirchner, K. (2016). Using context information and CMMN to model knowledge-intensive business proces­ses. Proceedings of the 6th International Conference on Infor­mation Society and Technolo-gy ICIST, August, 17–21. [14] OMG (Object Management Group). (2011). Business Process Model and Notation Specification. http://www.omg.org/spec/ BPMN/2.0 [15] OMG (Object Management Group). (2016). Case Manage­ment Model and Notation 1.1. 126. http://www.omg.org/ spec/CMMN/ [16] Rant, Ž. (2008). Prenos znanja kot dilema znanjskih delavcev in ucece se organizacije. Organizacija, 41(2), str. A126-A131. http://organizacija.fov.uni-mb.si/index.php/organizacija-si/ article/viewFile/753/654 [17] Rant, Ž. (2002). Znanjski delavci. Management in Evropska unija : zbornik konference z mednarodno udeležbo / 21. znan­stvena konferenca o razvoju organizacijskih ved, 409–418. [18] Savage, C. M. (1996). Fifth Generation Management: Co-cre­ating Through Virtual Enterprising, Dynamic Teaming, and Knowledge Networking. Butterworth-Heinemann. [19] Signavio Inc. (b. d.). Academic Signavio. academic.signavio. com [20] Swenson, K. D. (2013). State of the Art In Case Management. V Fujitsu America, Inc (Številka March). http://www.fujitsu. com/downloads/INTSTG/bop/Fujitsu-Interstage-State-of­-the-Art-In-Case-Management.pdf • Mateja Kocbek Bule je asistentka in doktorska študentka na Fakulteti za elektrotehniko, racunalništvo in informatiko, Univerze v Mariboru. Med njene interesne dejavnosti spada predvsem podrocje upravljanja poslovnih procesov. krAtkI zNANStVENI prISpEVkI Application of tropical semiring for matrix factorization Amra Omanovic, Polona Oblak, Tomaž Curk University of Ljubljana, Faculty of Computer and Information Science, Vecna pot 113, 1000 Ljubljana, Slovenia amra.omanovic@fri.uni-lj.si, polona.oblak@fri.uni-lj.si, tomaz.curk@fri.uni-lj.si Abstract Matrix factorization methods employ standard linear algebra, i.e. linear models, for recommender systems. With the introduction of the tropical semiring, we can achieve non-linearity. We review algorithms that use the tropical semiring for matrix factorization and provide their strengths and limitations. We show that the tropical matrix factorization yields better results than non-negative matrix factorization for the synthetic data created by the underlying process of the tropical semiring. Keywords: Data embedding, data mining, matrix factorization, subtropical semiring, tropical semiring. Izvlecek Metode matricne faktorizacije uporabljajo za priporocilne sisteme standardno linearno algebro, torej linearne modele. Z zamenjavo operacij in z uvedbo tropskega polkolobarja lahko dodamo metodam komponento nelinearnosti. V clanku pregledamo algoritme, ki za faktorizacijo matrike uporabljajo tropski polkolobar, in podamo njihove prednosti in omejitve. Pokažemo, da tropska matricna fakto­rizacija daje boljše rezultate kot nenegativna matricna faktorizacija na sinteticnih podatkih, ustvarjenih z množenjem matrik v trop­skem polkolobarju. Kljucne besede: Vložitev podatkov, podatkovno rudarjenje, matricna faktorizacija, subtropski polkolobar, tropski polkolobar 1 INTRODUCTION Data mining is one of the main challenges in com­puter science. There is a need to develop methods to embed data into a lower-dimensional latent space, which may help with various machine learning ta­sks. Adata embedding model, such as matrix factori­zation (MF), gives us a more compact representation of the data and simultaneously finds a latent struc­ture. MF algorithms (e.g., non-negative matrix fac- torization (NMF) [Lee and Seung, 1999]) decompose the original matrix into a product of a base matrix and a coefficient matrix of lower dimensions. Most of machine learning methods for data embedding, e.g., [Lee and Seung, 1999, Žitnik and Zupan, 2015, Zhang et al., 2007, Laurberg et al., 2008], use stan- dard line­ar algebra. Recently, several authors considered substituting the standard linear algebra with other semir- ing ope­rations, e.g., [Karaev and Miettinen, 2016a, Karaev et al., 2018, Karaev and Miettinen, 2016b, Karaev and Miettinen, 2019]. In this paper we review some algo­rithms that use alternative nonstandard op- erations for matrix factorization and provide their strengths, limitations and potential of discovering interesting patterns. In our work, we are motivated by the que­stion from [Karaev and Miettinen, 2016a], asking if a tropical matrix factorization can be used except for data analysis, also in other data mining and machine learning tasks, such as matrix completion. We expect that for the data that is not normally distributed and may contain a lot of extreme values using tropical se-miring should give better results than MF methods that use standard operations of addition and multi­plication. Standard MF methods belong to the class of line­ar models that are unable to model complex relati­ons. With the tropical semiring, we can introduce the non-linearity using the maximum operator. Another motivation for using tropical semiring is the work of Zhang et al. [Zhang et al., 2018]. They showed that linear regions of feedforward neural networks with rectified linear unit activation correspond to vertices Amra Omanovic, Polona Oblak, Tomaž Curk: Application of tropical semiring for matrix factorization of polytopes associated with tropical rational func­tions. Therefore, to understand specific neural net­works, we need to understand relevant tropical ge­ometry. Since the goal is not just to model the data, but also to understand the underlying mechanisms, the matrix factorization methods that use tropical se-miring can give us a more straightforward interpre­tation than neural networks. We split the remainder of the paper into the fol­lowing sections. Sections 2 and 3 describe tropical semiring and related work, followed by results in Section 4. We conclude our paper in Section 5. 2 TROPICAL SEMIRING The (max, +) semiring or tropical semiring .max, is the set .. {–8}, equipped with max as addition (.), and + as multiplication (.). For example, 2 . 3 = 3 and 1 . 1 = 2. On the other hand, in the subtropical semi-ring or (max, ×) semiring, defined on the same set .. {–8}, addition (max) is defined as in the tropical semiring, but the multiplication is the standard mul­tiplication (×). By taking the logarithm of the subtro­pical semiring, we obtain the tropical semiring, thus these two semirings are isomorphic. Let .m × n maxdefine the set of all m × n matrices over tropical semiring. For A . .m × n Rm×n we denote max by aij the entry in the i-th row and the j-th column of matrix A. We define the sum of matrices A = [aij], B = [bij] . .m × n maxas (A . B)ij = aij . bij = max {aij, bij}, i = 1, . . . , m, j = 1, . . . , n, and the product of matrices A = [aij] . .m × p, B = [bkl] . .p × n as maxmax p (A . B)ij = . aik. bkj= max {aik+ bkj}, k = 11=k=p i = 1, . . . , m, j = 1, . . . , n. Matrix factorization over a tropical semiring is a de­composition of a form A = U . V, where A . .m × n , max U . .m × r , V . .r × n maxmaxand r . N0. For small values of r such decomposition may not exist. Aproblem of tropical matrix factorization is thus stated as follows: given a matrix A . .m × n and r . N0, find U . .m × r maxmax and V . .r × n maxsuch that A . U . V. (1) Similarly, we define a subtropical matrix factori­zation. Note that the factorization in tropical semi-ring give different results and works with different methods than the factorization in subtropical semi-ring. 3 RELATED WORK The most common examples of matrix factorizati­on are the singular value decomposition (SVD) (see examples in [Golub and Reinsch, 1971]) and the non-negative matrix factorization (NMF) [Lee and Seung, 1999], where the factorization is restricted to matrices with non-negative entries. This non-ne­gativity in resulting factor matrices U and V allows interpretation of the results. Binary matrix factoriza­tion (BMF) [Zhang et al., 2007, Zhang et al., 2010] is a variant rooted from NMF where factor matrices are binary, while probabilistic nonnegative matrix facto­rization (PMF) [Laurberg et al., 2008, Gaussier and Goutte, 2005] approximates data as samples from a multinomial distribution. The Cancer algorithm [Karaev and Miettinen, 2016a] works with continuous data, performing sub­tropical/tropical matrix factorization (SMF) on the input matrix, and returning two factorized matrices. The algorithm’s two key ideas are: iteratively upda­ting the rank-1 factors one-by-one and approxima­ting the reconstruction error with a polynomial of low-degree. Latitude algorithm [Karaev et al., 2018] combines NMF and SMF, where factors are interpre­ted as NMF or SMF features or as mixtures of both. Unfortunately, neither Can- cer not Latitude do not guarantee the convergence of the algorithms. Also, the authors [Weston et al., 2013] used subtropical se-miring as part of a recommender system, which can be considered as a special kind of neural network. De Schutter & De Moor introduced in 1997 a he­uristic algorithm [De Schutter and De Moor, 1997] to compute factorization of a matrix in the tropical semiring, which we denote as Tropical Matrix Facto­rization (TMF). They use it to determine the minimal system order of a discrete event system (DES). In the last decades, there has been an increase in this rese­arch area, and DES is modeled as a max-plus-linear (MPL) system. To implement TMF we need to know how to solve tropical linear systems. Atropical linear system is not [aij] . .m × n solvable in general. For A =maxand c = [ck] . .m max we call the solutions x . .n of the inequality max A . x . c the subsolutions of the linear system A . x = c. The greatest subsolution x = [x1 x2. . . xn]T of A . x . c can be computed by Amra Omanovic, Polona Oblak, Tomaž Curk: Application of tropical semiring for matrix factorization xi =max(cj - aji), 1 =j =m for i = 1, 2, . . . , n, where symbol »-« denotes the stan­dard subtraction in . [Gaubert and Plus, 1997]. TMF starts with an initial guess for the matrix U in (1), denoted by U0, and then computes V as the gre­atest subsolution X of the equation U0. X = A. Then authors use the iterative procedure by selecting and adapting an entry of U or V and recomputing it aLs the greatest subsolutions of Y . V = A and U . X = A,respectively. The b-norm defined as ·Ab· = .i,j ·aij· is used as the objective function to get a good approxi­mation of the input data. In contrast to Cancer and Latitude, TMF update rules gradually reduce the approximation error and thus TMF algorithm is convergent. However, none of the existing tropical and subtropical algorithms Cancer and TMF, as defined, cannot be used for pre­diction tasks in data mining problems. Note that in TMF method there is no non-negativity constraint compared to the NMF and its variants. However, a weakness of TMF compared to NMF is in its compu­tational efficiency. 4 RESULTS We compare TMF and NMF on synthetic data crea­ted as a product of two non-negative random matri­ces. The objective of synthetic experiments is to show that the TMF can identify the (max, +) structure when it exists. Therefore, we construct two synthetic ma­trices: Ds. .210 × 110as the standard product (+, ×) of two random matrices of sizes 210 × 2 and 2 × 110; and Dt. .210 × 110as the tropical product (max, +) of the same two matrices. (a) Original synthetic matrix Ds and its two approxima- tions. (b) Original synthetic matrix Dt and its two approxima- tions. Correlation between TMF and NMF approximated matrices and matrix Correlation between TMF and NMF approximated matrices and matrix Dis equal to 0.983 and 0.990, re- spectively. is equal to 0.974 and 0.966, re- spectively. s Dt Figure 1: Original and approximated matrices of rank 3, obtained by TMF and NMF. As expected, NMF reconstructs the matrix Dsbetteras TMF, see Figure 1a. Results on Figure 1b show thatNMF cannot successfully recover the patterns whendealing with specific synthetic data. Moreover, for ma­trix DtTMF returns a better approximation as NMF. 5 CONCLUSION Standard matrix factorization methods perform le­arning tasks over matrices equipped with addition and multiplication. The constructed models are li­near and thus unable to model complex, non-linear relations. This can be addressed by introducing the tropical semiring with (max, +) operations. To the best of our knowledge, we are the first to implement and apply TMF in data analysis. We showed that TMF gives better results than NMF, when the data is created by an underlying process of (max, +) semiring. In our future work, we plan to adapt TMF to be able to predict missing values and test methods on real data. Because the resulting structure can be sim­pler to interpret than with standard linear algebra, we believe that future research will show that semi-rings are useful in many scenarios. REFERENCES [1] De Schutter, B. and De Moor, B. (1997). Matrix factorization and minimal state space realization in the max-plus algebra. In Proceedings of the 1997 American Control Conference (Cat. No. 97CH36041), volume 5, pages 3136–3140. IEEE. [2] Gaubert, S. and Plus, M. (1997). Methods and applications of (max,+) linear algebra. In Annual symposium on theoretical aspects of computer science, pages 261–282. Springer. [3] Gaussier, E. and Goutte, C. (2005). Relation between plsa and nmf and implications. In Proceedings of the 28th annual international ACM SIGIR conference on Research and deve­lopment in information retrieval, pages 601–602. ACM. Amra Omanovic, Polona Oblak, Tomaž Curk: Application of tropical semiring for matrix factorization [4] Golub, G. H. and Reinsch, C. (1971). Singular value decom- [10] Lee, D. D. and Seung, H. S. (1999). Learning the parts position and least squares solutions. In Linear Algebra, pages of objects by non-negative matrix factorization. Nature, 134–151. Springer. 401(6755):788. [5] Karaev, S., Hook, J., and Miettinen, P. (2018). Latitude: A [11] Weston, J., Weiss, R. J., and Yee, H. (2013). Nonlinear la- model for mixed linear-tropical matrix factorization. In Pro- tent factorization by embedding multiple user interests. In ceedings of the 2018 SIAM International Conference on Data Proceedings of the 7th ACM conference on Recommender Mining, pages 360–368. SIAM. systems, pages 65–68. [6] Karaev, S. and Miettinen, P. (2016a). Cancer: Another algo- [12] Zhang, L., Naitzat, G., and Lim, L.-H. (2018). Tropical geome­ rithm for subtropical matrix factorization. In Joint European try of deep neural networks. arXiv preprint arXiv:1805.07091. Conference on Machine Learning and Knowledge Discovery [13] Zhang, Z., Li, T., Ding, C., and Zhang, X. (2007). Binary matrix in Databases, pages 576–592. Springer. factorization with applications. In Seventh IEEE International [7] Karaev, S. and Miettinen, P. (2016b). Capricorn: An algori- Conference on Data Mining (ICDM 2007), pages 391–400. thm for subtropical matrix factorization. In Proceedings of the IEEE. 2016 SIAM International Conference on Data Mining, pages [14] Zhang, Z.-Y., Li, T., Ding, C., Ren, X.-W., and Zhang, X.-S. 702–710. SIAM. (2010). Binary matrix factorization for analyzing gene expres- [8] Karaev, S. and Miettinen, P. (2019). Algorithms for approxi­ sion data. Data Mining and Knowledge Discovery, 20(1):28. mate subtropical matrix factorization. Data Mining and Kno- [15] Žitnik, M. and Zupan, B. (2015). Data fusion by matrix facto- wledge Discovery, 33(2):526–576. rization. IEEE transac- tions on pattern analysis and machine [9] Laurberg, H., Christensen, M. G., Plumbley, M. D., Hansen, L. intelligence, 37(1):41–53. K., and Jensen, S. H. (2008). Theorems on positive data: On the uniqueness of nmf. Computational intelligence and neuro- science, 2008. • Amra Omanovic received a master’s degree from the Faculty of Computer and Information Science, University of Ljubljana, in 2018. She is a junior researcher at the Faculty of Computer and Information Science, University of Ljubljana. Her research is focused on the application of linear algebra over semirings in data embedding and fusion methods. • Polona Oblak received the doctoral degree from the Faculty of Mathematics and Physics, University of Ljubljana, in 2008. She is an associate professor at the Faculty of Computer and Information Science, University of Ljubljana. Her research interests include inverse eigenvalue pro­blems for graphs, linear algebra over semirings and combinatorial matrix theory • Tomaž Curk received a doctoral degree from the Faculty of Computer and Information Science, University of Ljubljana, in 2007. He is an assis­tant professor and serves as a vice-dean for research at the Faculty of Computer and Information Science, University of Ljubljana. His research is focused on the application of machine learning and data integration methods in bioinformatics. krAtkI zNANStVENI prISpEVkI Poglobljen pogled v belocnicno biometrijo: nova podatkovna množica in študija delovanja Matej Vitek1, Peter Rot1,2, Vitomir Štruc2, Peter Peer1 1Univerza v Ljubljani, Fakulteta za racunalništvo in informatiko, Vecna pot 113, Ljubljana, Slovenija 2Univerza v Ljubljani, Fakulteta za elektrotehniko, Tržaška cesta 25, Ljubljana, Slovenija {matej.vitek,peter.rot,peter.peer}@fri.uni-lj.si, vitomir.struc@fe.uni-lj.si Izvlecek Prepoznava ljudi je temeljni problem, s katerim se ukvarja podrocje biometrije. V našem delu se ukvarjamo s prepoznavo belocnicnih žilnih struktur, ki imajo številne prednosti pred ostalimi znacilkami: belocnicne žile so edinstvene, tudi med identicnimi dvojcki – celo bolj kot prstni odtisi; za zajem ne potrebujemo posebnih naprav, le obicajen fotoaparat ali mobilno kamero; zajem je neinvaziven in omogoca zajem na daljavo; žilne strukture se bistveno ne spreminjajo med življenjem; žilne strukture je težko ponarediti. Ker se bi-ometrija, podobno kot mnoga ostala podrocja racunalniškega vida, vedno bolj poslužuje globokega ucenja, so izredno pomembne kvalitetne dobro oznacene podatkovne množice. Naša podatkovna množica SBVPI je javno dostopna in vsebuje ocesne slike visoke kvalitete skupaj z rocnimi oznakami razlicnih regij v ocesu (šarenica, zenica, ...). Poleg predstavitve SBVPI pa se naše delo tudi po­globi v bolj splošna vprašanja belocnicne biometrije. V eksperimentalnem delu primerjamo 5 razlicnih pristopov za prepoznavo, ki jih evalviramo na SBVPI. Poleg tega analiziramo vpliv locljivosti slik in smeri pogleda na uspešnost teh pristopov. Globoki model se je izkazal za najboljšega v splošnih poskusih, obenem pa tudi za najbolj robustnega, saj se je najbolje odrezal pri manjših locljivostih in manj smereh pogleda. S tako poglobljeno analizo smo naslovili številna odprta vprašanja v belocnicni biometriji, predvsem ker prika­žejo smiselnost uporabe globokega ucenja (ki jo omogoca naša podatkovna množica SBVPI) in pa pomembnost uporabe razlicnih smeri pogleda v sami prepoznavi. Kljucne besede: Podatkovna množica, Prepoznava oseb, Ocesna biometrija, Belocnica, Žilna biometrija. Abstract Ocular biometrics is the study of the applicability of various ocular modalities in different tasks, most prominently identity recogni­tion. It can be useful in various applications such as surveillance systems, forensics or authentication systems. However, the exi­sting datasets for ocular research are often inappropriate for the study of all three of the visible modalities – the sclera, the iris and the periocular region. In this work, we present a novel dataset of high-quality eye images captured in the visible spectrum appropriate for the study of all three modalities. We have performed an analysis of the covariance with several state-of-the-art recognition methods, studying the performance of the approaches not only on the dataset itself but also across different image resolutions and gaze directions. The results of this comprehensive study give insight not only into the general usability of our dataset, but also into the effects of different image resolutions and gaze directions on the accuracy of sclera-based recognition methods. Our experiments show that deep networks outperform handcrafted approaches in sclera recognition both in terms of overall performance as well as the robustness to lower resolutions and missing gaze directions. Keywords: Dataset, identity recognition, ocular biometrics, sclera, vein-pattern recognition. Matej Vitek, Peter Rot, Vitomir Štruc, Peter Peer: Poglobljen pogled v belocnicno biometrijo: nova podatkovna množica in študija delovanja UVOD nih vej biometrije s premnogimi primeri uporabe v Ocesna biometrija je že od Daugmanovega dela na razlicnih domenah [2]. Vecina rabljenih podatkovnih temo razpoznave šarenice [1] aktivno podrocje bio-množic v literaturi pa ni namenjena belocnicnim raz-me- tricnih raziskav in velja za eno najbolj natanc-iskavam in so Slika 1: Primer slike iz sBVPI in pripadajocih oznak: belocnice, periokularne regije, šarenice, belocnicnih žil, zenice, trepalnic, kantusa. zato zajete v bližnjem infrardecem (NIR) podrocju ali pa nimajo potrebnih oznak belocnice in žil, ki so potrebne za raziskovanje (predvsem globokih) pri­stopov za segmentacijo in prepoznavo belocnice. Da bi naslovili te pomanjkljivosti, v našem delu predsta­vimo naslednje doprinose: Predstavimo novo javno dostopno ocesno podat­kovno množico, ki je namenjena razpoznavi beloc- nice (vseeno pa je primerna tudi za ostale ocesne modalnosti), z imenom SBVPI. Množica vsebuje kva­litetne slike in rocne oznacbe regij ocesa, vkljucno z rocno oznacenimi žilami pri podmnožici slik (cesar nima nobena druga javno dostopna množica). Evalviramo in primerjamo pet sodobnih pristo­pov za razpoznavo na naši množici. S tem pokaže- Tabela 1: Obstojece podatkovne množice na temo ocesne biometrije. mo, da je množica dovolj kvalitetna za pomenljive rezultate, obenem pa dovolj težka, da je zanimiva za nadaljnje raziskave. S kovariancno analizo primerjamo delovanje pe­tih pristopov iz prejšnje tocke z manjšimi slikami in razlicnimi smermi pogleda. 2 PODATKOVNE mNOŽICE V tabeli 1 pregledamo obstojece podatkovne množi­ce za ocesno biometrijo in prikažemo razlike z našo SBVPI. Vecina belocnicnih raziskav uporablja UBI­RIS v1 [3, 4, 5, 6, 7, 8, 9], MASD [10, 11, 12], UBIRIS v2 [13, 14], MICHE [13, 14] in UTIRIS [3]. Prav tako so pogosto uporabljene zasebne podatkovne množice, ki pa jih v tabeli ne naštevamo. SBVPI ima številne Podatkovna množica Modalnost† Javna Orodje za zajem Spekter Velikost slik Št. oseb Št. slik Oznake belocnice Oznake žil smer(i) pogleda CASIA Iris v1 [15] Š Da Lasten skener šarenice NIR 320 × 280 54 756 Ne Ne Staticna CASIA Iris v2 [15] Š Da Lasten skener šarenice NIR 640 × 480 60 2400 Ne Ne Staticna CASIA Iris v3 [15] Š Da Lasten & OKI skener šarenice NIR 640 × 480 > 700 22 034 Ne Ne Staticna CASIA Iris v4 [15] Š Da Lasten & OKI skener šarenice NIR 640 × 480 > 2800 54 601 Ne Ne Staticna ND-IRIS-0405 [16] Š Da LG 2200 IIS NIR 640 × 480 356 64 980 Ne Ne Staticna UPOL [17] Š Da TOPCON TRC50IA VIS 768 × 576 64 384 Ne Ne Staticna UTIRIS [18] BŠ Da Canon EOS 10D Oba 2048 × 1360 79 1540 Ne Ne Staticna UBIRIS v1 [19] BŠ Da Nikon E5700 VIS 800 × 600 241 1877 Ne Ne Staticna UBIRIS v2 [20] BPŠ Da Canon EOS 5D VIS 400 × 300 261 11 102 Ne Ne Razlicne ICE [21] Š Ne N/A N/A N/A 120 3056 Ne Ne N/A WVU [22] Š Ne N/A Oba N/A 380 1852 Ne Ne N/A IITD [23] Š Da JIRIS JPC1000 CMOS Camera NIR 320 × 240 224 1120 Ne Ne Staticna MICHE-I [24] BPŠ Da Mobilna kamera VIS 2048 × 1536 92 3732 Ne Ne Staticna UBIPr [25] P Da Canon EOS 5D VIS 500 × 400 261 10 950 Ne Ne Razlicne UBIPosePr [26] P Da N/A VIS N/A 100 2400 Ne Ne Razlicne IMP [27] P Da Cogent Iris Scanner, Nikon SLR Oba 260 × 270 62 930 Ne Ne Staticna IUPUI [28] SPI Ne N/A Oba N/A 44 352 Ne Ne Razlicne MASD [29] S Ne NIKON D 800 VIS 7500 × 5000 82 2624 Podmnožica Ne Razlicne SBVPI (naša) SPI Da Canon EOS 60D VIS 3000 × 1700 55 1858 Celota Podmnožica Razlicne † B – Belocnica, P – Periokularna regija, Š – šarenica Oznaka N/A pomeni, da informacije nismo mogli pridobiti iz podatkovne množice in pripadajoce literature. SBVPI je javno dostopna za raziskovalne namene na: http://sclera.fri.uni-lj.si/ Matej Vitek, Peter Rot, Vitomir Štruc, Peter Peer: Poglobljen pogled v belocnicno biometrijo: nova podatkovna množica in študija delovanja prednosti pred obstojecimi podatkovnimi množica-mi, saj je edina javno dostopna ocesna podatkovna množica z rocno oznacenimi belocnicami in žilami. V tabeli 2 predstavimo glavne lastnosti SBVPI1. V sliki 1 pokažemo primer slike SBVPI in pripadajocih oznak ocesnih regij. Zaradi oznak ocesnih regij in metapodatkov, ki so vkljuceni v podatkovni množici, je SBVPI, v na­sprotju z obstojecimi podatkovnimi množicami, primerna za raziskavo pristopov za segmentacijo in prepoznavo belocnice. Na piksle natancne oznake žil na podmnožici slik so še posebej pomembne in so edinstvena lastnost podatkovne množice SBVPI. Ker SBVPI vsebuje tudi oznake preostalih regij, je primerna tudi za študijo pristopov razpoznave ša­renice in periokularne regije v vidnem delu spektra, kar omogoca študijo pristopov združenja razlicnih ocesnih modalnosti. Tabela 2: Opis podatkovne množice sBVPI (sclera Blood Vessels, Periocular and Iris). Lastnost Opis Število slik 1858 Število oseb 55 Starost oseb 15–80, vecina pod 35 Spoli oseb 29 žensk, 26 moških Število slik na osebo Najmanj 32, nekatere osebe vec Velikost slik 3000 × 1700 pikslov Oznake (vse slike) Belocnica, periokularna regija Oznake (~ 130 slik) Šarenica, zenica, kantus, trepalnice, ožilje Metapodatki (vse slike) Identiteta, levo/desno oko, smer pogleda, starost, spol, barva Smeri pogleda Levo, desno, navzgor, naravnost 3 PREPOzNAVA BELOcNICE V našem delu primerjamo klasicne pristope, ki so se do nedavnega uporabljali v biometriji in globoko ucenje, ki predstavlja smer, v katero se v zadnjem casu premika racunalniški vid v splošnem. Uporabi-mo SegNet iz [30] (ki je bil naucen z žilnimi oznaka-mi iz SBVPI in je trenutno edini model za segmen­tacijo žil belocnice v literaturi), da iz slik izlocimo žilne maske. Nato implementiramo globoki model ScleraNet [30] in ga na problemu razpoznave iden­titete primerjamo z deskriptorskimi metodami, ki so se uporabljale pred globokim ucenjem: tremi ki temeljijo na detekciji kljucnih tock (SIFT [31], SURF [32], and ORB [33]) in gostem SIFTu [34], ki temelji na gosti mreži. Vse metode poganjamo na žilnih ma-skah prej omenjenega modela SegNet, da omogoci-mo pravicno primerjavo razpoznavnih metod. V verifikacijskih eksperimentih uporabimo gale-rijo (ki vsebuje 4 nakljucne slike za vsako osebo – 1 za vsako smer pogleda) in poskusno množico (ki vse­primerek iz poskusne množice primerjamo z vse-mi 4 iz galerije s pristopi za prepoznavo, ki smo jih opisali zgoraj. Najmanjšo od 4 razdalj vzamemo kot ujemanje, na podlagi katerega potem avtentikacijo sprejmemo ali zavrnemo. Ta odlocitev je lahko pra­vilna ali napacna, glede na to, ali je oseba iz posku­sne množice enaka galerijski ali ne. S spreminjanjem praga sprejetja lahko nadziramo ravnovesje med de­ležem napacnih sprejetij (angl. false acceptance rate – FAR) in deležem napacnih zavrnitev (angl. false rejection rate – FRR). Rezultat lahko porocamo kot površino pod krivuljo ROC, ki slika to ravnovesje pri razlicnih pragovih (angl. area under curve – AUC). V literaturi se uporablja tudi metrika tocke enake napa­ke (angl. equal error rate – EER), ki predstavlja tocko, kjer sta FARin FRRenaka. Ker so napacna sprejetja bolj kriticna kot napacne zavrnitve, porocamo tudi delež verifikacije (VER= 1 – FRR) pri nizkih vredno­stih FAR(v našem delu 1 % in 0.1 %). V tabeli 3 pri­kažemo rezultate splošnih poskusov. buje vse ostale slike). V enem poskusu avtentikacije Matej Vitek, Peter Rot, Vitomir Štruc, Peter Peer: Poglobljen pogled v belocnicno biometrijo: nova podatkovna množica in študija delovanja Tabela 3: Rezultati splošne prepoznave, v katerih vidimo, da se je scleraNet (oznacen s CNN) odrezal najbolje v celovitem delovanju, medtem ko je bil gosti sIFT (oznacen z dsIFT) najboljši pri nizkih vrednostih FAR. Rezultati so podani kot µ ± s (z 10-kratno evalvacijo na sBVPI). Model VER@0.1FAR VER@1FAR EER AUC CNN 0.178 ± 0.008 0.451 ± 0.008 0.144 ± 0.003 0.933 ± 0.003 SIFT 0.184 ± 0.076 0.452 ± 0.040 0.176 ± 0.005 0.903 ± 0.005 SURF 0.100 ± 0.008 0.285 ± 0.014 0.233 ± 0.006 0.844 ± 0.005 ORB 0.052 ± 0.011 0.148 ± 0.013 0.330 ± 0.007 0.736 ± 0.007 dSIFT 0.256 ± 0.012 0.496 ± 0.012 0.193 ± 0.003 0.889 ± 0.004 Ker se v razlicnih smereh pogleda vidijo razlicne žilne strukture, smo v galerijo vedno vkljucili vse 4 smeri pogleda. Zanima pa nas, kako bi se rezultati spremenili, ce bi uporabili manj smeri pogleda. V drugi seriji poskusov zato galerijo s 4 pogledi na­domestimo z galerijo, kjer ima vsaka oseba le 3/2/1 slike, še vedno z razlicnimi (a nakljucno izbranimi) smermi pogleda. Ker pogled naravnost da najbolj ce­lovito sliko žilnih struktur v ocesu, poskus izvedemo še z galerijo s pogledom naravnost. Pri teh eksperi­mentih modela ScleraNet ne ucimo ponovno, pac pa uporabimo enakega, kot smo ga uporabili za splošne poskuse. Rezultate eksperimentov prikažemo v sliki 2. Vec eksperimentov z bolj poglobljeno analizo je bilo opravljeno v razširjenem delu[35]. (a) 4 pogledi (orig.) (b) 3 pogledi (c) 2 pogleda (d) 1 pogled (e) Pogled naravnost Slika 2: Rezultati poskusov z manjšimi galerijami. Prvi trije eksperimenti (b–d) v galeriji vsebujejo 3/2/1 smeri pogleda za vsako osebo, zadnji pa ima v galeriji samo pogled naravnost. scleraNet (oznacen s CNN) in sIFT se obneseta najbolje pri nakljucnih smereh, pri pogledu naravnost pa scleraNet opazno premaga vse ostale pristope. scleraNet tudi edini opazno izboljša delovanje pri prehodu iz ene nakljucne smeri na pogled naravnost, kar pomeni, da se najbolje nauci pomena celotnega ocesnega ožilja. Slika 3: Rezultati poskusov s pomanjšanimi slikami. scleraNet (oznacen s CNN) in gosti sIFT (oznacen z dsIFT) se izkažeta kot precej robustna, saj oba delujeta dobro na velikostih do 128 × 128. scleraNet pa opazno premaga ostale pristope tudi na manjših slikah, saj ocitno najde pomenljive znacilke celo na slikah velikosti 64 × 64. Zanima nas tudi potrebna kvaliteta slik in robu-vosti. Pri tem spet uporabimo enak model ScleraNet stnost pristopov na manj kvalitetne slike, zato slike in ga ne ucimo še enkrat na manjših slikah. Rezultate velikosti 400 ×400, ki smo jo uporabili v prejšnjih ek-eksperimentov porocamo v sliki 3.sperimentih, pomanjšamo na razlicne manjše loclji­ Matej Vitek, Peter Rot, Vitomir Štruc, Peter Peer: Poglobljen pogled v belocnicno biometrijo: nova podatkovna množica in študija delovanja 4 SKLEP Predstavili smo novo podatkovno množico name-njeno raziskovanju belocnicne biometrije in pokaza­li njene prednosti pred ostalimi obstojecimi javnimi podatkovnimi množicami, ki se uporabljajo za oce­sno biometrijo. Med pomembnejšimi prednostmi so: javna dostopnost, kvalitetne slike visoke locljivosti, zajetje v vidnem delu spektra in (najpomembnejše) rocne oznacbe ocesnih regij, vkljucno s podrobnimi oznacbami ocesnih žil. Evalvirali in primerjali smo pet sodobnih pristo­pov za prepoznavo – en globok model, tri deskrip­torske metode z detektorjem kljucnim tock in eno deskriptorsko metodo z gosto mrežo. Naši rezul­tati prikazujejo, da globoki model deluje bolje kot deskriptorske metode, kar je v skladu z rezultati za­dnjih let v biometriji in ostalih podrocjih racunalni­škega vida. Gosti SIFT pa je deloval najbolje pri niz­kih vrednostih FAR. Raziskali smo tudi vpliv razlicnih smeri pogleda in velikosti slik na delovanje razpoznave belocnice. Po- manjkljive galerije z manj smermi pogleda povzrocijo precej slabše delovanje, saj se pri razlicnih smereh po­gleda vidijo razlicne žilne strukture. Globoki model se je izkazal za najbolj robustnega pri manjših gale-rijah, obenem pa je bil edini, ki je pri pogledu narav­nost deloval bolje kot pri 1 nakljucno izbrani smeri pogleda, kar nakazuje, da se je najbolje naucil celovite predstavitve žilnih struktur (saj se le-te pri pogledu naravnost vidijo najbolj celovito). Gosti SIFT in glo­boki model sta se izkazala za najbolj odporna na slab-šo kvaliteto slik, saj sta dobro delovala na slikah vse do velikosti 128 ×128, globoki model pa je pomenljive predstavitve žil našel celo na slikah do velikosti 64 ×64 in se tako ponovno izkazal za najbolj robustnega. Z najboljšim rezultatom tocke enake napake 14,4 %in precej nizkih verifikacijskih uspešnostih pri nizkih vrednostih FARostaja precej prostora za izboljšave tudi na samem pristopu za prepoznavo, saj bi za prakticno uporabo želeli boljše rezultate z majhnim številom napacnih sprejetij. LITERATURA [1] J. Daugman, “High confidence visual recognition of persons by a test of statistical independence,« IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 15, no. 11, pp. 1148–1161, 1993. [2] I. Nigam, M. Vatsa, and R. Singh, “Ocular biometrics: A sur­vey of modalities and fusion approaches,« Information Fusi­on, vol. 26, pp. 1–35, 2015. [3] S. Alkassar, W. L. Woo, S. S. Dlay, and J. A. Chambers, “Robust sclera recognition system with novel sclera segmentation and validation techniques,« IEEE Transactions on Systems, Man, and Cybernetics: Systems, vol. 47, no. 3, pp. 474–486, 2017. [4] A. Das, U. Pal, M. A. F. Ballester, and M. Blumenstein, “A new efficient and adaptive sclera recognition system,« in 2014 IEEE Symposium on Computational Intelligence in Biometrics and Identity Management (CIBIM), pp. 1–8, IEEE, 2014. [5] V. Gottemukkula, S. Saripalle, S. P. Tankasala, and R. Dera­khshani, “Method for using visible ocular vasculature for mo­bile biometrics,« IET Biometrics, vol. 5, no. 1, pp. 3–12, 2016. [6] Y. Lin, E. Y. Du, Z. Zhou, and N. L. Thomas, “An efficient parallel approach for sclera vein recognition,« IEEE Transac­tions on Information Forensics and Security, vol. 9, no. 2, pp. 147–157, 2014. [7] K. Oh and K. A. Toh, “Extracting sclera features for cancela­ble identity verification,« in 2012 5th IAPR International Con­ference on Biometrics (ICB), pp. 245–250, IEEE, 2012. [8] N. L. Thomas, Y. Du, and Z. Zhou, “A new approach for scle­ra vein recognition,« in Mobile Multimedia/Image Processing, Security, and Applications 2010, vol. 7708, p. 770805, Inter­national Society for Optics and Photonics, 2010. [9] Z. Zhou, E. Y. Du, N. L. Thomas, and E. J. Delp, “A new hu­man identification method: Sclera recognition,« IEEE Tran­sactions on Systems, Man, and Cybernetics (TSMC) -Part A: Systems and Humans, vol. 42, no. 3, pp. 571–583, 2012. [10] P. Radu, J. Ferryman, and P. Wild, “A robust sclera segmen­tation algorithm,« in International Conference on Biometrics: Theory, Applications, and Systems (BTAS), pp. 1–6, 2015. [11] D. Riccio, N. Brancati, M. Frucci, and D. Gragnaniello, “An unsupervised approach for eye sclera segmentation,« in Ibe­roamerican Congress on Pattern Recognition (CIARP), pp. 550–557, Springer, 2017. [12] P. Rot, V. Štruc, and P. Peer, “Deep multi-class eye segmen­tation for ocular biometrics,« in IEEE International Work Con­ference on Bioinspired Intelligence, 2018. [13] S. Alkassar, W. L. Woo, S. Dlay, and J. Chambers, “Sclera recognition: on the quality measure and segmentation of de­graded images captured under relaxed imaging conditions,« IET Biometrics, vol. 6, no. 4, pp. 266–275, 2016. [14] D. R. Lucio, R. Laroca, E. Severo, A. S. B. Jr, and D. Menotti, “Fully convolutional networks and generative adversarial ne­tworks applied to sclera segmentation,« in IEEE ICB: Theory, Applications, and Systems, 2018. [15] L. Ma, T. Tan, Y. Wang, and D. Zhang, “Efficient iris recogniti­on by characterizing key local variations,« IEEE Transactions on Image processing, vol. 13, no. 6, pp. 739–750, 2004. [16] K. W. B. Bowyer and P. J. Flynn, “The ND-IRIS-0405 iris ima­ge dataset,« tech. rep., Notre Dame University. [17] M. Dobeš, L. Machala, P. Tichavsky`, and J. Pospíšil, “Human eye iris recognition using the mutual information,« Optik, vol. 115, no. 9, pp. 399–404, 2004. [18] M. S. Hosseini, B. N. Araabi, and H. Soltanian-Zadeh, “Pi­gment melanin: Pattern for iris recognition,« Instrumentation and Measurement, IEEE Transactions on, vol. 59, pp. 792 –804, april 2010. [19] H. Proença and L. Alexandre, “Ubiris: A noisy iris image da­tabase,« in International Conference on Image Analysis and Processing, pp. 970–977, Springer, 2005. [20] H. Proença, S. Filipe, R. Santos, J. Oliveira, and L. A. Alexan­dre, “The ubiris. v2: A database of visible wavelength iris ima­ges captured on-the-move and at-a-distance,« IEEE Tran­sactions on Pattern Analysis and Machine Intelligence, vol. 32, no. 8, pp. 1529–1535, 2010. Matej Vitek, Peter Rot, Vitomir Štruc, Peter Peer: Poglobljen pogled v belocnicno biometrijo: nova podatkovna množica in študija delovanja [21] P. J. Phillips, K. W. Boyer, P. J. Flynn, A. J. O’Toole, P. J. Phillips, C. L. Schott, W. T. Scruggs, and M. Sharpe, “Frvt 2006 and ice 2006 large-scale results,« 2007. [22] C. Whitelam, Z. Jafri, and T. Bourlai, “Multispectral eye de­tection: A preliminary study,« in 2010 20th International Con­ference on Pattern Recognition, pp. 209–212, IEEE, 2010. [23] A. Kumar and A. Passi, “Comparison and combination of iris matchers for reliable personal authentication,« Pattern Reco­gnition, vol. 43, no. 3, pp. 1016 – 1026, 2010. [24] M. D. Marsico, M. Nappi, D. Riccio, and H. Wechsler, “Mobile iris challenge evaluation (miche)-i, biometric iris dataset and protocols,« Pattern Recognition Letters, vol. 57, pp. 17 – 23, 2015. Mobile Iris CHallenge Evaluation part I (MICHE I). [25] C. N. Padole and H. Proença, “Periocular recognition: Analysis of performance degradation factors,« in Biometrics (ICB), 2012 5th IAPR International Conference on, pp. 439– 445, IEEE, 2012. [26] C. N. Padole and H. Proença, “Compensating for pose and il­lumination in unconstrained periocular biometrics,« Internati­onal Journal of Biometrics, vol. 5, no. 3-4, pp. 336–359, 2013. [27] A. Sharma, S. Verma, M. Vatsa, and R. Singh, “On cross spec­tral periocular recognition,« in Image Processing (ICIP), 2014 IEEE International Conference on, pp. 5007–5011, IEEE, 2014. [28] Z. Zhou, E. Y. Du, N. L. Thomas, and E. J. Delp, “Multi-an­gle sclera recognition system,« in Computational Intelligence in Biometrics and Identity Management (CIBIM), 2011 IEEE Workshop on, pp. 103–108, IEEE, 2011. [29] A. Das, U. Pal, M. A. Ferrer, M. Blumenstein, D. Štepec, P. Rot, Ž. Emeršic, P. Peer, V. Štruc, S. Kumar, et al., “SSERBC 2017: Sclera segmentation and eye recognition benchmar­king competition,« in International Joint Conference on Bio­metrics (IJCB), pp. 742–747, 2017. [30] P. Rot, M. Vitek, K. Grm, Ž. Emeršic, P. Peer, and V. Štruc, “Deep sclera segmentation and recognition,« in Handbook of Vascular Biometrics (A. Uhl, C. Busch, S. Marcel, and R. Ve­ldhuis, eds.), pp. 395–432, Springer, 2020. [31] D. G. Lowe, “Object recognition from local scale-invariant fe­atures,« in International Journal of Computer Vision (ICCV), vol. 2, pp. 1150–1157, Ieee, 1999. [32] H. Bay, T. Tuytelaars, and L. Van Gool, “Surf: Speeded up robust features,« in European conference on computer vision, pp. 404–417, Springer, 2006. [33] E. Rublee, V. Rabaud, K. Konolige, and G. Bradski, “Orb: An efficient alternative to sift or surf,« in International conference on computer vision, pp. 2564–2571, 2011. [34] A. Das, U. Pal, M. A. F. Ballester, and M. Blumenstein, “Scle­ra recognition using dense-sift,« in 2013 13th International Conference on Intelligent Systems Design and Applications (ISDA), pp. 74–79, IEEE, 2013. [35] M. Vitek, P. Rot, V. Štruc, and P. Peer, “A comprehensive in­vestigation into sclera biometrics: a novel dataset and perfor­mance study,« Neural Computing and Applications, pp. 1–15, 2020. • Matej Vitek je mladi raziskovalec in doktorski študent na Fakulteti za racunalništvo in informatiko Univerze v Ljubljani. Leta 2015 je prejel diplomo s strani Fakultete za racunalništvo in informatiko ter Fakultete za matematiko in fiziko, leta 2018 pa je od istih dveh ustanov prejel še magisterij. Trenutno se ukvarja z (predvsem lahkimi modeli za) biometrijo belocnice, deloval pa je tudi na podrocju umetne inteligence in razvoja iger. • Peter Rot je doktorski študent na Univerzi v Ljubljani na Fakulteti za racunalništvo in informatiko. Leta 2015 je diplomiral iz racunalništva in informatike, leta 2018 pa magistriral, prav tako iz racunalništva in informatike. Trenutno se ukvarja z ohranjanjem zasebnosti in generiranjem obrazov, v preteklosti pa je deloval tudi na podrocju ocesne biometrije. • Vitomir Štruc je izredni profesor na Fakulteti za elektrotehniko na Univerzi v Ljubljani. Od te fakultete je prejel tudi doktorat leta 2010. Vitomir je mednarodno priznan strokovnjak na podrocjih racunalniškega vida, obdelave slik, prepoznavanja vzorcev in strojnega ucenja. Je avtor (ali soavtor) cez 100 raziskovalnih clankov za priznane mednarodne znanstvene revije in konference na teh podrocjih. Pomagal je tudi pri organizaciji številnih svetovnih konferenc na temo racunalniškega vida, med njimi IEEE Face and Gesture, ICB, WACV. Trenutno je predsednik programskega odbora IJCB 2020. Vitomir je pridruženi urednik IEEE Transactions on Information Forensics and Security, Pattern Recognition, Signal Processing in IET Biometrics. Bil je meta recenzent za WACV 2018, 2019, 2020, ICPR 2018, Eusipco 2019 in FG 2020. Je clan IEEE, IAPR, EURASIP, trenutni predsednik SDRV in slovenski kontakt za EAB. • Peter Peer je redni profesor na Fakulteti za racunalništvo in informatiko na Univerzi v Ljubljani, kjer je tudi vodja Laboratorija za racunalniški vid, koordinator dvojnega študijskega programa z južnokorejsko univerzo Kyungpook National University in prodekan za gospodarske zadeve. Na Fakulteti za racunalništvo in informatiko je doktoriral leta 2003. Po doktoratu je bil vabljen podoktorski raziskovalec na CEIT v San Sebastianu v Španiji. Raziskovalno se ukvarja z racunalniškim vidom s poudarkom na biometriji. Sodeloval je v številnih državnih in EU projektih in je avtor vec kot 100 raziskovalnih clankov v priznanih revijah in na konferencah. Nedavno je bil soorganizator tekmovanja Unconstrained Ear Recognition Challenge na IEEE/IAPR International Joint Conference on Biometrics 2017 in IAPR International Conference on Biometrics 2019. Leta 2018 je bil na to temo tudi sourednik posebne izdaje v reviji IET Biometrics. Trenutno je podrocni urednik v revijah IEEE Access in IET Biometrics. Je clan EAB, IAPR in IEEE, v slovenski sekciji IEEE pa je 4 leta bil tudi predsednik racunalniškega poglavja. krAtkI zNANStVENI prISpEVkI Digitalizacija in prilagoditev psihološkega testa za uporabo s sistemom za spremljanje ocesnih gibov Vida Groznik1,2,3 1Univerza na Primorskem, Fakulteta za matematiko, naravoslovje in informacijske tehnologije, Glagoljaška 8, 6000 Koper 2Univerza v Ljubljani, Fakulteta za racunalništvo in informatiko, Vecna pot 113, 1000 Ljubljana 3NEUS Diagnostics, d.o.o., Ziherlova ulica 40E, 1000 Ljubljana vida.groznik@famnit.upr.si Izvlecek Demenca je najpogostejša nevrološka motnja, za katero po svetu boleha okoli 50 milijonov ljudi, ta številka pa se zaradi staranja prebivalstva vztrajno veca. Raziskave kažejo, da se znaki demence v obliki kognitivnega upada nakazujejo že nekaj let pred jasno iz­raženo klinicno sliko. V primeru, da te znake odkrijemo v fazi blagega kognitivnega upada (MCI), lahko z razlicnimi pristopi upocasni-mo ali celo zaustavimo napredovanje bolezni v demenco. Za postavitev diagnoze je trenutno potreben pregled pri nevrologu in psi-hologu, ki postavita diagnozo. Žal pa le redki bolniki pridejo do specialistov, ko so še v fazi MCI. Eden izmed testov, ki se ga psiholo­gi pogosto poslužujejo, je test s Corsijevimi kockami. S pomocjo le-tega psiholog lahko oceni stopnjo okvare vidno-prostorskega delovnega spomina, ki med drugim lahko nakazuje na MCI. Test se ponavadi izvaja s fizicnimi kockami, razporejenimi na podlago. Psiholog v nakljucnem zaporedju tapka po kockah, naloga preizkušanca pa je, da za psihologom ponovi tapkanje v istem vrstnem redu. Eden izmed nacinov za pravocasno detekcijo MCI je digitalizacija in avtomatizacija nevropsihološkega testiranja z uporabo sodobnih tehnologij. V zadnjih letih so se mocno izboljšali sistemi za sledenje ocesnim gibom, zaradi njihove cenovne dostopnosti pa so posta­li zanimivo orodje za potrebe raziskovanja nevroloških bolezni, pogosto tudi za raziskovanje razlicnih stopenj kognitivnega upada. V clanku predlagamo prilagoditev in digitalizacijo testa Corsi za uporabo skupaj s sistemom za sledenje ocesnim gibom. Skupaj s še nekaterimi drugimi testi (npr. gladko sledenje tocki) bi tako predstavljal baterijo nalog za avtomatsko detekcijo znakov MCI z uporabo sistema za sledenje ocesnim gibom. Tovrsten sistem bi lahko kot neke vrste presejalni test uporabljalo zdravstveno varstvo na pri­marni ravni, ki bi ob odkritju prisotnosti MCI bolnika pravocasno napotil na pregled pri specialistu. Kljucne besede: blag kognitivni upad, digitalizacija psiholoških testov, sistem za sledenje ocesnih gibov, test Corsi Abstract Dementia is the most common neurological disorder as around 50 million people worldwide suffer from it. Due to the aging of the population, this number is steadily increasing. Research shows that signs of dementia in the form of cognitive decline are present already several years before having a clearly expressed clinical picture. If these signs could be detected in the phase of mild cogniti­ve impairment (MCI), it might be possible to slow down or even stop the progression of the disease to dementia via various approa­ches. Currently, neurological and psychological examinations are required to make the diagnosis of MCI. Unfortunately, only a small number of patients visit a specialist while still in the MCI phase. The Corsi block-tapping test is one of the tests that psychologists use to assess the degree of visuospatial working memory impairment that may, among other, indicate MCI. The test is usually per­formed with physical blocks arranged on the board in an irregular pattern. The psychologist taps the blocks in random order and the patient repeats the tapping in the same order. One way to detect MCI in a timely manner would be to digitize and automate neurop­sychological testing using available modern technologies. In recent years, eye-tracking systems have been improved substantially and their affordability has made them interesting tools for the study of neurological diseases, including the study of varying degrees of cognitive decline. In this paper, we propose an adaptation and the digitization of the Corsi test for use with the eye-tracking techno­logy. Along with certain other tests (e.g. smooth pursuit), it would be featured in a battery of neuropsychological tasks for the auto­matic detection of MCI using an eye-tracking system. Such a system could be used as a screening tool at the primary health care level. It would enable physicians to detect signs of MCI and refer such patients for further examination by a specialist. Keywords: Mild cognitive impairment, digitization of psychological tests, eye-tracking system, Corsi test. Vida Groznik: Digitalizacija in prilagoditev psihološkega testa za uporabo s sistemom za spremljanje ocesnih gibov UVOD IN MOTIVACIJA Zdravniki se pogosto srecujejo z osebami, ki izražajo zaskrbljenost nad dejstvom, da se njim ali njihovim bližnjim dogaja, da pogosteje pozabljajo. Ponavadi se ti pomisleki nanašajo na celo vrsto kognitivnih sposobnosti oz. upadom kognitivnih sposobnosti in ne nujno zgolj na spomin. V takšnih primerih mo-rajo zdravniki naprej ugotoviti, ali gre za kognitiv­ne spremembe, ki so znacilne za normalno staranje ali gre pri tem za klinicno pomembne spremembe. V primeru, da je kognitivna okvara tako huda, da ogroža bolnikovo normalno delovanje (npr. ni zmo­žen samostojno opravljati vsakodnevnih aktivno­sti), govorimo o demenci. Stanju med demenco in normalnim kognitivnim delovanjem, pri cemer ima oseba ohranjene funkcionalne sposobnosti, pravimo blag kognitivni upad (angl. Mild Cognitive Impairment (MCI). [Hugo and Ganguli, 2014] Demenca je najbolj razširjeno nevrološko obole­nje, za katero boleha okoli 50 milijonov ljudi po celem svetu. S staranjem prebivalstva se ta številka vztrajno povecuje. Vsako leto je potrjenih skoraj 10 milijonov novih primerov in pricakuje se, da bo v roku dese­tih let (torej do leta 2030) na svetu že 82 milijonov ljudi z demenco in kar 152 milijonov do leta 2050 [Alzheimer’s Disease International, 2019]. Glede na to, da je MCI vmesna stopnja med normalnim kogni­tivnim delovanjem in demenco, ni presenetljivo, da približno 15 odstotkov bolnikov diagnosticiranih z MCI razvije Alzheimerjevo demenco ali parkinsono­vo bolezen z demenco v roku dveh let. Raziskave kažejo, da je moc z uporabo razlicnih pristopov zavreti ali celo prepreciti nastanek MCI oz. demence [Ayati et al., 2020]. Med te pristope so-dijo razlicne terapije za nekatere druge bolezni, kot so razlicna nesteroidna protivnetna zdravila [Yip et al., 2005, Szekely et al., 2008] in statini [Swiger et al., 2013, Wong et al., 2013]. Za ucinkovite so se izkaza­le razlicne nefarmacevtske metode, kot na primer spremembe življenjskega sloga [Lourida et al., 2019], uživanje mediteranske prehrane [Grant, 1999, Féart et al., 2009, Solfrizzi et al., 2011, Lourida et al., 2013, Grant, 2016], zmanjšano uživanje alkohola [Letenne­ur, 2004], fizicna telesna aktivnost [Hamer and Chi-da, 2009, Cass, 2017, Firth et al., 2018], pomembnost kvalitetnega spanca [Chang et al., 2013, Lim et al., 2013, Benedict et al., 2015] in socialnih stikov [Wang et al., 2002, Fratiglioni et al., 2004, Crooks et al., 2008]. Glede na razlicne ugotovitve znanstvenikov, da ob-stajajo nacini, da se zavre nastanek demence, je razu­mljivo, da se cedalje vec energije vlaga v iskanje bio-markerjev za zgodnje odkrivanje demence in blagega kognitivnega upada. Ocena kognitivnega stanja pacienta je v klinicni praksi podana na podlagi nevropsihološke ocene specificnih kognitivnih domen (pozornost, izvršilne funkcije, ucenje in spomin, jezik, senzomotorika, so-cialna kognicija), ki omogoca razpoznavo tako blagih kognitivnih okvar kot tudi postavitvi diferencialne diagnoze [Hugo and Ganguli, 2014]. Kot pomoc pri podaji objektivne ocene se nevrologi in psihologi po­služujejo razlicnih globalnih presejalnih lestvic, kot so na primer dobro poznani Kratek preizkus spo­znavnih sposobnosti (KPSS) [Granda et al., 2003, Ra-kuša et al., 2006] (angl. Mini-Mental State Examination (MMSE) [Folstein et al., 1975]), Montrealska lestvica ocenjevanja spoznavnih sposobnosti (angl. Montre­al Cognitive Assessment (MoCA)) [Nasreddine et al., 2005], Mini-Cog [Borson et al., 2000], Kognitivni pre­izkus Addenbrooke [Mioshi et al., 2006, McColgan et al., 2012] in drugi. Presejalne lestvice pogosto dopol­njujejo z razlicnimi testi (npr. Tower of London [de Paula et al., 2012, Rainville et al., 2012], Corsi Block­-Tapping Test [Guariglia, 2007], risanje ure [Parsey and Schmitter-Edgecombe, 2011], ipd.), ki še doda­tno doprinesejo k tocnosti podane ocene. Za postavitev koncne ocene kognitivnega upada je navadno potreben pregled pri specialistu nevro­logije, ki po potrebi pacienta napoti na poglobljeno psihološko testiranje, ki lahko traja nekaj ur, ter sli­kanje glave z magnetno resonanco. Kljub pomemb­nosti zgodnjega odkrivanja kognitivne okvare pa je s trenutnim nacinom postavljanja diagnoze kadro­vsko, casovno in financno nemogoce izvesti siste­maticna presejalna testiranja na širši populaciji ljudi. Ce si želimo zmanjšati vpliv staranja prebivalstva na našo družbo, ki za seboj potegne tudi visoke stroške za zdravstveno blagajno in psihicno ter fizicno obre­menjenost svojcev bolnika z demenco, je ena izmed možnih rešitev digitalizacija in avtomatizacija psiho­loškega testiranja, ki v tem trenutku vzame najvec casa za postavitev diagnoze. S tem bi omogocili širši populaciji boljšo dostopnost do hitre ocene njihovega kognitivnega stanja in posledicno primernega zdra­vljenja oz. spremembe življenjskih navad. Prednosti digitaliziranih testov so predvsem v možnostih objektivne ocene stanja in spremljanje razvoja bolezni skozi cas, kar pri trenutnem nacinu Vida Groznik: Digitalizacija in prilagoditev psihološkega testa za uporabo s sistemom za spremljanje ocesnih gibov diagnosticiranja ni mogoce. Za razliko od klasic­nih testiranj, preizkušanec rezultat testiranja lahko prejme takoj, ko s testiranjem zakljuci in mu nanje ni potrebno cakati. Za izvedbo testiranja ni potrebna prisotnost specialista (nevrologije in/ali psihologije), temvec je dovolj prisotnost tehnika, ki zagotovi, da je test korektno izveden. S tem se tudi olajša dosto­pnost testa, saj ga lahko izvedejo v kateri koli zdra­vstveni ustanovi (s tem pa se preizkušancu prihrani morebitna dodatna pot v specializirano zdravstveno ustanovo). Ob dobri zasnovi digitaliziranega testa pa lahko olajšamo testiranje marsikateri osebi, ki testira­nja zaradi fizicnega stanja trenutno ni zmožna opra­viti. Sama digitalizacija nam poleg tega omogoca enostavno prilagajanje testa (z vidika nastavitev pa-rametrov, diagnosticnega modela v ozadju, variacij testov ipd.), avtomatske analize in hitrejšo validacijo samega testa. V nadaljevanju clanka v drugem poglavju pred­stavimo enega izmed psiholoških testov - test Corsi in trenutni nacin administracije testa, v tretjem po­glavju na kratko predstavimo sisteme za spremljanje ocesnih gibov, ter nato v cetrtem poglavju predsta­vimo nacin digitalizacije in prilagoditve testa Corsi, ki bi omogocal uporabo skupaj s sistemom za slede­nje ocesnim gibom. Clanek zakljucimo s sklepom in kratkim opisom nadaljnjega dela. 2 TEST S CORSIJEVIMI KOCKAMI Test s Corsijevimi kockami (angl. Corsi Block-Tapping Test ) (v nadaljevanju »test Corsi«) uporabljajo ne- vrologi in psihologi za oceno vidno-prostorskega kratkorocnega spomina. Leta 1972 je test razvil Philip Corsi [Corsi, 1972] in je postal eden najbolj pomemb­nih neverbalnih testov v nevropsihološkem razisko­va- nju [Berch et al., 1998], ki je med drugim vkljucen v baterijo testov WAIS-R[Kaplan, 1991]. Izvorni test Corsi je sestavljen iz devetih kock, ki so postavljene nepravilno na plošco velikosti 23 x 28 cm, pri cemer so kocke oštevilcene s številkami od ena do devet. Shema postavitve kock je prikazana na sliki 1. Testiranje izgleda tako, da preizkuševalec tapne kocke v nakljucnem zaporedju. Takoj za tem mora pre- izkušanec poskusiti ponoviti zaporedje tapka­nja. Test se zacne z zaporedjem dolžine dve, ki se nato tekom testiranja podaljšuje za eno dolžino do najvec dolžine devet (kolikor je razlicnih kock). Vsa­ka dolžina zaporedja se ponovi dvakrat. Zaporedje se podaljšuje toliko casa, dokler je preizkušanec še zmožen pravilno ponoviti zaporedje, ki ga je tapnil preizkuševalec. Izpeljanka osnovnega testa je takšna, da mora preizkušanec zaporedje ponoviti od kocke, ki jo je preizkuševalec tapnil zadnjo proti kocki, ki jo je pre­izkuševalec tapnil prvo. Osnovni test Corsi ima veli­ko izpeljank, ki se nanašajo na velikosti, zaporedja, postavitve in število kock (glej [Kessels et al., 2000, Berch et al., 1998]). Poleg testa Corsi v fizicni obliki, je bilo izdela­nih kar nekaj razlicnih racunalniških testov, kjer se namesto tapkanja po fizicnih kockah »prižigajo« in »ugašajo« kvadrati na racunalniškem zaslonu. Preiz­kuša- nec mora v tem primeru ponoviti zaporedje s klikanjem z miško na kvadrate [Pearson and Sahra­ie, 2003, LeFevre et al., 2010] oziroma s tapkanjem na kvadrate na zaslonu (na dotik) [Smyth and Scho­ley, 1994, Vandierendonck et al., 2004, Brunetti et al., 2014]. Narejena je bila tudi verzija testa s hapticnim odzivom [Ruggiero and Iachini, 2010], test s hojo (t.i. walking corsi) [Piccardi et al., 2008] in celo s hojo v navidezni resnicnosti [Nori et al., 2015]. Pomanjklji­vost takšnih testov je predvsem v tem, da se od preiz- kušanca pricakuje, da mu je »manipulacija« z racu­nalnikom domaca in mu to ne povzroca vecjih težav in prevelikega stresa. Poleg tega pa mora biti oseba fizicno v stanju, ko lahko premika roke oz. hodi. Gle­de na to, da so v našem primeru ciljna skupina pred­vsem starostniki, ki v veliki meri niso vešci uporabe sodobnih tehnologij ali pa so telesno ovirani, mora-mo razmisliti o nacinu izvedbe testa, ki od njih ne zahteva fizicne manipulacije (z rokami, hoja, ipd.) z racunalnikom. Kot možna rešitev se pojavijo sistemi Vida Groznik: Digitalizacija in prilagoditev psihološkega testa za uporabo s sistemom za spremljanje ocesnih gibov za spremljanje ocesnih gibov, ki bi omogocili, da bi preizkušanci izvedli test Corsi zgolj z gledanjem na racunalniški zaslon. sIsTEmI zA sPREmLJANJE OcEsNIH GIBOV Sistemi za spremljanje ocesnih premikov (angl. eye­-tracker ) so v zadnjih letih tehnicno zelo napredo­vali tako po zmogljivostih kot tudi po cenovni do-stopnosti in razširjenosti. Postali so manj obcutljivi na premike glave med snemanjem (posledicno ni vec potrebno uporabniku fiksirati brado, kar je bilo zanj izjemno neudobno), izboljšala se je programska oprema za natancnejši zajem podatkov, povecali sta se natancnost in frekvenca snemanja. Nekateri siste-mi so popolnoma integrirani v okvirje klasicnih ocal in so s tem postali še bolj prirocni za uporabo. Med najbolj razširjenimi sistemi za sledenje oce­snim gibom so tisti, ki delujejo na osnovi videa. To-vrstni sistemi so neinvazivni in uporabljajo relativno cenovno ugodno strojno opremo. Sistemi uporabni­kove oci snemajo z vec (vsaj dvema) majhnimi kame­rami, ki delujejo v infrardecem spektru. Programska oprema pa z uporabo algoritmov za analizo videa iz posnetkov izlušci naslednje podatke: sliko, ki jo vidi (dobi na retino) uporabnik naprave, odziv okulo­motornega sistema, ki vkljucuje odzivni cas in tocne karakteristike sakad (angl. saccades), pogostost meži­kanja in velikost zenic v casu. To nam omogoca, da lahko spremljamo ocesne gibe sledenja, ki so lahko moteni pri številnih nevroloških obolenjih. Tovrstne naprave torej raziskovalcem omogocajo na objekti­ven nacin (preko meritev v realnem casu) opazovati in analizirati vzorce ocesnih premikov in usmerjanja vidne pozornosti. Kvantifikacija podatkov s svojo objektivnostjo in primerljivostjo (skozi cas) nudi tudi možnost objektivnega spremljanja bolezni skozi cas. Vse to so razlogi, da so v zadnjih letih tovrstni sis-temi postali eno bolj razširjenih orodij pri raziskavah na podrocju nevroloških obolenj, kot so kognitivni upad [Crutcher et al., 2009, Wilcockson et al., 2019, Tao et al., 2020], parkinsonova bolezen [Blekher et al., 2009, Jansson et al., 2015], motnje avtisticnega spek­tra [Chita-Tegmark, 2016], Rettov sindrom [Rose et al., 2013] in drugi. 4 DIGITALIZACIJA IN PRILAGODITEV TESTA CORSI ZA UPORABO S SISTEMOM ZA sPREmLJANJE OcEsNIH GIBOV Kolikor nam je znano, do zdaj še ni bilo razvitega te­sta Corsi, ki bi ga preizkušanec lahko opravljal zgolj s pogledom na racunalniški zaslon. Poleg tega si ne želimo, da bi moral preizkušanec na kakršen koli nacin manipulirati z racunalnikom, saj bi mu s tem lahko povzrocili dodaten stres, kar bi lahko vodilo do napacnih rezultatov. Zato poleg preizkušanca po­trebujemo tudi preizkuševalca, ki poskrbi za zagon programa za izvedbo testa in kalibracijo sistema za sledenje ocesnim gibom. Da preizkušanca ne obre­menimo z dodatnimi postopki, predlagamo, da ima­ta preizkuševalec in preizkušanec locene zaslone. Preizkušanec vidi zgolj nalogo, ki jo mora izvesti, preizkuševalec pa lahko nadzira celoten potek izva­janja testiranja, zažene in zaustavi test, opravi kali­bracijo, ipd. Na sliki 2 je prikazana shema predlaga­ne postavitve sistema. Pri digitalizaciji testa Corsi smo se želeli cim bolj približati osnovnemu testu Corsi [Corsi, 1972]. Zara-di tega smo ohranili devet elementov, ki so razpore­jeni na racunalniškem zaslonu. Pri postavitvi smo iz­hajali iz slike 1, pri cemer smo jo za potrebe pogleda Slika 2: Postavitev celotnega sistema za izvedbo testiranja. Levo je preizkušanec; njegov pogled spremlja in beleži sistem za spremljanje ocesnih gibov. Desno je preizkuševalec, ki na locenem zaslonu nadzoruje potek testiranja. Vida Groznik: Digitalizacija in prilagoditev psihološkega testa za uporabo s sistemom za spremljanje ocesnih gibov s strani preizkušanca morali zavrteti za 180 stopinj (na sliki 1 je namrec predstavljen pogled preizkuše­valca). Pri prvi implementaciji testa smo poleg posta­vitve ohranili pravokotno obliko elementov (kock), kot je razvidno iz slike 3. Posamezno zaporedje je bilo prikazano tako, da se je posamezen kvadrat v zaporedju po vrsti za trenutek (150 ms) obarval v zeleno barvo in nato nazaj v sivo. Po enako dolgem premoru (150 ms) se je obarval naslednji kvadratek. Ko je preizkušanec moral ponoviti zaporedje, se je izbrani kvadrat prav tako prižgal zgolj za kratek cas (oz. utripnil), kar je nakazalo oznacitev kvadrata. Ko je preizkušanec menil, da je oznacil vse potrebne kvadrate, je izvajanje trenutnega zaporedja zakljucil s pogledom na kljukico v desnem spodnjem kotu. Vsaka dolžina zaporedja je imela dve razlicici, ki sta se izvedli zaporedno. Ce je preizkušanec vsaj eno iz-med razlicic posamezne dolžine zaporedja pravilno oznacil, se je testiranje nadaljevalo z zaporedjem, ki je bilo za en kvadratek daljše. Najdaljše zaporedje je bilo dolžine 9 (kolikor je razlicnih kvadratkov). 4.1 Testiranje uporabniške izkušnje Pred vkljucitvijo digitalizirane verzije testa Corsi v koncno baterijo testov za odkrivanje MCI, smo izve­dli krajše testiranje uporabniške izkušnje, s katero smo želeli ugotoviti, ce je prilagojeni test razumljiv in ce je casovna komponenta primerno zasnovana. Testiranje smo izvedli v kontroliranem okolju, vkljucili pa smo 24 oseb razlicnih starostnih in izo­brazbenih profilov, ki smo jih izbrali med sodelavci in prostovoljci. Najmlajša oseba je bila stara 30 let, najstarejša pa 79. Vsak preizkušanec je testiranje opravljal dvakrat (oznacevanje zaporedij od prve­ga oznacenega kvadratka do zadnjega in obratno). Med izvajanjem testiranja s posamezno osebo, osta­le osebe, ki še niso bile testiranje, niso bile prisotne. Preizkuševalec je na svojem zaslonu spremljal, kam preizkušanec v dolocenem trenutku gleda in si zapi­soval svoja opažanja. Podatki iz sistema za sledenje ocesnih gibov pa so se avtomatsko shranjevali na ra-cunalnik. Preizkušance smo na koncu povprašali za morebitne komentarje, nekateri izmed njih pa so jih podali že med izvajanjem testa. Na podlagi testiranja uporabniške izkušnje smo prišli do naslednjih ugotovitev: • zaporedje je prehitro prikazano (150 ms) in zme­de preizkušanca; Rešitev: podaljšanje casa obarvanja kvadratka in pre­mora med posameznimi obarvanji na 250 ms; • ce pri ponavljanju zaporedja izbrani kvadratek zgolj »utripne«, uporabnika zmede, saj ni prepri-can, da je bil kvadratek res izbran;Rešitev: kvadratek po izboru ostane prižgan; • cas gledanja kvadratka za izbiro je prekratek (200ms) in se velikokrat nehote izbere napacen kvadra­tek, ki ga je preizkušanec s pogledom zgolj preckal; Rešitev: podaljšanje casa potrebne fiksacije za izbor kvadratka na 400 ms; • kvadratki na levi strani so nekoliko prevec skupaj in ob slabši kalibraciji lahko pride to tega, da se oznaci drug kvadratek, kot ga je preizkušanec de­jansko gledal; Rešitev: namesto kvadratkov se izriše krogce in s tem nekoliko »odmaknemo« elemente med seboj; • ce se testiranec zmoti, ne more popraviti svojega izbora, kljub temu, da ve, da je naredil napako (te možnosti ni imel niti preizkuševalec); Rešitev: levo spodaj se doda krogec z znakom X - s fi­ksacijo na ta krogec se razveljavi izbor kvadratkov v trenutnem zaporedju in preizkušanec lahko na novo zacne z izborom zaporedja; • preizkušanec ni bil preprican ali racunalnik pra­vilno zaznava njegov pogled ali ne in koliko casa mora še gledati posamezen element na zaslonu; Rešitev: takoj, ko racunalnik zazna, da preizkušanec gleda v posamezen element na zaslonu, se pojavi ani­macija okoli tistega elementa (progres), ki nakazuje, koliko casa žegleda doticen element in koliko casa šemora gledati tja, da bo element oznacen kot izbran; • oznacevanje zaporedja od zadnjega oznacenega kvadratka proti prvemu je, pri takšni postavitvi kvadratkov na zaslonu, pretežka; Rešitev: test naj se izvaja le v eno smer - torej od prvega oznacenega kvadratka do zadnjega. Vida Groznik: Digitalizacija in prilagoditev psihološkega testa za uporabo s sistemom za spremljanje ocesnih gibov Na podlagi teh ugotovitev, smo pripravili novo implementacijo testa Corsi v kateri smo zajeli reši­tve, ki so predlagane zgoraj. Takšna rešitev je imple­mentirana v bateriji testov za odkrivanje MCI, ki je v klinicnem preizkušanju. Posnetek implementacije je viden na sliki 6 oz. 7 in opisana v poglavju 4.2. 4.2 Implementacija testa Corsi Test Corsi smo implementirali za uporabo s siste-mom za spremljanje ocesnih gibov podjetja Tobii in sicer za model 4C (prikazan na sliki 4), ki je med cenovno bolj dostopnimi modeli, ki še zagotavljajo dovolj dobro natancnost merjenja. Zajem podatkov uporabljenega modela je med 60 in 90 Hz, deluje pa na zaslonih do velikosti diagonale 68,58 cm (27”) v razmerju 16:9. Sistem ima na voljo knjižnico SDK, s katero lahko dostopamo do podatkov, ki jih je sistem zajel. Deluje tako na operacijskem sistemu Linux kot tudi na operacijskem sistemu Windows. Slika 4: sistem za spremljanje ocesnih gibov Tobii Eye Tracker 4C. (slika je povzeta s spletne strani www.tobii.com.) Za naše potrebe smo uporabili zaslon z velikostjo diagonale 60,96 cm (24”) in resolucijo 1920 x 1080 px, ki je imel na spodnjem robu namešcen sistem za spremljanje gibanja oci. Preizkuševalec je uporabljal prenosni racunalnik z namešcenim operacijskim sis-temom Debian. Pred zacetkom testiranja se preizkušancu na za­slonu izpišejo kratka navodila (slika 5), ki so hkrati predvajana tudi v zvocni obliki. Navodilom sledi test. Na zaslonu se prikaže devet krožcev (slika 6), ki so enake barve. Zacetek prikaza posameznega zaporedja s prižiganjem krožcev je na­povedan s kratkim zvocnim signalom (pisk), da ose­bo opozori, da mora biti pozorna na dogajanje na za­slonu. Prižiganje krožcev se pricne 1000 ms ko pisku. T.i. prižiganje krožcev pomeni, da se posamezen krožec za hip (250 ms) obarva zeleno in nato »uga­sne«. Naslednji krožec se obarva 250 ms po prejšnjem. Prikazu zaporedja ponovno sledi kratek zvocni signal (pisk), ki preizkušanca opozori, da je na vrsti, da ponovi zaporedje. Posamezen krožec mora gleda-ti toliko casa (fiksacija), dokler se ne obarva zeleno. Ko preizkušanec meni, da je pravilno ponovil zapo­redje, mora pogled usmeriti v desni spodnji kot, kjer je krožec z zeleno kljukico. Tega mora gledati 2 s (da se izognemo napakam, do katerih bi lahko prišlo, ce bi oseba po nesreci s pogledom oplazila za krožec) in s tem se zakljuci testiranje trenutnega zaporedja. Primer oznacitve zaporedja s pogledom je prikazan na sliki 7. Vida Groznik: Digitalizacija in prilagoditev psihološkega testa za uporabo s sistemom za spremljanje ocesnih gibov Ce se preizkušanec med izvajanjem naloge zmo-ti, lahko napako popravi s pogledom v levi spodnji kot (kjer je v krožcu rdec križec). Tudi na tem krožcu mora pogled zadržati dlje casa (2s), s tem pa razve­ljavi celotno zaporedje, ki ga je oznacil s pogledom in pricne z oznacevanjem od zacetka. Podobno kot v izvornem testu Corsi [Corsi, 1972], se posamezna dolžina zaporedja obarvanih krožcev ponovi dvakrat. Izjema je najkrajše zaporedje, ki je dolžine dve, saj se ponovi trikrat. Razlog je v tem, da se preizkušanci na zacetku še nekoliko lovijo in se lahko zgodi, da po nepotrebnem naredijo kakšno napako. Test se izvaja tako dolgo, dokler preizkuša­nec pri posamezni dolžini zaporedja vsaj eno izmed zaporedij oznaci v pravilnem zaporedju. Najdaljše zaporedje je torej dolžine devet, kolikor je krožcev na zaslonu. Testiranje se predcasno zakljuci, ko preizku­šanec napacno ponovi vse razlicice iste dolžine zapo­redja. Z nadaljevanjem testiranja bi namrec osebo po nepotrebnem dodatno obremenjevali in jim povzro-cali psihicni stres, ker necesa niso zmožni ponoviti. 5 SKLEP IN NADALJNJE DELO V clanku je predstavljen predlog digitalizacije testa Corsi za uporabo s sistemom za sledenje ocesnih gibov. Prednost digitalizirane verzije testa v primer-javi s klasicno je predvsem v možnosti avtomatske analize podatkov in postavitvi ocene kratkorocnega vidno-prostorskega spomina preizkušanca, razbre­menitvi psihologov - saj je za izvedbo testa potreb­na zgolj prisotnost tehnika, ki zažene kalibracijo in test, služi pa lahko tudi kot hiter (presejalni) test na primarni ravni, na podlagi katerega se lahko osebni zdravnik odloci o nadaljnji napotitvi preizkušanca h specialistu. Pri digitalizaciji tovrstnih testov se je treba zavedati,komu so testi namenjeni. Ker gre v našem primeru zastarejše osebe, ki niso nujno vešce uporabe modernihtehnologij IKT, poleg tega pa so morda tudi telesno ovi­rane, je potrebno test cim bolj poenostaviti za uporabo.Odstraniti je treba vse nepotrebne informacije in mani­pulacije, ki bi lahko pritegnile pozornost preizkušancain s tem privedle do napacnih rezultatov testiranja. Kergre v našem primeru za uporabo digitaliziranega testaskupaj s sistemom za spremljanje ocesnih gibov, je predizvedbo testa potrebno narediti cim bolj natancno kali­bracijo, saj smo le tako lahko prepricani, da naš sistempravilno beleži pogled preizkušanca. Za oznacitev, daje preizkušanec pogledal dolocen krog na zaslonu, jepotrebno dolociti, koliko casa mora posamezen kroggledati. Ce je cas prekratek, lahko napacno oznacimokrog, ki ga je preizkušanec nehote ošvrknil s pogle­dom. Ce je predolg, lahko zaradi mežikanja izgubimo»signal« pogleda ali pa oseba pozabi, kateri je krog, kibi moral slediti trenutnemu krogu. Predlagana digitalizirana verzija testa Corsi je žeimplementirana in je del baterije testov, ki se trenutnouporablja kot del raziskave v klinicni praksi. Na podla­gi podatkov, ki jih bomo dobili, bomo z uporabo algo­ritmov umetne inteligence zgradili diagnosticni model,s katerim bomo lahko avtomatsko napovedovali ocenostanja kratkorocnega vidno-prostorskega spomina pre­izkušanca in, ce bo mogoce, napovedali, ali ima osebaprisotne znake blagega kognitivnega upada ali ne. LITERATURA [1] Alzheimer’s Disease International, L. (2019). World Alzheimer Report 2019: Attitudes to dementia. Alzheimer’s Disease In­ternational (ADI). [2] Ayati, Z., Chang, D., and Lake, J. (2020). Advances in tre­atment of mild cognitive impairment (mci) and dementia: A review of promising non-pharmaceutical modalities. Frontiers in Clinical Drug Research-Dementia: Volume 1, 1:78. [3] Benedict, C., Byberg, L., Cedernaes, J., Hogenkamp, P. S., Giedratis, V., Kilander, L., Lind, L., Lannfelt, L., and Schiöth, H. B. (2015). Self-reported sleep disturbance is associated with alzheimer’s disease risk in men. Alzheimer’s & Dementia, 11(9):1090–1097. [4] Berch, D. B., Krikorian, R., and Huha, E. M. (1998). The corsi block-tapping task: Methodological and theoretical conside­rations. Brain and cognition, 38(3):317–338. [5] Blekher, T., Weaver, M., Rupp, J., Nichols, W. C., Hui, S. L., Gray, J., Yee, R. D., Wojcieszek, J., and Foroud, T. (2009). Multiple step pattern as a biomarker in parkinson disease. Parkinsonism & related disorders, 15(7):506–510. [6] Borson, S., Scanlan, J., Brush, M., Vitaliano, P., and Dokmak, A. (2000). The mini-cog: a cognitive ‘vital signs’ measure for dementia screening in multi-lingual elderly. International jour­nal of geriatric psychiatry, 15(11):1021–1027. Vida Groznik: Digitalizacija in prilagoditev psihološkega testa za uporabo s sistemom za spremljanje ocesnih gibov [7] Brunetti, R., Del Gatto, C., and Delogu, F. (2014). ecorsi: im­plementation and testing of the corsi block-tapping task for digital tablets. Frontiers in Psychology, 5:939. [8] Cass, S. P. (2017). Alzheimer’s disease and exercise: a litera­ture review. Current sports medicine reports, 16(1):19–22. [9] Chang, W.-P., Liu, M.-E., Chang, W.-C., Yang, A. C., Ku, Y.-C., Pai, J.-T., Huang, H.-L., and Tsai, S.-J. (2013). Sleep apnea and the risk of dementia: a population-based 5-year follow-up study in taiwan. PloS one, 8(10):e78655. [10] Chita-Tegmark, M. (2016). Social attention in asd: a review and meta-analysis of eye-tracking studies. Research in deve­lopmental disabilities, 48:79–93. [11] Corsi, P. M. (1972). Human memory and the medial temporal region of the brain. doctoral dissertation, McGill University. [12] Crooks, V. C., Lubben, J., Petitti, D. B., Little, D., and Chiu, V. (2008). Social network, cognitive function, and dementia incidence among elderly women. American journal of public health, 98(7):1221–1227. [13] Crutcher, M. D., Calhoun-Haney, R., Manzanares, C. M., Lah, J. J., Levey, A. I., and Zola, S. M. (2009). Eye tracking du­ring a visual paired comparison task as a predictor of early dementia. American Journal of Alzheimer’s Disease & Other DementiasOR, 24(3):258–266. [14] de Paula, J. J., Moreira, L., Nicolato, R., De Marco, L. A., Côrrea, H., Romano-Silva, M. A., De Moraes, E. N., Bical-ho, M. A., and Malloy-Diniz, L. F. (2012). The tower of london test: Different scoring criteria for diagnosing alzheimer’s di­sease and mild cognitive impairment. Psychological Reports, 110(2):477–488. [15] Féart, C., Samieri, C., Rondeau, V., Amieva, H., Portet, F., Dartigues, J.-F., Scarmeas, N., and Barberger-Gateau, P. (2009). Adherence to a mediterranean diet, cognitive decline, and risk of dementia. Jama, 302(6):638–648. [16] Firth, J., Stubbs, B., Vancampfort, D., Schuch, F., Lagopou­los, J., Rosenbaum, S., and Ward, P. B. (2018). Effect of aero­bic exercise on hippocampal volume in humans: a systematic review and meta-analysis. Neuroimage, 166:230–238. [17] Folstein, M. F., Folstein, S. E., and McHugh, P. R. (1975). »mi­ni-mental state«: a practical method for grading the cognitive state of patients for the clinician. Journal of psychiatric rese­arch, 12(3):189–198. [18] Fratiglioni, L., Paillard-Borg, S., and Winblad, B. (2004). An ac­tive and socially integrated lifestyle in late life might protect against dementia. The Lancet Neurology, 3(6):343–353. [19] Granda, G., Mlakar, J., and Vodušek, D. B. (2003). Kratek pre­izkus spoznavnih sposobnosti–umerjanje pri preiskovancih, starih od 55 do 75 let (i). Slovenian Medical Journal, 72(10). [20] Grant, W. B. (1999). Dietary links to alzheimer’s disease: 1999 update. Journal of Alzheimer’s Disease, 1(4-5):197–201. [21] Grant, W. B. (2016). Using multicountry ecological and ob­servational studies to determine dietary risk factors for alzheimer’s disease. Journal of the American College of Nu­trition, 35(5):476–489. [22] Guariglia, C. C. (2007). Spatial working memory in alzheimer’s disease: a study using the corsi block-tapping test. Dementia & Neuropsychologia, 1(4):392–395. [23] Hamer, M. and Chida, Y. (2009). Physical activity and risk of neurodegenerative disease: a systematic review of prospec­tive evidence. Psychological medicine, 39(1):3–11. [24] Hugo, J. and Ganguli, M. (2014). Dementia and cognitive im­pairment: epidemio- logy, diagnosis, and treatment. Clinics in geriatric medicine, 30(3):421—442. [25] Jansson, D., Medvedev, A., Axelson, H., and Nyholm, D. (2015). Stochastic anomaly detection in eye-tracking data for quantification of motor symptoms in parkinson’s disease. In Signal and Image Analysis for Biomedical and Life Sciences, pages 63–82. Springer. [26] Kaplan, E. (1991). WAIS-R as a Neuropsychological Instru­ment (WAIS-R NI). Psychological Corporation. [27] Kessels, R. P., Van Zandvoort, M. J., Postma, A., Kappelle, L. J., and De Haan, E. H. (2000). The corsi block-tapping task: standardization and normative data. Applied neuropsycholo­gy, 7(4):252–258. [28] LeFevre, J.-A., Fast, L., Skwarchuk, S.-L., Smith-Chant, B. L., Bisanz, J., Kamawar, D., and Penner-Wilger, M. (2010). Pathways to mathematics: Longitudinal predictors of perfor­mance. Child development, 81(6):1753–1767. [29] Letenneur, L. (2004). Risk of dementia and alcohol and wine consumption: a review of recent results. Biological research, 37(2):189–193. [30] Lim, A. S., Kowgier, M., Yu, L., Buchman, A. S., and Ben­nett, D. A. (2013). Sleep fragmentation and the risk of incident alzheimer’s disease and cognitive decline in older persons. Sleep, 36(7):1027–1032. [31] Lourida, I., Hannon, E., Littlejohns, T. J., Langa, K. M., Hyppönen, E., Kuz´ma, E., and Llewellyn, D. J. (2019). Associ­ation of lifestyle and genetic risk with incidence of dementia. Jama, 322(5):430–437. [32] Lourida, I., Soni, M., Thompson-Coon, J., Purandare, N., Lang, I. A., Ukoumunne, O. C., and Llewellyn, D. J. (2013). Mediterranean diet, cognitive function, and dementia: a sys­tematic review. Epidemiology, pages 479–489. [33] McColgan, P., Evans, J. R., Breen, D. P., Mason, S. L., Bar­ker, R. A., and Williams- Gray, C. H. (2012). Addenbrooke’s cognitive examination-revised for mild cognitive impairment in parkin- son’s disease. Movement Disorders, 27(9):1173– 1177. [34] Mioshi, E., Dawson, K., Mitchell, J., Arnold, R., and Hodges, J. R. (2006). The addenbrooke’s cognitive examination revised (ace-r): a brief cognitive test battery for dementia screening. International Journal of Geriatric Psychiatry: A journal of the psychiatry of late life and allied sciences, 21(11):1078–1085. [35] Nasreddine, Z. S., Phillips, N. A., Bédirian, V., Charbonneau, S., Whitehead, V., Collin, I., Cummings, J. L., and Chertkow, H. (2005). The montreal cognitive assessment, moca: a brief screening tool for mild cognitive impairment. Journal of the American Geriatrics Society, 53(4):695–699. [36] Nori, R., Piccardi, L., Migliori, M., Guidazzoli, A., Frasca, F., De Luca, D., and Giusberti, F. (2015). The virtual reality wal­king corsi test. Computers in Human Behavior, 48:72–77. [37] Parsey, C. M. and Schmitter-Edgecombe, M. (2011). Quan­titative and qualitative analyses of the clock drawing test in mild cognitive impairment and alzheimer disease: evaluation of a modified scoring system. Journal of geriatric psychiatry and neurology, 24(2):108–118. [38] Pearson, D. and Sahraie, A. (2003). Oculomotor control and the maintenance of spatially and temporally distributed events in visuo-spatial working memory. The Quarterly Jour­nal of Experimental Psychology Section A, 56(7):1089–1111. [39] Piccardi, L., Iaria, G., Ricci, M., Bianchini, F., Zompanti, L., and Guariglia, C. (2008). Walking in the corsi test: which type of memory do you need? Neuroscience Letters, 432(2):127– 131. [40] Rainville, C., Lepage, E., Gauthier, S., Kergoat, M.-J., and Belleville, S. (2012). Executive function deficits in persons with mild cognitive impairment: a study with a tower of lon-don task. Journal of Clinical and Experimental Neuropsycho-logy, 34(3):306–324. Vida Groznik: Digitalizacija in prilagoditev psihološkega testa za uporabo s sistemom za spremljanje ocesnih gibov [41] Rakuša, M., Granda, G., Kogoj, A., Mlakar, J., and Vodušek, [48] Tao, L., Wang, Q., Liu, D., Wang, J., Zhu, Z., and Feng, L. D. (2006). Mini-mental state examination: standardization and (2020). Eye tracking metrics to screen and assess cognitive validation for the elderly slovenian population. European jour- impairment in patients with neurological disorders. Neurolo­ nal of neurology, 13(2):141–145. gical Sciences, pages 1–8. [42] Rose, S. A., Djukic, A., Jankowski, J. J., Feldman, J. F., Fis- [49] Vandierendonck, A., Kemps, E., Fastame, M. C., and Sz­ hman, I., and Valicenti- Mcdermott, M. (2013). Rett syndrome: malec, A. (2004). Working memory components of the corsi an eye-tracking study of attention and recognition memory. blocks task. British journal of psychology, 95(1):57–79. Developmental Medicine & Child Neurology, 55(4):364–371. [50] Wang, H.-X., Karp, A., Winblad, B., and Fratiglioni, L. (2002). [43] Ruggiero, G. and Iachini, T. (2010). The role of vision in the Late-life engagement in social and leisure activities is associ­ corsi block-tapping task: Evidence from blind and sighted ated with a decreased risk of dementia: a longitudinal study people. Neuropsychology, 24(5):674. from the kungsholmen project. American journal of epidemi- [44] Smyth, M. and Scholey, K. (1994). Interference in spatial im­ ology, 155(12):1081–1087. mediate memory. Memory and Cognition, 22:1–13. [51] Wilcockson, T. D., Mardanbegi, D., Xia, B., Taylor, S., Saw­ [45] Solfrizzi, V., Panza, F., Frisardi, V., Seripa, D., Logroscino, G., yer, P., Gellersen, H. W., Leroi, I., Killick, R., and Crawford, T. Imbimbo, B. P., and Pilotto, A. (2011). Diet and alzheimer’s J. (2019). Abnormalities of saccadic eye movements in de- disease risk factors or prevention: the current evidence. mentia due to alzheimer’s disease and mild cognitive impair- Expert review of neurotherapeutics, 11(5):677–708. ment. Aging (Albany NY), 11(15):5389. [46] Swiger, K. J., Manalac, R. J., Blumenthal, R. S., Blaha, M. J., [52] Wong, W. B., Lin, V. W., Boudreau, D., and Devine, E. B. and Martin, S. S. (2013). Statins and cognition: a systematic (2013). Statins in the prevention of dementia and alzheimer’s review and meta-analysis of short-and long-term cognitive disease: a meta-analysis of observational studies and an as- effects. In Mayo clinic proceedings, volume 88, pages 1213– sessment of confounding. Pharmacoepidemiology and drug 1221. Elsevier. safety, 22(4):345–358. [47] Szekely, C. A., Breitner, J. C., Fitzpatrick, A. L., Rea, T. D., [53] Yip, A. G., Green, R. C., Huyck, M., Cupples, L. A., and Far- Psaty, B. M., Kuller, L. H., and Zandi, P. P. (2008). Nsaid use rer, L. A. (2005). Nonsteroidal anti-inflammatory drug use and and dementia risk in the cardiovascular health study*: Role of alzheimer’s disease risk: the mirage study. BMC geriatrics, apoe and nsaid type. Neurology, 70(1):17–24. 5(1):1–6. • Vida Groznik je asistentka za racunalništvo na Fakulteti za matematiko, naravoslovje in informacijske tehnologije na Univerzi na Primorskem ter raziskovalka v Laboratoriju za umetno inteligenco na Fakulteti za racunalništvo in informatiko Univerze v Ljubljani. Doktorirala je leta 2018 z delom, ki je tesno povezovalo umetno inteligenco in nevrologijo. Je (so)avtorica vecih raziskovalnih clankov in poglavij v knjigah s podrocja umetne inteligence v medicini. Pridobila in delala je na vecih projektih financiranih s programov EU, Ministrstva za izobraževanje, znanost in šport ter Slovenskega podjetniškega sklada. Je soustanoviteljica in direktorica podjetja NEUS Diagnostics, d.o.o. v okviru katerega razvijajo sisteme za pomoc pri oceni zdravstvenega stanja uporabnikov. INForMACIJE Iz Islovarja Islovar je spletni terminološki slovar informatike, ki ga objavlja jezikovna sekcija Slovenskega društva IN­FORMATIKAin ga najdete na naslovu http://www.islovar.org. Vabimo vas, da tudi vi prispevate svoje pri­pombe, predloge ali nove izraze. blokni algorítem -ega -tma m (angl. block algorithm) simetricni šifrirni algoritem, s katerim se naenkrat šifrira celoten blok; prim. pretocni algoritem blokno šifríranje -ega -a s (angl. block encryption, block cipher mode) simetricno šifriranje, pri katerem se uporablja blokovni algoritem; prim. pretocno šifriranje dekodíranje -a s (angl. decoding) pretvarjanje kodiranega sporocila z uporabo dogovorjene kode v prvotno obliko; prim. kodiranje dešifríranje -a s (angl. decryption, decypherment, decrypting, decipherment) postopek, pri katerem se tajnopis z uporabo šifrirnega algoritma in šifrirnega kljuca spremeni v cistopis; prim. šifrirati ka -e ž (angl. code) sistem pravil za pretvorbo podatkov v drugo obliko, vcasih skrajšano ali tajno, za komunikacijo ali shranjevanje; prim. šifra, psevdokoda, strojna koda kodíranje -a s (angl. encoding) pretvarjanje sporocila v drugacno zaporedje znakov z uporabo dogovorjene kode; prim. dekodiranje kodíranje signála -a --s (angl. scrambling) spreminjanje signala s podatki tako, da ga prejemnik prepozna samo s podobno napravo oznáka -e ž (angl. identifier, label, ID) kar je mogoce uporabiti za enolicno oznacevanje cesa; sin. identifikator, šifra1 pretocni algoritem -ega -tma m (angl. stream algorithm) simetricni šifrirni algoritem, s katerim se šifrira tok podatkov; prim. blokovni algoritem pretócno šifríranje -ega -a s (angl. stream encryption) simetricno šifriranje, pri katerem se uporablja pretocni algoritem; prim. blokovno šifriranje prográmska ka -e -e ž (angl. program code) zapis racunalniškega programa ali dela racunalniškega programa v enem od programskih jezikov; sin. koda simétricni šifrírni algorítem -ega -ega -tma m (angl. symmetric encryption algorithm) šifrirni algoritem, ki za šifriranje in dešifriranje uporablja isti tajni kljuc; prim. asimetricni šifrirni algoritem šífra1 -e ž (angl. identifier, label) kar je mogoce uporabiti za enolicno oznacevanje cesa; sin. oznaka, identifikator šífra2 -e ž (angl. code, cipher) pravilo za pretvorbo sporocila v neprepoznavno obliko; prim. koda, šifrirni kljuc šífra3 -e ž (angl. password) gl. geslo šifránt -a m (angl. code list) 1. urejen seznam šifer1 z razlago pomena 2. nabor kriptografskih kod šifríranje -a s (angl. encryption, encipherment) postopek, pri katerem se z uporabo šifrirnega algoritma in šifrirnega kljuca cistopis spremeni v tajnopis; prim. dešifriranje šifrírni kljúc -ega -a m (angl. key, encryption key) niz znakov, ki služi za kodiranje in dekodiranje podatkov; prim. šifra Strokovni prispevki Bor Krizmanic, Aleš Groznik: AktuAlne dejAvnoSti, primerne zA uporAbo veriženjA podAtkovnih blokov Mitja Gradišnik, Tina Beranic, Sašo Karakatic: z umetno inteligenco podprt rAzvoj progrAmSke opreme Mateja Kocbek Bule: znAnjSki delAvci in notAcijA cmmn kratki znanstveni prispevki Amra Omanovic, Polona Oblak, Tomaž Curk: ApplicAtion of tropicAl Semiring for mAtrix fActorizAtionn Matej Vitek, Peter Rot, Vitomir Štruc, Peter Peer: poglobljen pogled v belocnicno biometrijo: novA podAtkovnA množicA in študijA delovAnj Vida Groznik: digitAlizAcijA in prilAgoditev pSihološkegA teStA zA uporAbo S SiStemom zA SpremljAnje oceSnih gibov informacije iz iSlovArjA