2021 ‹ številka 3 ‹ letnik XXiX ‹ issn 1318-1882 03 VSEBINA UPORABNA INFORMATIKA 2021 ŠTEVILKA 3 JUL/AVG/SEP LETNIK XXIX ISSN 1318-1882 Znanstveni prispevki Luka Pavlic, Luka Cetina Pomen uporabe arhitekturnih nacrtovalskih vzorcev pri razvoju mobilnih aplikacij 143 Vida Groznik, Aleksander Sadikov Analiza gibanja oci med branjem pri bolnikih z razlicnimi stopnjami kognitivnega upada 155 Kratki znanstveni prispevki Damjan Fujs, Simon Vrhovec, Damjan Vavpotic Kategorizacija uporabnikov na podlagi njihovega z informacijsko varnostjo povezanega znanja, stališc in vedenje: pilotna študija 162 Maja Savinek, Matjaž Kukar Delovni okvir za pretocne podatke s standardom Common Information Model (CIM) 170 Aleš Papic, Igor Kononenko, Zoran Bosnic Pozitivno in neoznaceno ucenje z generativnimi nasprotniškimi mrežami 175 Informacije Iz slovarja 179 UPORABNA INFORMATIKA 141 INFORMATIKA 2021 ŠTEVILKA 3 JUL/AVG/SEP LETNIK XXIX 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, Aleksander Sadikov, Aljaž Košmerlj, Andrej Brodnik, Andrej Kovacic, Bor Plestenjak, Borut Werber, Borut Žalik, Boštjan Žvanut, Božidar Potocnik, Branko Kavšek, Ciril Bohak, Danijel Skocaj, David Jelenc, Dejan Georgiev, Dejan Lavbic, Denis Trcek, Dobravec Tomaž, Domen Mongus, Eva Krhac, Evelin Krmac, Franc Solina, Gregor Weiss, Igor Kononenko, Inna Novalija, Irena Nancovska Šerbec, Ivan Gerlic, Janez Demšar, Jurij Jaklic, Jurij Mihelic, Katarina Puc, Lovro Šubelj, Luka Pavlic, Luka Cehovin, Marina Trkman, Marjan Hericko, Marjan Krisper, Marko Bajec, Marko Hölbl, Marko Robnik Šikonja, Martin Vodopivec, Matevž Pesek, Matija Marolt, Mihaela Triglav Cekada, Mirjana Kljajic Borštnar, Mojca Indihar Štemberger, Monika Klun, Niko Schlamberger, Peter Trkman, Polona Rus, 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. zNANStVENI prISpEVkI Pomen uporabe arhitekturnih nacrtovalskih vzorcev pri razvoju mobilnih aplikacij Luka Pavlic, Luka Cetina Univerza v Mariboru, Fakulteta za elektrotehniko, racunalništvo in informatiko, Koroška cesta 46, 2000 Maribor luka.pavlic@um.si, luka.cetina1@um.si Izvlecek Izbira ustrezne arhitekture je pomemben in nujen korak razvoja mobilnih aplikacij za operacijski sistem Android. V clanku predsta­vljamo sistematicno primerjavo najbolj priljubljenih arhitekturnih nacrtovalskih vzorcev in njihovo vlogo pri nacrtovanju mobilnih apli­kacij. Pri raziskovanju smo se omejili na osem arhitekturnih vzorcev iz kataloga Jetpack. Ugotoviti smo želeli, v kakšni meri ti vzorci vplivajo na potek in koncni izid razvoja mobilnih aplikacij. Z uporabo vsakega izmed obravnavanih vzorcev smo razvili mobilno aplika­cijo za operacijski sistem Android. Zanimalo nas je, kako se aplikacije, razvite z uporabo arhitekturnih vzorcev, primerjajo z njihovimi alternativami. Razvili smo osem mobilnih aplikacij, ki izkorišcajo prednosti obravnavanih nacrtovalskih vzorcev. V namen primerjave smo razvili osem dodatnih mobilnih aplikacij, pri katerih nismo uporabili ustreznih arhitekturnih vzorcev, temvec smo aplikacijo raz­vili brez njih. Tako razvite aplikacije smo primerjali po vec kriterijih, med katerimi so bili poglavitni zahtevnost razvoja, cas razvoja ter vrednosti programskih metrik. Na podlagi tako pridobljenih podatkov smo argumentirali smiselnost uporabe vzorcev v podanih kon­tekstih. V clanku tako pokažemo, da je razvoj mobilnih aplikacij z uporabo arhitekturnih vzorcev kataloga Jetpack ne samo manj zahteven, ampak je kljub vecjemu številu komponent, obseg izvorne kode manjši. Ugotovili smo, da sta, presenetljivo, cas razvoja in notranja kakovost aplikacij kljub uporabi nacrtovalskih vzorcev primerljiva z alternativnimi pristopi. Kljucne besede: Android, mobilne aplikacije, arhitekturni vzorci, nacrtovanje mobilnih aplikacij, Android Jetpack Abstract Choosing an appropriate architecture is a crucial and necessary step in mobile application development. In this paper, we present a systematic comparison of the most popular architectural patterns and discuss their importance for mobile app development. In our research, we focused on eight architectural patterns from the Jetpack library. We wanted to investigate their impact on the course and outcomes of mobile app development. This is why we have developed an Android application using each of the eight patterns. In order to assess their role, we developed eight more mobile applications. They differ from the previous ones only in that we did not use the Jetpack architectural patterns, but instead developed the applications ad hoc. We compared the applications using several criteria, including time, effort and code quality metrics. Based on this, we argued the rationale for using the patterns in the given contexts. In this paper, we demonstrate that the mobile app development using Jetpack architectural patterns is not only less demanding, but also requires fewer lines of code despite the higher component number. We show how, despite the use of architectural patterns, product development time and internal quality of applications was comparable to those developed with al­ternative approaches. Keywords: Android, architectural patterns, mobile application design, Android Jetpack UVOD cije. Razvoj aplikacij za operacijski sistem Android v Za preživetje v visoko tekmovalnem trgu aplikacij za povprecju traja 20-30 % dlje in je za tretjino dražji kot operacijski sistem Android je kljucno, da razvijalci v razvoj aplikacij za iOS. To je med drugim posledica kratkem casu dostavijo kakovostne mobilne aplika-tega, da je mobilne aplikacije potrebno testirati na vec napravah (Ardas Group Inc., 2017). Ustrezna ar­hitektura je zaradi tega pri razvoju mobilnih aplikacij za operacijski sistem Android še toliko bolj pomemb­na. Le-ta namrec omogoca lažje vzdrževanje in testi­ranje, kar zmanjša skupen cas, potreben za razvoj in vzdrževanje. Kot vidimo na sliki 1, bo uporaba ustre­zne arhitekture sicer potek projekta na zacetku upo-casnila, vendar bodo prednosti postale vidne že v ne­kaj tednih. Takrat bomo lahko nove funkcionalnosti dodajali bistveno hitreje, kot ce ustrezne arhitekture ne bi imeli (Fowler, Software Architecture Guide, 2019). Izbira dobre zasnove je pristop, ki lahko raz­vijalcem že na kratek rok pomaga pri doseganju višje kakovosti mobilnih aplikacij. Kaj sploh je dobra arhitektura mobilne aplikaci­je za operacijski sistem Android, je vprašanje, ki so ga skušali nasloviti že mnogi avtorji (npr. Aymen, et al., 2019, Prabowo, et al., 2018, Verdecchia, et al., 2019). Kot ugotavljajo avtorji, mnenja pogosto kroji navdušenje za trenutno popularne tehnologije in ne objektivni dokazi. Ustrezna arhitektura je odvisna od vrste in namena mobilne aplikacije. Zato ni enotne­ga odgovora na vprašanje »Kaj je dobra arhitektu­ra ?«. Kljub temu pa obstajajo splošni vzorci, dobre prakse, ki se pojavijo v vecini arhitektur. Potrebo po dobri arhitekturi in lažji implementaciji teh vzorcev so prepoznali tudi pri podjetju Google in izdali kata-log z imenom Android Jetpack (Android Developers, 2020). Katalog se deli na 4 kategorije: podporne knji­žnice (ang. foundation), arhitekturne komponente, ve­denjske komponente (ang. behaviour) in komponente za gradnjo uporabniškega vmesnika (ang. user inter­face). V tej raziskavi smo se osredotocili zgolj na arhi­tekturni del, ki vsebuje osem arhitekturnih vzorcev.Raziskovalni vprašanji, na kateri smo odgovarjali, sta: 1.Katere so prednosti uporabe arhitekturnih vzor­cev Jetpack pri razvoju mobilnih aplikacij? a. krajši cas razvoja, b. manjša zahtevnost razvoja, c. velikost izvorne kode izdelka, d. izboljšana notranja kakovost. 2.Ali, kdaj in v kolikšni meri je arhitekturne vzorce kataloga Jetpack smiselno uporabiti? V nadaljevanju clanka bodo v 2. poglavju pred­stavljena sorodna dela in arhitekturni vzorci podrob­neje. 3. poglavje povzema metode raziskovanja. Po-drobneje bomo predstavili raziskovalna vprašanja, postopek raziskovanja in nacin izvedbe meritev. 4. poglavje vsebuje predstavitev rezultatov, ki jih bomo v 5. poglavju podrobneje analizirali. V zadnjem po­glavju na kratko povzemamo bistvo in rezultate clanka. 2 SORODNA DELA Konec 70. let se je ob nastanku graficnih uporabni­ških vmesnikov pojavil arhitekturni nacrtovalski vzorec MVC (ang. Model-View-Controller). Le-ta pro-gramsko logiko razdeli na model (ang. model), po- Slika 1: Cas implementacije funkcionalnosti pri programski opremi s kakovostno in nekakovostno zasnovo (Fowler, Software Architecture Guide, 2019) gled (ang. view) in krmilnik (ang. controller). Njegova glavna naloga je locitev predstavitve podatkov od poslovne logike (Reenskaug, 2003). Iz te ideje se je razvil vzorec MVP(ang. Model-View-Presenter), ki je idejo locitve logike od predstavitve podatkov pope-ljal še dlje in uvedel bolj pasivni pogled, ki ne vsebu­je predstavitvene logike (Potel, 1996). Vzorec MVVM (ang. Model-View-ViewModel) je še ena variacija vzorca MVC, ki se ukvarja s problematiko locitve poslovne logike in predstavitve podatkov. Osnova zanj je ideja Martina Fowlerja (Fowler, Presentation model, 2004), s pomocjo katere so inženirji pri Microsoftu ustvari­li konkretno arhitekturo (Gossman, 2005). Razvijalci mobilnih aplikacij se pri nacrtovanju arhitekture po­gosto odlocajo tudi za t.i. pristop Clean Architecture, ki ni le vzorec, ampak celostna nacrtovalska filozofi­ja. Njen glavni cilj je lociti komponente tako, da odvi­snosti prihajajo le od zunanjih proti notranjim slojem (Martin, 2012). Avtorji (Verdecchia, et al., 2019) so v svojem delu raziskali nacine, na katere razvijalci mobilnih apli­kacij za operacijski sistem Android nacrtujejo arhi­tekturo aplikacij. Zanimalo jih je predvsem, katerih vzorcev in dobrih praks se razvijalci najbolj pogosto poslužujejo in kakšen vpliv imajo le-te na kakovost. V sklopu dela so opravili vodene razgovore z raz­vijalci ter preucili obstojeco literaturo. Pri rezulta­tih so predstavili najbolj uporabljene arhitekturne vzorce in knjižnice za snovanje arhitekture mobilnih aplikacij. Sestavili so tudi seznam zahtev kakovosti, ki se razvijalcem zdijo najpomembnejše pri razvoju mobilnih aplikacij. Ugotovili so, da razvijalci najpo­gosteje uporabljajo arhitekturni vzorec MVP, najpo­gosteje uporabljeni katalogi pa so RxJava, Dagger in Jetpack. Rezultati so pokazali tudi, da je izmed množice atributov kakovosti razvijalcem najbolj po­membna ravno vzdrževalnost, sledita ji možnost te­stiranja in ucinkovitost delovanja mobilne aplikacije. Avtor (Lou, 2016) je v svojem delu preverjal, ali sta vzorca MVVM in MVPres boljša od tradicional­nega pristopa. Primerjavo vzorcev je pripravil na osnovi treh kriterijev: možnost testiranja, možnost spreminjanja in ucinkovitost delovanja. Ugotovil je, da sta vzorca MVVM in MVPod MVC boljša po vseh kriterijih, med seboj pa sta si prevec podobna, da bi lahko enega oznacil za boljšega. Kot poglavitno razli­ko med vzorcema je izpostavil to, da nudi MVPbolj­šo možnost spreminjanja, MVVM pa boljšo možnost testiranja. Avtorji (Aymen, et al., 2019) so se v svojem delu osredotocili na MVC arhitekturne vzorce mobilnih aplikacij za operacijski sistem Android. Želeli so ugotoviti, katere arhitekturne vzorce je priporocljivo uporabljati, ter kakšni so trendi na podrocju nacrto­vanja arhitekture mobilnih aplikacij za operacijski sistem Android. Zanimalo jih je tudi, kako pogosto mobilne aplikacije uporabljajo arhitekturne vzorce na osnovi vzorca MVC in katere vrste mobilnih aplikacij se takšnih vzorcev poslužujejo najbolj pogosto. V svo­jem delu so šli korak dlje od prejšnjega avtorja (Lou, 2016), saj so želeli avtomatizirati prepoznavo arhitek­ture, ki jo mobilna aplikacija uporablja. S pristopom RI-MAZ, ki z uporabo hevristik identificira dominan-ten arhitekturni vzorec mobilne aplikacije, so preu-cili 5480 aplikacij, dostopnih na tržnici Google Play. Ugotovili so, da je najbolj dominanten vzorec MVC, redkeje je uporabljen vzorec MVP, vzorec MVVM pa je v vzorcu aplikacij skoraj neuporabljen. Rezultati so pokazali tudi, da veliko število aplikacij (predvsem manjših) ne sledi nobenemu arhitekturnem vzorcu. Avtorji (Prabowo, et al., 2018) so se v svojem delu prav tako osredotocili na arhitekturne vzorce, ki so osnovani na vzorcu MVC. Zanimalo jih je, kako se mobilne aplikacije, ki uporabljajo arhitekturne vzor­ce, primerjajo z aplikacijami, ki sledijo anti-vzorcem (slabim praksam) in posledicno jasne arhitekture ni­majo. Pri primerjavi mobilnih aplikacij so se osredo­tocili na modularnost in vzdrževalnost. Analizirali in primerjali so dve mobilni aplikaciji, od katerih ena uporablja arhitekturne vzorce, druga pa jasne arhi­tekture ni imela. Ugotovili so, da uporaba vzorca MVPznatno poveca modularnost mobilne aplikacije, vzdrževalnost pa je bila pri obeh mobilnih aplikaci­jah primerljiva. Izbira na vzorcih temeljece arhitekture je torej po­memben korak nacrtovanja mobilnih aplikacij, saj bo ta izbira vplivala na potek celotnega projekta. Upora­ba ustrezne arhitekture sicer potek razvoja na zacet­ku upocasni. Prednosti bodo postale vidne že v nekaj tednih, ko bomo lahko nove funkcionalnosti dodaja­li bistveno hitreje, kot ce ustrezne arhitekture ne bi imeli (Fowler, Software Architecture Guide, 2019). 2.1 Arhitektura mobilnih aplikacij na primeru platforme Android Do leta 2018 je vecina mobilnih aplikacij za platfor-mo Android uporabljala t.i. podporne knjižnice (ang. support libraries), ki so naslavljale izziv združljivosti med napravami in razlicicami sistema Android. Po-membne so predvsem zaradi zagotavljanja t.i. zdru­žljivosti za naprej (ang. forward compatibility), kar pomeni, da bodo mobilne aplikacije, razvite za nove razlicice sistema Android, delovale tudi na starejših. Podporne knjižnice so se od nastanka zelo spremi­njale in postajale nepregledne, zato so se pri Googlu odlocili, da zacnejo znova. Na podlagi prepoznanih dobrih praks so objavili katalog Jetpack, s katerim so želeli podati smernice, priporocena orodja in delno implementacijo v obliki knjižnice. Le-ta razvijalcem pomaga pri grajenju kakovostnih mobilnih aplikacij za operacijski sistem Android (Moore, 2018). Katalog se deli na 4 kategorije: podporne knjižnice (ang. fo­undation), arhitekturne komponente, vedenjske kom­ponente (ang. behaviour) in komponente za grajenje uporabniškega vmesnika (ang. user interface). Kljub kratkemu obstoju je katalog Jetpack hitro postal po­pularen, saj so ga avtorji (Verdecchia, et al., 2019) v svoji raziskavi uvrstili na 3. mesto (takoj za RxJava in Dagger) po uporabljanosti pri snovanju arhitekture mobilnih aplikacij za operacijski sistem Android. Ker se v tem clanku ukvarjamo z ustrezno arhitekturo mobilnih aplikacij, se bomo osredotocili le na arhi­tekturni del kataloga. Ta vsebuje 8 vzorcev, ki razvi­jalcem pomagajo pri snovanju ustrezne arhitekture ter upravljanju in prikazovanju podatkov. To so: • vzorec 1: DataBinding, • vzorec 2: Lifecycles, • vzorec 3: LiveData, • vzorec 4: Navigation, • vzorec 5: Paging, • vzorec 6: Room, • vzorec 7: ViewModel in • vzorec 8: WorkManager. Za tipicnega predstavnika arhitekturnih vzorcev kataloga Jetpack lahko oznacimo vzorec 7 (ViewMo­del), ki naslavlja problematiko locitve logike za ob-delavo in prikaz podatkov (slika 2). Vzorec kataloga Jetpack je tesno povezan z arhitekturnim nacrtoval-skim vzorcem MVVM, saj omogoca implementacijo dela ViewModel omenjenega vzorca. Za razumevanje implementacije vzorca ViewMo­del je kljucno poznavanje življenjskega cikla krmilni­kov uporabniškega vmesnika mobilnih aplikacij za operacijski sistem Android (aktivnosti in fragmenti). Življenjske cikle teh komponent upravlja operacijski sistem, ki lahko zaradi uporabnikovega vnosa, po­manjkanja sistemskih virov ali drugih okolišcin ka­darkoli unici ali posodobi krmilnik. S tem izbriše vse podatke, ki jih je le-ta vseboval. Za uporabnika ob ne­ustrezni obravnavi aplikacije to pomeni nevšecnosti. Ko bo ob rotaciji zaslona aktivnost ponovno naložila zacetno stanje, bodo vsi podatki, ki niso trajno shra­njeni, izgubljeni. To poslabša uporabniško izkušnjo in vodi do vecje porabe virov. Dodaten izziv pred­stavlja proženje dolgo trajajocih asinhronih klicev. Razvijalec naj bi te klice upravljal in poskrbel, da se pocistijo, ko krmilnik ni vec aktiven. To upravljanje zahteva ponovno veliko sistemskih virov, klici pa se pogosto ponavljajo, saj se prožijo vsakic, ko je krmil­nik ponovno naložen. Vzorec ViewModel našteto problematiko reši tako, da logiko za pridobivanje po­datkov loci od logike za upravljanje uporabniškega vmesnika. Slednjo umakne v razred tipa ViewModel. Objekti tega tipa se zato med spremembami konfi­guracije samodejno ohranijo. Tako so podatki, ki jih vsebujejo, takoj na voljo naslednji aktivnosti ali fra­gmentu. S tem preprecimo izgubo podatkov, hkrati pa porabimo manj sistemskih virov, saj podatkov ni potrebno ponovno nalagati.. Slika 2: Nalaganje podatkov z uporabo arhitekturnega vzorca ViewModel (Android Developers, 2020) Slika 3: Nalaganje podatkov s pomocjo arhitekturnega vzorca Loader (Android Developers, 2020) Za nalaganje in posodabljanje podatkov se je tra­dicionalno uporabljal tudi pristop, prikazan na sliki 3. Ta definira razreda Loader, ki skrbi za pridobiva­nje podatkov in posredovanje podatkov ter LoadMa­nager, ki upravlja vse primerke razreda Loader. Ko primerek razreda Loader podatke naloži, o tem ob-vesti razred objekt LoadManager, ta pa aktivnosti oz. fragmentu sporoci, da naj posodobi prikaze na upo­rabniškem vmesniku. Uporaba tega pristopa zahteva vkljucitev asinhronega obnašanja izvorne kode za upravljanje primerkov razreda Loader v aktivnost oz. fragment. To posledicno pomeni vecjo sklopljenost razredov in med drugim oteži izvajanje testov. Vzo-rec ViewModel je tak pristop v veliki meri zamenjal, saj omogoca enake funkcionalnosti, vendar to stori na bolj preprost in razvijalcu prijazen nacin. Njegova prednost je tudi v tem, da logiko za upravljanje po­datkov bolje loci od uporabniškega vmesnika. Arhitekturni vzorec ViewModel implementiramotako, da ustvarimo razred, ki implementira vmesnikViewModel (poleg konceptualnega opisa vzorcev je delkataloga JetPack tudi njihova implementacija). Razredvsebuje objekte, ki hranijo stanje. Te objekte nato posre­dujemo krmilniku uporabniškega vmesnika in jih obinterakciji uporabnika tudi posodobimo. ViewModelpridobiva podatke iz poljubnega vira in jih obdela do temere, da jih bo krmilnik prikazal brez dodatne obdela­ve. Vsebuje metode za pridobivanje in vracanje podat­kov ter metode za vsa dejanja, ki jih uporabnik lahkoproži. ViewModel se pogosta uporablja tudi v kom­binaciji z vzorcem LiveData, ki omogoca, da krmilnikuporabniškega vmesnika ob spremembah v razreduViewModel samodejno prejme posodobljene podatke. Primer razreda v programskem jeziku Kotlin, ki implementira vzorec ViewModel in skrbi za shrambo, pridobivanje ter posredovanje seznama uporabnikov: class UporabnikiViewModel : ViewModel() { private val uporabniki: MutableLiveData> by lazy { MutableLiveData().also { naloziUporabnike () } } fun vrniUporabnike(): LiveData> { return uporabniki } private fun naloziUporabnike() { //asinhrono pridobivanje seznama uporabnikov } } Vzorec ViewModel kataloga Jetpack omogoca re-nostmi oz. fragmenti. Poleg lažjega prikaza podatkov lativno preprosto implementacijo locitve podatkov razvijalce vzpodbuja tudi k vpeljavi arhitekturnega od prikaza in ohranjanja stanja. Uporabimo pa ga vzorca MVVM v mobilno aplikacijo.lahko celo za prenos podatkov med razlicnimi aktiv­MeTODe RAzISKOVANjA Arhitekturne komponente kataloga Jetpack smo pre-mobilni aplikaciji, ki vsebujeta enake funkcionalno­izkusili tako, da smo za vsak vzorec ustvarili dve sti. Arhitekturne vzorce smo uporabili le pri eni. Slika 4: Potek raziskovanja Raziskovalna metoda je prikazana na sliki 4: 1. Dolocitev funkcionalnostiVsak arhitekturni vzorec smo preucili in dolocili funkcionalnosti, s katerimi bi lahko izcrpno preiz­kusili delovanje izbranega vzorca. 2. Na podlagi funkcionalnosti smo razvili mobilno aplikacijo A. Pri razvoju nismo uporabili arhitek­turnih vzorcev, ampak je ta potekal ad hoc. V pra­ksi je to pomenilo, da smo uporabljali že obstojece knjižnice, funkcionalnosti, ki jih nudi že opera-cijski sistem Android sam. V nekaterih primerih smo komponente, potrebne za implementacijo željenih funkcionalnosti, ustvarili sami. 3. Razvili smo mobilno aplikacijo B, ki je funkcional-no enaka aplikaciji A, le da smo pri razvoju upo­rabili arhitekturne vzorce kataloga Jetpack. Da bi zagotovili, da je edina sprememba med aplikaci­jama Ain B uporaba ustreznega vzorca, smo mo- bilno aplikacijo B razvili na osnovi implementaci­je A z uvedbo ustreznih sprememb. 4. Na osnovi izvorne kode obeh mobilnih aplikaci­jah smo zbrali podatke. Izvedli smo anketo (zah­tevnost implementacije, cas implementacije, kako dobra je podpora oz. dokumentacija) in izvedli meritve. Z njimi smo ugotavljali ucinkovitost de­lovanja, velikost rešitve (s pomocjo metrike LOC, števila komponent, metrike WMC), njeno kom­pleksnost (metrika CC) ter ostale strukturne zna-cilnosti (metrike DIT, CBO in NOC). 5. Analizirali smo rezultate in pripravili primerjavo nastalih mobilnih aplikacij. Izvajane meritve so bile sledece: • Zahtevnost (subjektivna ocena razvijalca: zelo nizka (1) – zelo visoka (7)), • Cas implementacije (subjektivna ocena razvijalca, temeljeca na dejanskem merjenju casa: zelo kratek (1) – zelo dolg (6)), • Podpora/dokumentacija (subjektivna ocena raz­vijalca: zelo slaba (1) – odlicna (6)), • Ucinkovitost delovanja (merjenje porabe virov in odzivnosti mobilne aplikacije, agregirano v razre­de: zelo slaba (1) – odlicna (6)), • Velikost mobilne aplikacije (LOC, število potreb­nih komponent): • Število komponent – število med seboj razlicnih delov programske, kode, ki so nujni za imple­mentacijo izbranega vzorca. V to štejemo razre­de, staticne objekte jezika Kotlin, notranje razre­de, poslušalce ipd., • Metrike notranje kakovosti izvorne kode (CC, WMC, NOC, DIT, CBO). Pri zahtevnosti smo upoštevali število potrebnih komponent, cas, težavnost in kolicino novega zna­nja, ki ga za uporabo komponente razvijalec potre­buje. Ocenili smo jo z opisno oceno na lestvici, ki se giblje od vrednosti »zelo nizka« do vrednosti »zelo visoka«. Pri casu smo merili cas, ki je bil potreben za imple­mentacijo. Tudi tu smo se zaradi boljše pregledno­sti odlocili za predstavitev podatkov v obliki opisne ocene na lestvici, ki se giblje od vrednosti »zelo kra­tek« do vrednosti »zelo dolg«. Pri podpori/dokumentaciji smo se posvetili kolicini relevantne dokumentacije in njeni kakovosti. Ocenili smo jo z opisno oceno na lestvici, ki se giblje od vre­dnosti zelo slaba do vrednosti odlicna. Pri ucinkovitosti delovanja smo merili porabo vi-rov in gladkost izrisovanja uporabniškega vmesnika. Ocenili smo jo z opisno oceno na lestvici, ki se giblje od vrednosti »zelo slaba« do vrednosti »odlicna«. Metrike kakovostni izvorne kode smo izvajali s po­mocjo vticnikov CodeMR(CodeMR, 2020) in Metrics Reloaded (Leijdekkers, n.d.) ter orodja SonarCloud (SonarCloud, 2020). 4 RezULTATI Meritve vseh implementacij smo združili in jih pred­stavili v tabeli 1 ter grafikonu (slika 5). Mobilnim aplikacijam, ki so uporabljale vzorce iz kataloga Jetpack smo podali zelo podobne ocene pri kriterijih dokumentacija, cas in ucinkovitost delo­vanja. Vsem smo pri dokumentaciji in ucinkovitosti delovanja podelili najvišjo oceno, pri casu implemen­tacije pa najvišje ocene nismo podelili le mobilnima aplikacijama z vzorcema Paging in Room. Vecje od­stopanje smo opazili pri mobilni aplikaciji, ki upora­blja vzorec WorkManager, saj vsebuje približno 500 (za faktor 3,5) vrstic kode vec kot njena alternativa. Pri mobilnih aplikacijah, ki ne uporabljajo arhitek­turnih vzorcev kataloga Jetpack so rezultati bolj ra­znoliki, vendar nobena posamezna implementacija ne izstopa. Tudi pri programskih metrikah kakovosti izvorne kode in bilo vecjih razlik. Izstopa le vrednost metrike WMC za implementacijo, ki uporablja vzorec Work Manager (slika 5). Tabela 1: Meritve znacilnosti implementacij z in brez uporabe arhitekturnih vzorcev kataloga jetpack ucinkovitost vzorec dokum. cas zahtevnost št. komp. LOC delovanja Uporablja vzorce? da ne da ne da ne da ne da ne da ne DataBinding 6 6 2 2 2 2 3 3 6 23032 Lifecycles 6 5 2 1 2 1 2 1 6 610288 LiveData 6 4 2 4 1 4 2 2 6 53234 Navigation 6 4 2 3 1 3 1 2 6 676109 Paging 6 2 5 2 5 4 4 1 6 2232234 Room 6 4 4 5 4 5 5 4 6 6152153 ViewModel 6 6 2 1 2 2 2 1 6 63221 WorkManager 6 3 2 4 4 5 4 4 6 5723209 Legenda. dokum. = dokumentacija; cas = cas implementacije; zahtevnost = zahtevnost implementacije; št. komp. = število potrebnih komponent; LOC = število vrstic kode; Primerjava mobilnih aplikacij obeh sklopov po programskih metrikah kode Slika 5: Primerjava mobilnih aplikacij obeh sklopov po programskih metrikah kode V tabeli 2 so zbrani rezultati vseh implementacij. Podane so skupne ocene za implementacije z upora­bo vzorcev kataloga Jetpack in implementacije brez. Skupno oceno za vsako vrsto implementacij smo pri­dobili tako, da smo izracunali povprecje vrednosti implementacij posameznega sklopa. Med analizo re-zultatov smo ugotovili, da število vrstic kode pri vzor-cu WorkManager izstopa in mocno vpliva na skupen rezultat. Zaradi tega smo se odlocili, da podamo tudi rezultate, ki ne vkljucujejo vzorca WorkManager. 5 RAZPRAVA Z rezultati smo pokazali, da so se mobilne aplikaci­je, razvite z uporabo arhitekturnih vzorcev kataloga Jetpack in tiste razvite ad hoc, med seboj najbolj raz­likovale po zahtevnosti implementacije, kakovosti dokumentacije in obsegu izvorne kode. Pri ucinkovi­tosti delovanja, casu implementacije in programskih metrikah kode so bile zaznane razlike zelo majhne. Najbolj je izstopala implementacija aplikacije, ki uporablja vzorec WorkManager, saj je imela za faktor 3,5 vec vrstic izvorne kode kot implementacija apli­kacije, razvite ad hoc. To odstopanje je lahko posle­dica tega, da so pri podjetju Google ukinili vse ostale knjižnice, ki omogocajo izvajanje nalog v ozadju in jih združili v vzorcu WorkManager. Zato je bilo ad hoc težavno ustvariti aplikacijo, ki je funkcionalno popolnoma enaka tisti z vzorcem WorkManager. Povprecen cas implementacije mobilne aplikacije z uporabo arhitekturnih vzorcev kataloga Jetpack je primerljiv, v nekaterih primerih pa malo daljši od casa implementacije aplikacije, razvite ad hoc. To je v skladu z avtorjem (Fowler, Software Architecture Guide, 2019), ki pravi da uporaba kakovostne arhi­tekture razvoj na zacetku upocasni. Pri podjetju Goo­gle obljubljajo, da uporaba arhitekturnih vzorcev ka­taloga Jetpack zmanjša zahtevnost, pohitri razvoj in izboljša kakovost. Na podlagi naših rezultatov trdi­tev o krajšem casu razvoja in višji kakovosti mobilnih aplikacij nismo mogli z gotovostjo potrditi ali ovreci. Dopušcamo možnost, da se vecje razlike pojavijo šele pri bolj kompleksnih implementacijah in na dolgi rok. V nadaljevanju podajamo odgovore na zacetku zastavljenih raziskovalnih vprašanj. 1. Katere so prednosti uporabe arhitekturnih vzor­cev Jetpack pri razvoju mobilnih aplikacij? a. Krajši cas razvoja? Pri Googlu obljubljajo, da bo uporaba katalo­ga Jetpack zmanjšala zahtevnost in pohitrila razvoj, vendar rezultati našega testiranja kaže­jo, da temu ni vedno tako. Cas implementaci­je je drugacen pri vsakem vzorcu. Povprecna casa implementacij z in brez uporabe vzorcev kataloga Jetpack sta podobna. Povprecen cas implementacij z uporabo kataloga je celo dalj­ši. Kljub temu smo ugotovili, da vzorci kata­loga Jetpack razvijalcu omogocajo lažje doda­janje novih funkcionalnosti in zmanjšajo cas za vzdrževanje in nadaljnji razvoj mobilnih aplikacij. Uporaba vzorcev kataloga Jetpack ni vedno hitrejša, vendar pa lahko na dolgi rok zmanjša trud in cas za vzdrževanje in ra­zvoj mobilne aplikacije. To je še posebej po­membno pri velikih projektih. b. Manjša zahtevnost razvoja? Pri pregledu rezultatov smo ugotovili, da je vzorcem iz kataloga Jetpack skupna dobra Tabela 2: Primerjava implementacij, ki uporabljajo katalog jetpack s tistimi, ki ga ne z uporabo kataloga jetpack Brez uporabe kataloga jetpack Zahtevnost Nizka – srednje nizka Srednje nizka – srednja Cas Srednje kratek. Srednje kratek. Za nekaj odstotkov daljši na zacetku. Cas je na zacetku krajši vendar je vzdrževanje bolj dolgotrajno. Podpora/ Odlicna. Dobra. Dokumentacija Pri Googlu nudijo obsežno dokumentacijo in vodice za vse vzorce. Dokumentacija je bila pogosto pomanjkljiva ali zastarela, podpora za knjižnice pa opušcena. Povprecno 2,9. 2,3. število potrebnih Vzorci kataloga Jetpack v povprecju potrebujejo dobre pol Implementacije brez uporabe kataloga Jetpack komponent komponente vec. Implementacija le enega vzorca (Navigation) je so dosledno (razen Navigation) potrebovale manj potrebovala manj delov, kot implementacija brez njegove uporabe. komponent. Ucinkovitost Odlicna. Zelo dobra. delovanja Vse implementacije vzorcev imajo majhno porabo virov, mnoge pa Zaznali smo le majhna odstopanja od implementacij vsebujejo dodatne funkcionalnosti, ki aktivno pomagajo prepreciti z uporabo vzorcev kataloga Jetpack, velika razlika napake. pri vzorcu Paging. Število vrstic kode Rezultati vseh vzorcev: Rezultati vseh vzorcev: (LOC) Povprecno: 172 Povprecno: 110 Mediana: 89 Mediana: 99 Skupno: 1379 Skupno: 880 Rezultati brez vzorca WorkManager: Rezultati brez vzorca WorkManager: Povprecno: 94 Povprecno: 96 Mediana: 76 Mediana: 88 Skupno: 656 Skupno: 671 Programske Rezultati vseh vzorcev: Rezultati vseh vzorcev: metrike kode Povp. WMC: 3 Povp. WMC: 2,2 Povp. število razredov: 6,3 Povp. število razredov: 5,8 Povp. DIT: 2,7 Povp. DIT: 2,7 Povp. CBO: 1,6 Povp. CBO: 1,6 Povp. CC: 2,3 Povp. CC: 2,2 Rezultati brez vzorca WorkManager: Rezultati brez vzorca WorkManager: Povp. WMC: 1,7 Povp. število razredov: 6,3 Povp. WMC: 1,9 Število razredov: 35 Povp. DIT: 2,6 Povp. DIT: 2,7 Povp. CBO: 1,4 Povp. CBO: 1,4 Povp. CC: 2 Povp. CC: 2 podpora in predvsem preprostost uporabe. Katalog, ki so ga ustvarili pri Google-u, nudi komponente, ki jih lahko razvijalci hitro in preprosto vkljucijo v svoj izdelek. Da bi do-segli vecjo robustnost in preprostost uporabe, vecina vzorcev zanemari dolocene napredne funkcionalnosti, ki jih nudijo tretje knjižnice. To je še posebej opazno, ko primerjamo vzorec LiveData in knjižnico RxJava. Slednja nudi vec funkcionalnosti, vendar je zaradi preprostosti uporabe za vecino projektov vzorec LiveData vseeno bolj privlacna izbira. Dobra primera tega sta tudi vzorca Navigation in Room. Le­-ta nista uvedla novih funkcionalnosti, ampak sta obstojece le ovila in razvijalcu poenostavila njihovo uporabo. Ugotovili smo, da so se pri Googlu držali obljub glede nižje zahtevnosti implementacije vzorcev kataloga Jetpack, saj je bila ta v povprecju za petino manjša od im­plementacij brez njihove uporabe. Preprostost uporabe je tako eden izmed glavnih adutov kataloga Jetpack. S tem se knjižnica pribli­ža tudi zacetnikom, ki z razvojem mobilnih aplikacij za operacijski sistem Android še ni­majo veliko izkušenj. c. Velikost produkta? Pri analizi števila vrstic kode smo ugotovili, da so bile od njihovih alternativ krajše implemen­tacije kar petih vzorcev: DataBinding, LiveDa­ta, Navigation, Paging, Room. Štiri od teh so bile od alternativ krajše le za 2 vrstici kode ali manj, implementacija vzorca Navigation pa je bila od alternative krajša kar za 40 %. Še posebej je izstopala implementacija vzorca Workma­nager, ki je bila od alternative daljša za faktor 3,5. Menimo, da je to zaradi pomanjkanja do-brih alternativ za vzorec WorkManager, zaradi cesar je bilo brez njene uporabe zelo težavno ustvariti popolnoma enakovredno implemen­tacijo. Kljub temu odstopanju smo ugotovi­li, da v splošnem implementacija z uporabo kataloga Jetpack zahteva manj vrstic kode, v primerjavi z implementacijo brez njegove uporabe. Ceprav je razlika zelo majhna, lahko recemo, da so se pri podjetju Google obljube o manj t.i. obrtniške kode držali. Kljub manj­šemu številu vrstic kode pa so implementaci­je, ki so uporabljale vzorce kataloga Jetpack, v povprecju potrebovale 26 % vec komponent in skoraj 6 % vec razredov kot njihove alternative. d. Izboljšana notranja kakovost? Aplikacije, razvite z uporabo vzorcev kataloga Jetpack, v povprecju potrebujejo vec kompo­nent in razredov kot aplikacije razvite ad hoc. Vendar za njihovo implementacijo porabijo manjše število vrstic kode in približno enako casa. Poleg tega je njihova implementacija tudi manj zahtevna, kar nakazuje na dobro struk­turiranost vzorcev. Mobilne aplikacije, ki so uporabljale vzorce kataloga Jetpack, so imele po naših meritvah tudi vecjo ucinkovitost de­lovanja. Kljub temu smo po analizi izmerjenih vrednosti metrik kakovosti programske kode ugotovili, da z izjemo metrik WMC in NOC med aplikacijami, ki uporabljajo vzorce iz ka­taloga Jetpack in tistimi ki jih ne, ni vecjih raz­lik. Aplikacije z vzorci kataloga Jetpack v pov­precju vsebujejo vec razredov, ciklomaticna kompleksnost, globina delovanja in skloplje­nost pa so primerljive z vrednosti alternativnih implementacij. Povprecna vrednost metrike WMC za aplikacije, ki uporabljajo arhitektur­ne vzorce kataloga Jetpack je za 36 % vecja od povprecne vrednosti mobilnih aplikacij, ki teh vzorcev niso uporabljale. Ko smo izracunali še povprecne vrednosti brez aplikacij vzorca WorkManager, se je trend obrnil in so bile vre­dnosti mobilnih aplikacij, ki uporabljajo vzorce kataloga Jetpack, za 11 % manjše od vrednosti njihovih alternativ. Nižji sta bili tudi vrednosti metrik CC in DIT, vendar sta se vrednosti spre­menili za manj kot 5 %, zato jim ne moremo pripisati velikega pomena. Vzorci kataloga Je­tpack se osredotocajo na ucinkovitost delova­nja ter nizko kompleksnost, vendar po naših rezultatih z gotovostjo ne moremo trditi, da uporaba arhitekturnih vzorcev vodi do višje notranje kakovosti mobilnih aplikacij. 2. Ali, kdaj in v kolikšni meri je arhitekturne vzor­ce kataloga Jetpack smiselno uporabiti? Kot so pokazali rezultati, arhitekturne vzorce kataloga Jetpack odlikujeta predvsem nizka zah­tevnost implementacije in dobra dokumentacija. To vzorce približa manjšim projektom in manj iz­kušenim razvijalcem. Zaradi modularnosti in ne­zahtevne vkljucitve v projekt je vzorce smiselno uporabiti tudi pri obstojecih projektih, ki so bili razviti z drugimi pristopi. Vzorci so primerni tudi za uporabo v vecjih projektih, vendar pod pogojem, da razvijalcem zagotavljajo vse funkci­onalnosti, ki jih ti potrebujejo. Arhitekturni vzorci kataloga Jetpack za dosego nizke zahtevnosti po­gosto žrtvujejo dodatne funkcionalnost in prila­godljivost. Ce potrebujejo razvijalci vec nadzora in prilagodljivosti pri implementaciji funkcional­nosti, potem arhitekturni vzorci kataloga Jetpack pogosto niso prava izbira. Dobra primera tega sta vzorca LiveData in Navigation. Vzorec navigati­on omogoca hitro vkljucitev v projekt in v veliki meri olajša pomikanje med fragmenti. Ce želi raz­vijalec sam upravljati dejanje ob pritisku gumba »nazaj«, mora uporabiti drug pristop, saj vzorec Navigation tega ne omogoca. Podobno smo opa­zili pri vzorcu LiveData. Ta je zelo preprost za uporabo, vendar se je v kompleksnejših primerih iz vidika ponujenih funkcionalnosti bolje izkazala knjižnica RxJava.Vzorci kataloga Jetpack so zasnovani tako, da jih je preprosto vkljuciti v nov ali že obstojec projekt. Vzorci niso vezani na specificno razlicico opera-cijskega sistema Android in so združljivi za nazaj. To pomeni, da bodo funkcionalnosti, implemen­tirane s pomocjo vzorcev kataloga Jetpack, delo-vale tudi na starejših razlicicah sistema Android. Za uporabo enega vzorca ni potrebno vkljuciti celotnega kataloga vzorcev, ampak se lahko uporabljajo tudi povsem individualno. Kljub temu se nekateri vzorci najbolj izkažejo takrat, ko so uporabljeni skupaj. Najboljši primer tega so vzorci Room, ViewModel in LiveData. Sku­paj poskrbijo za hranjenje in prenos podatkov od denimo podatkovne baze vse do uporabniškega vmesnika. Bili so zasnovani za skupno uporabo, zato jih je povezati lažje, kot ce bi katerega izmed njih nadomestili z zunanjim vzorcem. Nekateri arhitekturni vzorci kataloga Jetpack so celo inte­grirani v Android Studio (Room, Navigation), kar še dodatno zmanjša zahtevnost implementacije in vzorce približa razvijalcem. 6 zAKLjUCeK V clanku smo demonstrirali pomen in vpliv izbire ustrezne arhitekture na potek razvoja mobilnih apli­kacij za operacijski sistem Android. Pri raziskovanju smo se osredotocili na osem arhitekturnih vzorcev kataloga Jetpack. Pokazali smo, da je razvoj mobilnih aplikacij z njihovo uporabo ne samo manj zahteven, temvec je kljub vecjemu številu komponent število obseg izvorne kode manjši, cas razvoja in kakovost izdelka pa sta primerljiva z alternativnimi pristopi. Ugotovili smo, da so glavne prednosti arhitekturnih vzorcev kataloga Jetpack nizka zahtevnost imple­mentacije, dobra dokumentacija in dobra struktu­riranost. Izkazalo se je, da je vzorce smiselno upo­rabiti tako pri preprostih kot tudi bolj kompleksnih projektih. Preprostost (in posledicno manjša prila­godljivost) arhitekturnih vzorcev kataloga Jetpack lahko predstavlja tudi dodatne izzive. Ce razvijalci že vnaprej vedo, da potrebujejo veliko nadzora nad delovanjem vseh delov mobilne aplikacije, potem ar­hitekturni vzorci kataloga Jetpack morda niso prava izbira. Naš clanek izpostavlja pomen arhitekturnih vzor­cev pri razvoju mobilnih aplikacij za operacijski sis-tem Android ter prednosti in pomanjkljivosti upora-be arhitekturnih vzorcev kataloga Jetpack. Razvijal­cem pomaga tudi, da se na podlagi zahtev projekta odlocijo, ce je uporaba vzorcev kataloga Jetpack smi­selna ali ne. ZAHVALA Ta raziskava je nastala ob podpori raziskovalnega programa št. P2-0057, katerega je sofinancirala Javna agencija za raziskovalno dejavnost Republike Slove­nije iz državnega proracuna. LITeRATURA [1] Android Developers. (2020). Android Jetpack. Pridobljeno iz Android Developers: https://developer.android.com/jetpack [2] Android Developers. (30. 10 2020). ViewModel. Pridobljeno iz Android Developers: https://developer.android.com/topic/ libraries/architecture/viewmodel [3] Ardas Group Inc. (15. Junij 2017). How long will it take to create your mobile application. Pridobljeno iz Ardas: https:// ardas-it.com/how-long-will-it-take-to-create-your-mobile­-application [4] Aymen, D., Ghizlane, E., Naouel, M., Sčgla, K. (2019). An exploratory study of MVC-based architectural patterns in An­droid apps. SAC ‘19: Proceedings of the 34th ACM/SIGAPP Symposium on Applied Computing, 1711–1720. [5] CodeMR. (2020). CodeMR. Pridobljeno iz CodeMR: https:// www.codemr.co.uk/ [6] Fowler, M. (19. 7 2004). Presentation model. Pridobljeno iz martinfowler.com: https://martinfowler.com/eaaDev/Presen­tationModel.html [7] Fowler, M. (18. 7 2006). GUI Architecture. Pridobljeno 26. 5 2020 iz https://martinfowler.com/eaaDev/uiArchs.html [8] Fowler, M. (1. 8 2019). Software Architecture Guide. (Martin Fowler) Pridobljeno 28. 5 2020 iz https://martinfowler.com/ architecture/ [9] Gossman, J. (8. 10 2005). Introduction to Model/View/Vi­ewModel pattern for building. (Microsoft) Pridobljeno 27. 5 2020 iz https://docs.microsoft.com/en-gb/archive/blogs/ johngossman/introduction-to-modelviewviewmodel-pattern­-for-building-wpf-apps [10] Leijdekkers, B. (brez datuma). Metrics Reloaded. (Github) Pridobljeno 2. 8 2020 iz https://github.com/BasLeijdekkers/ MetricsReloaded [11] Lou, T. (2016). A Comparison of Android Native App Architec­ture – MVC, MVP and MVVM. Eindhoven. [12] Martin, R. C. (13. 8 2012). The Clean Architecture. Pridoblje-no iz Clean Coder Blog: https://blog.cleancoder.com/uncle­-bob/2012/08/13/the-clean-architecture.html [13] Moore, K. (4. 7 2018). Introduction to Android Jetpack. (Ray Wenderlich) Pridobljeno 29. 5 2020 iz https://www.raywen­derlich.com/5376-introduction-to-android-jetpack#toc-an­chor-001 [14] Potel, M. (1996). MVP: Model-View-Presenter. Taglient Inc, 5-9. [15] Prabowo, G., Suryotrisongko, H., Tjahyanto, A.. (2018). A Tale of Two Development Approach: Empirical Study on The Maintainability and Modularity of Android Mobile Application with Anti-Pattern and Model-View-Presenter Design Pattern. 2018 International Conference on Electrical Engineering and Informatics (ICELTICs). [16] Reenskaug, T. (2003). MVC XEROX PARC 1978-79. Pridoblje-no iz Trygve M. H. Reenskaug: http://heim.ifi.uio.no/~trygver/ themes/mvc/mvc-index.html [17] SonarCloud. (2020). SonarCloud. Pridobljeno iz SonarCloud: [19] Verdecchia, R., Malavolta, I., Lago, P. (2019). Guidelines for https://sonarcloud.io/ Architecting Android Apps: A Mixed-Method Empirical Study. 2019 IEEE International Conference on Software Architecture [18] Tatarka, E. (2014). holdr. Pridobljeno iz https://github.com/ (ICSA). doi:10.1109/ICSA.2019.00023 evant/holdr [20] Wharton, J. (brez datuma). Butterknife. (Jake Wharton) Pridobljeno iz http://jakewharton.github.io/butterknife/ • Luka Pavlic je docent na Fakulteti za elektrotehniko, racunalništvo in informatiko Univerze v Mariboru. Doktoriral je leta 2009 iz tematike ponovne uporabe s pomocjo vzorcev. Njegovo raziskovalno delo obsega tehnicne in organizacijske aspekte razvoja informacijskih rešitev, njihovo kakovost ter IT arhitekture. Je avtor oz. soavtor vecjega števila izvirnih znanstvenih clankov, ki so objavljeni v najuglednejših revijah. • Luka Cetina je tehniški sodelavec na Fakulteti za elektrotehniko, racunalništvo in informatiko Univerze v Mariboru. Trenutno je podiplomski študent na študijskem programu Informatika in tehnologije komuniciranja. zNANStVENI prISpEVkI Analiza gibanja oci med branjem pri bolnikih z razlicnimi stopnjami kognitivnega upad Vida Groznik1,2,3, Aleksander Sadikov1,2 1NEUS Diagnostics, d.o.o., Ziherlova ulica 40E, 1000 Ljubljana 2Univerza v Ljubljani, Fakulteta za racunalništvo in informatiko, Vecna pot 113, 1000 Ljubljana 3Univerza na Primorskem, Fakulteta za matematiko, naravoslovje in informacijske tehnologije, Glagoljaška 8, 6000 Koper vida.groznik@fri.uni-lj.si, aleksander.sadikov@fri.uni-lj.si Izvlecek S staranjem prebivalstva se mocno povecuje število bolnikov z demenco, kar predstavlja vedno vecji družbeni problem. Poleg same-ga bolnika z demenco, breme bolezni obcutijo tudi njegovi bližnji. Blag kognitivni upad (MCI) je stanje kognitivnega funkcioniranja med tistim, ki ga opazimo pri obicajnem staranju in tistim, ki ga zaznamo pri osebah z demenco. Raziskave kažejo, da okvirno 10 % do 15 % bolnikov z MCI v roku enega leta napreduje v Alzheimerjevo demenco. Obenem obstajajo indici, da je v zgodnji fazi kognitivne­ga upada razvoj bolezni velikokrat še možno zavreti; posledicno je zgodnje odkrivanje kognitivnega upada precejšnjega pomena. Gi­banje oci med branjem se je v zadnjih letih izkazalo kot eden izmed obetavnih bioloških oznacevalcev za zaznavanje kognitivnega upada. V pricujoci raziskavi smo analizirali gibanje oci med branjem pri 115 preiskovancih, ki so bili razdeljeni v štiri skupine glede na stopnjo kognitivnega upada; od povsem zdravih do preiskovancev z demenco. Njihov pogled smo posneli s sistemom za spremlja­nje ocesnih gibov, posnetke pa smo opisali z lastnim naborom atributov. Analiza porazdelitev vrednosti atributov je pokazala, da se te znacilno razlikujejo v odvisnosti od stopnje kognitivnega upada. Kljucne besede: blag kognitivni upad, demenca, branje, sledenje ocesnih gibov Abstract With the aging of the population, the number of people suffering from dementia is on the rise. This represents an ever-growing problem for the society as the close relatives and caretakers of patients with dementia share the burden of the disease. Mild cognitive impair­ment (MCI) is a state of cognitive decline between normal aging and dementia. Recent studies estimate that between 10 % and 15 % of patients with MCI progress to dementia within a year. There are indications that the progression of the disease can often be slowed down during the early stage of the cognitive decline. Therefore, the early detection of the cognitive decline is highly desirable. Eye mo­vement during reading has been shown to be a promising biomarker of MCI. In this study, we analysed the eye movement of 115 parti­cipants during reading. The participants were grouped into four levels of cognitive decline; from healthy control to patients with demen­tia. Their eye movements were recorded with an eye-tracker and these recordings were described with our proposed set of descriptive attributes. The distributions of the attribute values were shown to be significantly different between various levels of cognitive decline. Keywords: Mild cognitive impairment, dementia, reading, eye-tracking UVOD IN MOTIVACIjA Veckot 50 milijonov ljudi po celem svetu ima eno izmed oblik demence, kar bolezen uvršca na prvo mesto med vsemi nevrodegenerativnimi boleznimi. Zaradi staranja prebivalstva se predvideva, da bo ko­nec tega desetletja število obolelih z demenco naraslo na 82 milijonov, leta 2050 pa bo to diagnozo imelo kar 152 milijonov ljudi [Alzheimer’s Disease Internatio­nal, 2019]. Blag kognitivni upad (MCI) je stanje ko­gnitivnega funkcioniranja med tistim, ki ga opazimo pri obicajnem staranju in tistim, ki ga zaznamo pri osebah z demenco. Za razliko od demence, pri osebah z MCI dejav­nosti vsakdanjega življenja in kakovost življenja niso bistveno prizadeti. [Hugo and Ganguli, 2014] Po ocenah pri nekje med 10 in 15% bolnikov z MCI bolezen v roku enega leta napreduje v Alzhei­merjevo demenco (AD) [Farias et al., 2009]. Raziska­ve kažejo, da je moc z uporabo razlicnih pristopov zavreti ali celo prepreciti nastanek demence oz. MCI [Ayati et al., 2020]. Med te pristope sodijo razlicne te- rapije za nekatere druge bolezni, kot so razlicna ne­steroidna protivnetna zdravila [Szekely et al., 2008] ter statini [Swiger et al., 2013], razlicne nefarmacevt­ske metode, kot na primer spremembe življenjskega sloga [Lourida et al., 2019], uživanje mediteranske prehrane [Lourida et al., 2013], zmanjšano uživanje al- kohola [Letenneur, 2004], fizicna telesna aktivnost [Cass, 2017], ipd. Vse te ugotovitve so še dodatna motivacija za raziskovanje razlicnih bioloških ozna-cevalcev za zgodnje odkrivanje kognitivnega upada. V zadnjih letih se je izkazalo, da je gibanje oci med branjem lahko eden izmed možnih bioloških oznace­valcev za detekcijo AD [Lueck et al., 2000] in tudi MCI [Fraser et al., 2017]. Razlog za to bi lahko bilo dejstvo, da je branje eno izmed bolj zahtevnih miselnih pro-cesov, ki zahteva uporabo številnih kognitivnih spo­sobnosti kot so pozornost, kratkorocni in dolgorocni spomin, vidno in slušno procesiranje ter senzorika. Poleg tega so raziskave pokazale, da imajo bolniki z AD težave z branjem zaradi primarnih okulomotor­nih nepravil- nosti kot je nestabilnost fiksacije [Lueck et al., 2000, Wilcockson et al., 2019]. Pri teh bolnikih se namrec postopoma razvije okvara nadzora inhibi­cije in popravljanja napak pri premikanju oci, pred­vsem sposobnost prostovoljnega usmerjanja pogleda stran od stimulusa pri testu antisakad (AST). Poleg tega pogostost napak pri izvajanju nalog AST koreli­ra s stopnjo AD. [Wilcockson et al., 2019] Pomembna ugotovitev je tudi, da se težave z gibanjem oci lahko pojavijo že v zelo zgodnjih fazah razvoja bolezni, ko razlicnih kognitivnih primanjkljajev s standardnimi nevropsihološkimi testi še ni mogoce zaznati [Craw­ford et al., 2005]. Glavni namen pricujoce raziskave je ugotoviti, kako se izraža gibanje oci med branjem pri razlicnih stopnjah kognitivnega upada in posledicno, ce med skupinami obstajajo pomembne razlike. To bi v na­daljevanju lahko vodilo do avtomatiziranega testa za odkrivanje zgodnjega kognitivnega upada in stopnje le-tega na podlagi branja. V nadaljevanju clanka najprej povzamemo klinic­no raziskavo, postopek rekrutacije preiskovancev in metode, ki so bile uporabljene med izvajanjem razi­skave. V tretjem poglavju orišemo strukturo preisko­vancev v tej analizi in atribute, ki smo jih predlagali za potrebe analize ocesnih gibov med branjem. Re-zultati raziskave so predstavljeni v poglavju štiri, ce-mur sledi diskusija rezultatov. Zakljucki in nadaljnje delo so podani v sklepnem poglavju. 2 KLINICNA RAzISKAVA Podatki uporabljeni v pricujoci raziskavi so bili zbra­ni v okviru klinicne raziskave, ki je bila odobrena s strani Komisije Republike Slovenije za medicinsko etiko (št. 0120-400/2015-5 in 0120-400/2015/9). Razi­skava je potekala v skladu z dobro klinicno prakso in nacionalnimi predpisi s cimer smo zagotovili zašci-to pravic, varnost in dobro pocutje preiskovancev v skladu z eticnimi naceli, ki izhajajo iz Helsinške de­klaracije Svetovnega zdravniškega združenja [World Medical Association, 2013]. 2.1 Rekrutacija preiskovancev Vsi preiskovanci so k raziskavi pristopili prostovolj-no. Informacijo o možnosti sodelovanja so prejeli na razlicne nacine: s strani osebnih zdravnikov ali ne­vrologov po tem, ko so izrazili skrb, da imajo kogni­tivne težave (subjektivna kognitivna motnja), od raz­iskovalcev vkljucenih v raziskavo ali od predhodno vkljucenih preiskovancev. Ob sami rekrutaciji smo upoštevali vkljucitvene in izkljucitvene kriterije. Osebe, vkljucene v raziska­vo, so tako morale biti starejše od 40 let pri cemer niso smele imeti nekorigiranih vidnih napak, kon­komitantnih nevroloških bolezni (izjema sta seveda blag kognitivni upad in demenca) ter niso smele zlo­rabljati mamil ali alkohola. 2.2 Potek raziskave Pred vkljucitvijo v raziskavo je bil vsak preiskovanec pisno in ustno seznanjen z vsebino in namenom raz­iskave, predvidenim trajanjem raziskave in z njego­vo pravico, da lahko kadarkoli odstopi od raziskave. Vsak preiskovanec je nato podpisal privolitev za so-delovanje v raziskavi. Raziskava je potekala v treh sklopih: 1. Nevrološki pregled Nevrološki pregled je zajemal ocenjevanje kognitiv­nega stanja preiskovancev in po potrebi še njihovega motoricnega in nemotoricnega stanja. S pomocjo vprašalnika smo preiskovance pov­prašali o demografskih podatkih in sicer o: letnici rojstva, rocnosti, izobrazbi, poklicu, datumu (more­bitne) diagnoze, dolžini trajanja (morebitne) bolezni, trenutni terapiji, ostalih boleznih, morebitnih po­škodbah glave in o družinski anamnezi. Okviren cas trajanja: 15–20 minut 2. Nevropsihološko testiranje Nevropsihološko testiranje je zajemalo oceno višjih kognitivnih sposobnosti, kot so izvršilne funkcije in spomin. Pri testiranju so bili uporabljeni naslednji standardizirani teti: Kognitivni preizkus Addenbro-oke-KPA-R[Mioshi et al., 2006], Kratka baterija fron­talnih testov - FAB (angl. Frontal Assessment Battery) [Slachevsky et al., 2004], CTMT (angl. Comprehensive Trail Making Test ) [Bowie and Harvey, 2006] in Ge­riatricna lestvica depresivnosti - 15 vprašanj (angl. Geria- tric Depression Scale - 15 questions) [Conradsson et al., 2013]. Okviren cas trajanja: 45–60 minut 3.Testiranje ocesnih gibov Testiranje ocesnih gibov je bilo opravljeno z namen­sko programsko opremo NEUS slovenskega proi­zvajalca NEUS Diagnostics, d.o.o., ki je bil sponzor raziskave. Programska oprema je bila namešcena na prenosni racunalnik, ki je imel priklopljen dodatni zaslon (z diagonalo velikosti 61 cm) in napravo za sledenje ocesnim gibom (angl. eye-tracker ). Uporabili smo model naprave 4C švedskega proizvajalca Tobii s frekvenco zajema 90Hz. Preiskovanec je sedel pri­bližno 70cm od zaslona in ni imel neposrednega sti­ka z opremo. Interakcija preiskovanca s programom je potekala zgolj z njegovim pogledom na zaslon. Celoten postopek testiranja je izvedel in nadzoroval tehnik, ki je upravljal z racunalnikom in programsko opremo. Navodila za posamezno nalogo so bila izpi­sana na racunalniškem zaslonu in hkrati predvajana v zvocni obliki. Preiskovancem smo vizualne dražljaje prikazali naracunalniškem zaslonu z uporabo namenske program-ske opreme NEUS, ki jih je tudi vodila skozi vse nalogebaterije testov. Programska oprema je podatke o giba­nju oci, ki jih je beležila s pomocjo naprave za sledenjepogleda, shranila v podatkovno bazo. Vsi podatki sobili anonimizirani, dostop do podatkovne baze pa soimeli zgolj raziskovalci, ki so sodelovali v raziskavi. Pred zacetkom samega testiranja, je bilo potrebno izvesti kalibracijo sistema loceno za vsakega prei­skovanca. Po uspešni zacetni kalibraciji so bili pre­iskovanci pozvani, da preberejo besedilo, ki je bilo prikazano na zaslonu. Besedilo je obsegalo 13 vrstic in je bilo razdeljeno v štiri odstavke. Ko je preiskova­nec prebral celotno besedilo, je moral to eksplicitno potrditi s pogledom v spodnji desni kot zaslona, kjer je bila izrisana kljukica. Okviren cas trajanja: 25–30 minut Na podlagi nevrološkega pregleda in nevropsiho­loškega testiranja so preiskovanci prejeli eno izmed naslednjih diagnoz: zdrav (brez kognitivnega upada), mejno (zaznanih nekaj znakov kognitivnega upada a ne dovolj, da bi preiskovanca lahko diagnosticirali z blagim kognitivnim upadom), MCI (blag kognitivni upad) ali demenca. 3 PODATKI 3.1 Preiskovanci Podatki, ki smo jih uporabili za to raziskavo, so vkljucevali 115 zaporedno vkljucenih preiskovancev starih med 43 in 94 let z mediano 68 let. Med njimi je bilo 85 preiskovank in 30 preiskovancev. Zdravih preiskovancev je bilo 53, diagnozo mejno je imelo 32 preiskovancev, 19 preiskovancev je imelo MCI in 11 demenco. Podrobnejša porazdelitev pre­iskovancev po starosti in spolu glede na diagnozo/skupino je prikazana v Tabeli 1. Tabela 1: Porazdelitev preiskovancev glede na spol in starost za posamezno skupino. zdrav mejno MCI demenca N 533219 11 Starostna porazdelitev Najnižja starost 486043 72 Najvišja starost 838791 94 Srednja starost 63 68.5 72 83 Porazdelitev po spolu Ženska 402412 9 Moški 1387 2 3.2 Atributi za opis ocesnih premikov med branjem Gibanje oci med branjem ni gladko, temvec tvori izme-nicno zaporedje sakad (angl. saccade) in fiksacij (angl.fixation). Sakade so hitri ocesni premiki med dvematockama, fiksacije pa krajše zaustavitve pogleda naneki tocki. Upoštevaje frekvenco zajema podatkov,lastnosti zaslona in velikost besedila v našem konkre­tnem primeru, smo fiksacije definirali kot zaporedjeposnetkov trajajoce najmanj 48ms, pri cemer najvecjarazdalja poljubnih dveh posnetkov znotraj zaporedjane presega 100 pikslov. Sakade smo izracunali kot pre-mike med dvema zaporednima fiksacijama. Predobdelava posnetkov branja je vkljucevala iz­locitev neveljavnih casovnih tock v posnetku; to so casovne tocke, ko naprava za sledenje pogleda le--tega ni zaznala. Razlogi za to so lahko razlicni, naj­pogosteje gre za mežikanje z ocmi, lahko pa do tega pride tudi zaradi pogleda izven površine zaslona, nerodne pozicije glave ipd. Poleg tega smo odstra­nili zacetnih 5 % in koncnih 10 % posnetka. Na teh mestih zna biti obnašanje preiskovanca nepovezano s samim branjem. Branje oziroma gibanje pogleda med branjem smo opisali z naborom atributov, ki smo jih v ta namen definirali. Pri tem smo zasledovali cilj, da poskušamo zajeti kar se da veliko pomembnih znacilnosti branja s cim manjšim naborom atributov za kasnejšo upo­rabo v strojnem ucenju. Pri zasnovi atributov smo se opirali na izkušnje iz lastne pilotne raziskave ter na domensko znanje, ki smo ga pridobili od nevrologov in psihologov. Atribute smo definirali na podlagi predhodno zaznanih sakad in fiksacij. Podrobneje so opisani v nadaljevanju. Dolžina sakad v smeri naprej (fdist) in v smeri na­zaj (bdist) je definirana kot srednja dolžina sakad v ustrezni smeri (naprej oziroma nazaj). Smer sakade je razvidna iz zaslonskih koordinat fiksacije pred in po izvedeni sakadi. Oba atributa sta povezana s hi-trostjo branja, vsebujeta pa tudi druge zanimive in-formacije. Dolžina sakad nazaj je na primer neposre­dno povezana s skoki v novo vrstico besedila ter tudi morebitnim ponovnim branjem dolocenih besed. Razpršenost dolžin sakad nazaj (bdist.stdev) se iz­racuna kot standardni odklon dolžin vseh zaznanih sakad v smeri nazaj. Kot že omenjeno, ta atribut je tesno povezan s skokom v novo vrstico besedila. Ve-cinoma gre zato tukaj za precej dolge sakade, dolge približno toliko kolikor je dolga vrstica teksta. Viso­ka vrednost tega atributa, torej velika razpršenost dolžin sakad, bi lahko sporocala, da uporabnik poleg skokov v novo vrstico dela tudi precej krajših sakad nazaj, morda zato, ker ponovno prebira dolocene be-sede ali ker se je v besedilu izgubil. Razpršenosti dolžin sakad naprej nismo uporabili kot atribut, ker ne izhaja iz domenskega znanja, kot razpršenost dolžin sakad nazaj. Slednji je zanimiv zaradi morebitne mešanice dolgih skokov v novo vr­stico in kratkih pomikov pogleda nazaj, ki so odraz ponovnega branja ene ali vec predhodnih besed. Pri branju naprej daljši skoki v smeri branja niso prisotni in bi bil atribut posledicno odvec. Hitrost sakad v smeri naprej (fspeed) in sakad v smeri nazaj (bspeed) je definirana kot srednja hitrost sakad v ustrezni smeri. Kljub temu, da sta dolžina in hitrost sakad do neke mere korelirani med seboj, smo že v pilotni raziskavi opazili, da vsaka doprinese dodatne informacije o gibanju pogleda med branjem. Trajanje fiksacije (fdur) izracunamo kot srednjo vrednost trajanja vseh zaznanih fiksacij, razpršenost trajanja fiksacij (fdur.std) pa kot standardni odklon trajanj fiksacij. Oba atributa lahko povežemo z ne­konsistentim in zmedenim obnašanjem med branjem. Razmerje med sakadami naprej in nazaj (fsV bs) izracunamo kot število sakad naprej deljeno s šte­vilom sakad nazaj. Število fiksacij na casovno enoto (fxt) pa izracunamo kot število vseh zaznanih fiksacij deljeno s trajanjem posnetka. Ta atribut predstavlja bolj robustno mero za hitrost branja. 4 RezULTATI V raziskavi nas je predvsem zanimalo, ce (1) preisko­vanci z razlicno stopnjo kognitivnega upada izkazu- jejo razlicne znacilnosti gibanja pogleda med bra-njem in (2) ce naši atributi uspejo te razlike zaznati. S tem namenom smo primerjali porazdelitve vrednosti posameznih atributov med vsemi štirimi skupinami preiskovancev. Porazdelitve vrednosti atributov vecinoma ne sle­dijo normalni porazdelitvi, zato smo za njihovo pri­merjavo uporabili neparametricni Kruskal-Wallisov H test. Rezultati so zbrani v Tabeli 2. Poleg statisticne znacilnosti (p-vrednosti) so v tabeli navedene še ne­katere druge lastnosti porazdelitev vrednosti. Statisticne znacilnosti nakazujejo, da so med sku­pinami preiskovancev (velike) razlike v porazdeli­tvah predlaganih atributov. Z izjemo atributa bdist. std, ki je dokaj mejno statisticno znacilen, so vsi pre­ostali mocno statisticno znacilni. Vendar pa je Kru­skal-Wallisov H test omnibus test, torej sporoca, ce je katera od skupin znacilno drugacna od katerekoli druge skupine v porazdelitvi atributa. Namesto na­knadnih dodatnih primerjav med posameznimi sku­pinami smo porazdelitve vrednosti predstavili raje graficno na Sliki 1. Na sliki so prikazani histogrami za vse atribute po vseh skupinah. Poleg tega so go-stote porazdelitev vrednosti atributov po skupinah ocenjene z jedri (angl. kernel density estimation) in preiskovancev in preiskovancev z demenco. Nada-prikazane s krivuljami na histogramih.lje je iz grafov razvidno tudi, da skupine izkazujejo Iz grafov na Sliki 1 lahko razberemo, da vsi atribu-urejenost po stopnji kognitivnega upada, od zdravih ti (z izjemo bdist.std) izkazujejo razlicne porazdelitve preko mejnih in preiskovancev z blagim kognitivnim med skupinami, predvsem med skupinama zdravih upadom pa do preiskovancev z demenco. Tabela 2: Porazdelitev vrednosti atributov sledenja ocesnim gibom po skupinah preiskovancev (zdrav, mejno, MCI, demenca). Atribut p–vrednost Skupina Mediana Stand. dev. Minimum Maksimum zdrav –45.91 15.86 –52.23 –8.75 bdist < 0.001 mejno –37.56 15.85 –65.59 –8.11 [% zaslona] MCI –16.95 16.10 –47.77 –7.48 demenca –13.16 4.45 –20.52 –7.81 zdrav 18.15 3.01 7.79 22.45 bdist.std 0.036 mejno 18.62 2.01 14.12 22.26 [% zaslona] MCI 19.89 3.86 8.51 25.95 demenca 16.49 3.80 8.34 21.10 zdrav –4.30 1.70 –8.37 –0.37 bspeed < 0.001 mejno –4.36 1.31 –7.44 –1.35 [piksel/ms] MCI –3.63 1.36 –6.10 –0.94 demenca –2.74 0.89 –4.45 –0.92 zdrav 7.74 1.01 6.43 11.48 fdist 0.003 mejno 7.40 1.10 5.90 10.46 [% zaslona] MCI 7.55 1.13 6.08 9.86 demenca 6.85 0.70 5.72 7.80 zdrav 216.51 41.87 127.69 366.41 fdur 0.001 mejno 244.29 58.06 111.03 421.92 [ms] MCI 249.82 72.71 111.03 377.51 demenca 294.31 92.76 144.34 410.82 zdrav 111.48 33.91 42.51 220.09 fdur.std < 0.001 mejno 152.53 48.64 86.38 270.36 [ms] MCI 148.25 75.53 92.66 400.54 demenca 226.20 37.39 156.10 286.56 zdrav 4.43 1.26 1.93 6.30 fsVbs 0.003 mejno 4.03 1.12 2.10 6.57 [brez enote] MCI 3.55 0.87 2.20 5.21 demenca 2.88 0.74 1.94 4.57 zdrav 3.17 0.61 0.23 3.99 fspeed < 0.001 mejno 3.07 0.74 0.68 4.00 [piksel/ms] MCI 2.85 0.79 0.80 3.80 demenca 2.65 0.66 0.64 3.03 zdrav 3.28 0.67 0.71 4.80 fxt < 0.001 mejno 2.76 0.49 1.86 3.82 [#fiksacij/s] MCI 2.57 0.40 2.01 3.63 demenca 2.04 0.34 1.59 2.82 RAZPRAVA V pricujoco študijo je bilo vkljucenih 115 preiskovan­cev. Vsi preiskovanci so opravili precej izcrpen nabor nevropsiholoških preiskav pri specialistu nevrolo­gu in psihologu, na podlagi cesar so bili razvršceni v ustrezno skupino glede na stopnjo (morebitnega) kognitivnega upada. Na ta nacin je študija dobro po­krita tako z vidika velikosti vzorca kot tudi z vidika kvalitete podatkov. Študija je pokazala, da obstajajo precejšnje razli­ke v gibanju pogleda med branjem pri preiskovancih z razlicno stopnjo kognitivnega upada. Prav tako je tudi razvidno, da so te razlike sposobni sistematicno zaznati predlagani atributi za opis znacilnosti giba­nja pogleda med branjem. Tu velja posebej poudariti urejenost skupin kot jo prikazujejo porazdelitve vre­dnosti posameznih atributov. Le-ta ustreza nevrolo­škim in psihološkim pricakovanjem, da je kognitivni upad pravzaprav kontinuum, ki se pocasi stopnjuje; od mejnega preko blagega kognitivnega upada pa vse do demence. To se tudi ujema z izsledki raziskav, ki predvidevajo, da relativno velik delež bolnikov z MCI v nekaj letih razvije razlicne oblike demen­ce (npr. [Alexopoulos et al., 2006, Farias et al., 2009, Glynn et al., 2021]). Iz porazdelitev vrednosti atributov na Sliki 1 je možno razbrati, da imajo preiskovanci z vecjo sto­pnjo kognitivnega upada vse nižje število fiksacij na casovno enoto, njihove fiksacije so tipicno vse dalj­še in predvsem vse bolj razpršenih trajanj (mešanica kratkih in dolgih fiksacij), hitrost njihovih sakad je vse pocasnejša in dolžina sakad vse krajša (predvsem sakad v smeri nazaj). Tudi te ugotovitve se skladajo s pricakovanji. Branje je vseprisotna cloveška aktivnost. Kot tako je zelo naravno in primerno za poljubnega preisko-vanca, še posebej glede na to, da gre za kratko bese­dilo s precej veliko pisavo. Naprava za spremljanje pogleda je prav tako nemoteca, marsikareri preisko­vanec tanke podolgovate plošcice pod zaslonom niti zares ne opazi. S tega vidika so dobljeni rezultati ver­jetno zelo realisticni (gre res za znacilnosti pogleda med branjem) in niso posledica npr. boljše sposobno­sti prilagajanja preiskovanca na situacijo (angl. eco­logical validity). 6 zAKLjUCKI IN NADALjNje DeLO Na podlagi pricujoce raziskave lahko zakljucimo, da obstajajo precejšnje razlike pri branju med osebami z razlicnimi stopnjami kognitivnega upada. Nadalje lahko potrdimo, da je te razlike možno zaznati preko predlaganih atributov s pomocjo naprav za spremlja­nje ocesnih gibov. Prav tako se je pokazalo, da je ko­gnitivni upad kontinuum. Faza “mejno”, ki klinicno še ne izkazuje zadostnih znakov za diagnozo blagega kognitivnega upada, se vendarle razlikuje od zdra­vega stanja. To je koristen podatek, ker nakazuje, da lahko kognitivni upad v dolocenih primerih zazna-mo v še bolj zgodnji fazi. Pomen odkritih razlik oziroma dejstva, da je s po­mocjo predlaganega nabora atributov in spremljanja pogleda med branjem moc zaznati (blag) kognitivni upad, je v možnosti avtomatizacije tega postopka. Nadaljnje delo bo usmerjeno predvsem v uporabo predlaganih atributov v postopku izdelave napove­dnega modela prisotnosti znakov kognitivnega upa­da s pomocjo strojnega ucenja ter njegove evalvacije. Poleg tega nacrtujemo izdelavo baterije testov, ki bi vkljucevala branje, ter nekatere druge nevropsiholo­ške teste, prilagojene za delovanje s sistemi za spre­mljanje ocesnih gibov, kot je na primer naloga s Cor­sijevimi kockami [Groznik, 2020]. ZAHVALA Raziskava je potekala v okviru projekta NEUS, ki je bil financiran s strani Evropskega inštituta za ino­vacije in tehnologijo - skupnost za inovacije znanja “Zdravje” (European Institute of Innovation and Te­chnology (EIT) Health KIC). To telo Evropske Unije prejema podporo v okviru raziskovalnega in inova­cijskega programa Horizon 2020. LITeRATURA [1] [Alexopoulos et al., 2006] Alexopoulos, P., Grimmer, T., Per-neczky, R., Domes, G., and Kurz, A. (2006). Progression to dementia in clinical subtypes of mild cognitive impairment. Dementia and geriatric cognitive disorders, 22(1):27–34. [2] [Alzheimer’s Disease International, 2019] Alzheimer’s Disease International, L. (2019). World Alzheimer Report 2019: Attitu­des to dementia. Alzheimer’s Disease International (ADI). [3] [Ayati et al., 2020] Ayati, Z., Chang, D., and Lake, J. (2020). Advances in treatment of mild cognitive impairment (mci) and dementia: A review of promising non-pharmaceutical modali­ties. Frontiers in Clinical Drug Research-Dementia: Volume 1, 1:78. [4] [Bowie and Harvey, 2006] Bowie, C. R. and Harvey, P. D. (2006). Administration and interpretation of the Trail Making Test. Nature protocols, 1(5):2277. [5] [Cass, 2017] Cass, S. P. (2017). Alzheimer’s disease and exercise: a literature review. Current sports medicine reports, 16(1):19–22. [6] [Conradsson et al., 2013] Conradsson, M., Rosendahl, E., Littbrand, H., Gustafson, Y., Olofsson, B., and Lövheim, H. (2013). Usefulness of the Geriatric Depression Scale 15-item version among very old people with and without cognitive im­pairment. Aging & mental health, 17(5):638–645. [7] [Crawford et al., 2005] Crawford, T. J., Higham, S., Renvo­ize, T., Patel, J., Dale, M., Suriya, A., and Tetley, S. (2005). Inhibitory control of saccadic eye movements and cognitive impairment in Alzheimer’s disease. Biological Psychiatry, 57(9):1052 – 1060. [8] [Farias et al., 2009] Farias, S. T., Mungas, D., Reed, B. R., Harvey, D., and DeCarli, C. (2009). Progression of mild cogni­tive impairment to dementia in clinic- vs community-based cohorts. Archives of neurology, 66(9):1151–1157. [1] [Fraser et al., 2017] Fraser, K. C., Fors, K. L., Kokkinakis, D., and Nordlund, A. (2017). An analysis of eye-movements du­ring reading for the detection of mild cognitive impairment. In Proceedings of the 2017 Conference on Empirical Methods in Natural Language Processing, pages 1016–1026. [9] [Glynn et al., 2021] Glynn, K., O’Callaghan, M., Hannigan, O., Bruce, I., Gibb, M., Coen, R., Green, E., A Lawlor, B., and Ro­binson, D. (2021). Clinical utility of mild cognitive impairment subtypes and number of impaired cognitive domains at pre­dicting progression to dementia: A 20-year retrospective stu­dy. International Journal of Geriatric Psychiatry, 36(1):31–37. [10] [Groznik, 2020] Groznik, V. (2020). Digitalizacija in prilagodi­tev psihološkega testa za uporabo s sistemom za spremljanje ocesnih gibov. Uporabna informatika, 28(4). [11] [Hugo and Ganguli, 2014] Hugo, J. and Ganguli, M. (2014). Dementia and cognitive impairment: epidemio- logy, diagno­sis, and treatment. Clinics in geriatric medicine, 30(3):421— 442. [12] [Letenneur, 2004] Letenneur, L. (2004). Risk of dementia and alcohol and wine consumption: a review of recent results. Bi­ological research, 37(2):189–193. [13] [Lourida et al., 2019] Lourida, I., Hannon, E., Littlejohns, T. J., Langa, K. M., Hyppönen, E., Kuz´ma, E., and Llewellyn, D. J. (2019). Association of lifestyle and genetic risk with incidence of dementia. Jama, 322(5):430–437. [14] [Lourida et al., 2013] 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 de­mentia: a systematic review. Epidemiology, pages 479–489. [15] [Lueck et al., 2000] Lueck, K. L., Mendez, M. F., and Per-ryman, K. M. (2000). Eye movement abnormalities during reading in patients with Alzheimer disease. Neuropsychiatry, Neuropsychology, & Behavioral Neurology. [16] [Mioshi et al., 2006] Mioshi, E., Dawson, K., Mitchell, J., Ar-[19] [Szekely et al., 2008] Szekely, C. A., Breitner, J. C., Fitzpa­nold, R., and Hodges, J. R. (2006). The Adden- brooke’s Co-trick, A. L., Rea, T. D., Psaty, B. M., Kuller, L. H., and Zandi, gnitive Examination Revised (ACE-R): a brief cognitive test P. P. (2008). Nsaid use and dementia risk in the cardiovascu-battery for dementia screening. International Journal of Geria-lar health study*: Role of apoe and nsaid type. Neurology, tric Psychiatry: A journal of the psychiatry of late life and allied 70(1):17–24. sciences, 21(11):1078–1085. [20] [Wilcockson et al., 2019] Wilcockson, T. D., Mardanbegi, D., [17] [Slachevsky et al., 2004] Slachevsky, A., Villalpando, J. M., Xia, B., Taylor, S., Sawyer, P., Gellersen, H. W., Leroi, I., Kil-Sarazin, M., Hahn-Barma, V., Pillon, B., and Dubois, B. lick, R., and Crawford, T. J. (2019). Abnormalities of saccadic (2004). Frontal assessment battery and differential diagnosis eye movements in dementia due to Alzheimer’s disease and of frontotemporal dementia and Alzheimer disease. Archives mild cognitive impairment. Aging (Albany NY), 11(15):5389. of neurology, 61(7):1104–1107. [21] [World Medical Association, 2013] World Medical Association [18] [Swiger et al., 2013] Swiger, K. J., Manalac, R. J., Blumenthal, (2013). World Medical Association Declara- tion of Helsinki: R. S., Blaha, M. J., and Martin, S. S. (2013). Statins and co-Ethical Principles for Medical Research Involving Human Su­gnition: a systematic review and meta-analysis of short-and bjects. JAMA, 310(20):2191– 2194. long-term cognitive effects. In Mayo clinic proceedings, volu­me 88, pages 1213–1221. Elsevier. • Vida Groznik je soustanoviteljica in direktorica podjetja NEUS Diagnostics, d.o.o. v okviru katerega razvijajo sisteme za pomoc pri oceni zdra­vstvenega stanja uporabnikov s pomocjo metod umetne inteligence. Poleg tega je docentka na Fakulteti za matematiko, naravoslovje in informa­cijske 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 vec raziskovalnih clankov in poglavij v knjigah s podrocja umetne inteligence v medicini. Pridobila in delala je na razlicnih projektih financiranih s programov EU, Ministrstva za izobraževanje, znanost in šport ter Slovenskega podjetniškega sklada. • Aleksander Sadikov je docent in predstojnik Laboratorija za umetno inteligenco na Fakulteti za racunalništvo in informatiko Univerze v Ljubljani. Vodil je oz. vodi vec evropskih in domacih projektov, ki so povezani z uporabo umetne inteligence v medicini. Na tem podrocju ima tudi precejšnje število objav v znanstvenih revijah in konferencah. Poleg tega je soustanovitelj podjetja NEUS Diagnostics, d.o.o., ki razvija sisteme za oceno zdravstvenega stanja uporabnikov s pomocjo metod umetne inteligence. krAtkI zNANStVENI prISpEVkI Kategorizacija uporabnikov na podlagi njihovega z informacijsko varnostjo povezanega znanja, stališcin vedenja: pilotna študija Damjan Fujs1, Simon Vrhovec2, Damjan Vavpotic1 1Univerza v Ljubljani, Fakulteta za racunalništvo in informatiko, Vecna pot 113, 1000 Ljubljana 2Univerza V Mariboru, Fakulteta za varnostne vede, Kotnikova 8, 1000 Ljubljana poštni naslov ustanove damjan.fujs@fri.uni-lj.si, simon.vrhovec@um.si, damjan. vavpotic@fri.uni-lj.si Izvlecek V tem prispevku predstavljamo pristop za kategorizacijo uporabnikov, ki temelji na preverjenem vprašalniku o cloveških vidikih infor­macijske varnosti (HAIS-Q). Na tej podlagi smo izvedli razvršcanje uporabnikov (N = 165). Analiza je pokazala tri skupine uporabnikov (uporabniki z nizkim, zmernim in visokim tveganjem). Izracunali smo indeks silhuete (0,44) za potrditev kakovosti razvršcanja, ki kaže na ustrezno kakovost razvršcanja. Naš pristop (kombinacija HAIS-Q in razvršcanja v skupine) omogoca prilagojeno usposabljanje 1) uporabnikov, ki dosežejo najnižje vrednosti pri HAIS-Q in 2) uporabnikov, ki dosegajo splošno nizko tveganje, vendar se na nekaterih podrocjih odrežejo nekoliko slabše. V primerjavi s sorodnimi pristopi je naša prednost enostavnost uporabe in ublažitev pristransko­sti, saj je pristop namenjen analiziranju skupin in ne posameznikov. Poleg tega naš pristop omogoca razvršcanje na podlagi prioriti­zacije spremenljivk, medtem ko obstojece raziskave obravnavajo vse spremenljivke enako pomembne. Kljucne besede: kibernetska varnost, informacijska varnost, inženirstvo zahtev, segmentacija uporabnikov. Abstract In this paper, we present an approach for user categorization based on the established Human Aspects of Information Security Questionnaire (HAIS-Q). Clustering based on HAIS-Q data (N = 165) was performed. In doing so, three groups of users were iden­tified (low, moderate and high-risk users). The silhouette measure of cohesion and separation (0.44) was conducted to validate the quality of clustering. A fair cluster quality was indicated. Our approach (a combination of HAIS-Q and clustering) allows for the tai­lored training of 1) users who achieve the lowest values in HAIS-Q and 2) users who achieve overall high results but perform sligh­tly worse in certain focus areas. In comparison to similar approaches, our advantage is the ease of use and mitigation of social desirability bias since the approach is designed to analyze user groups only. Additionally, our approach allows for focus area (vari­able) prioritization while existing studies consider all variables to be of equal value. Keywords: Cyber security, information security, requirements engineering, user segmentation UVOD Pomanjkanje ustrezne informacijske varnosti lahko vodi v izgubo dobicka in slab ugled organizacije (Roy Sarkar, 2010). Da bi dobili vpogled v dejansko stanje informacijske varnosti moramo implementirati ustre­zne merilne mehanizme (Prislan et al., 2020), kot so kvantitativne in kvalitativne metrike (Fujs et al., 2020, 2019). Informacijska varnost se je tradicionalno zago­tavljala s pomocjo tehnicnih varnostnih mehanizmov (kot so npr. požarni zidovi), kljub temu, pa ne smemo zanemariti pomembnosti cloveških vidikov zagota­vljanja varnosti (Wiley et al., 2020). Da bi uporabniki z informacijskimi sistemi ravnali varno, morajo biti ustrezno usposobljeni, pri cemer pa univerzalni pri­stopi niso optimalni, saj ne upoštevajo varnostnih ka­rakteristik posameznega uporabnika (Fujs et al., 2020). Namen pricujocega prispevka je odgovoriti na zastavljena raziskovalna vprašanja: 1) kako oceniti cloveške vidike informacijske varnosti? 2) kako kate­gorizirati uporabnike na tej podlagi? 3) kako nam ti rezultati lahko pomagajo pri prilagojenem usposab­ljanju? CLOVeŠKI VIDIKI INFORMACIjSKe VARNOSTI Varnostne funkcije programske opreme so bile tra­dicionalno uvedene na koncu procesa razvoja pro-gramske opreme, brez upoštevanja uporabnikovih - z varnostjo povezanih karakteristik (Wiley et al., 2020). C. e se je pojavila ranljivost, so jih razvijalci naslovili z varnostnimi popravki (Niazi et al., 2020). Pravilno nastavljene tehnicne rešitve so ucinkovite, vendar ne zadostne, da bi zagotovile celovito informacijsko varnost, saj obstajajo razlike med uporabniki v nji­hovem znanju, stališcih in vedenju glede informacij­ske varnosti (Neigel et al., 2020). V ta namen je bil razvit vprašalnik, ki meri ozavešcenost o informacij-ski varnosti (v nadaljevanju HAIS-Q; angl. Human Aspects of Information Security Questionnaire). HA­IS-Q obravnava uporabnikovo z varnostjo-povezano znanje, stališca do varnosti in varno vedenje (Parsons et al., 2017), ki se osredotoca na sledecih sedem po­drocij: USO (uporaba socialnih omrežij), UIN (upo­raba interneta), POI (porocanje o incidentih), RZI (ravnanje z informacijami), UMN (uporaba mobilnih naprav), UEP (uporaba e-pošte) in UGE (upravljanje gesel). Raziskave so pokazale, da je HAIS-Q dober napovedovalec cloveških vidikov informacijske var-nosti, saj uporabniki, ki so dosegali v povprecju višji indeks ozavešcenosti o informacijski varnosti, so bili uspešnejši v poskusih o zvabljanju (angl. pshishing) (Parsons et al., 2017). Podobno je bilo ugotovljeno v raziskavi o razlikah glede kibernetske higiene med moškimi in ženskami, kjer so s pomocjo regresijskih modelov ugotovili dobro napovedno moc posame­znih dejavnikov oz. podrocij iz HAIS-Q (Neigel et al., 2020). HAIS-Q je bil uporabljen v še eni od štu­dij glede razlik med demografskimi spremenljivka-mi (natancneje spol), kjer so ugotovili, da obstajajo statisticno pomembne razlike med spoloma glede ozavešcenosti o informacijski varnosti (Wiley et al., 2020). Poleg ozavešcenosti o informacijski varnosti, imata pomembno vlogo tudi splošna organizacijska in varnostna kultura, kar pomeni, da ce dvignemo splošno organizacijsko kulturo, dvignemo tudi var-nostno kulturo (Wiley et al., 2020). 3 KATeGORIzACIjA UPORABNIKOV Koncept kategorizacije (v literaturi poimenovan tudi kot segmentacija) je uporaben z vidika identifikacije razlicnih tipov uporabnikov. Beseda segmentacija se dandanes uporablja na podrocju racunalniškega vida, vendar je bila prvotno uporabljena (in se še uporablja) na podrocju marketinga za identifikacijo razlicnih skupin uporabnikov Tolley (1975). V okviru našega pristopa bomo uporabili kategorizacijo upo­rabnikov, saj bomo na ta nacin identificirali razlicne uporabnike (npr. ranljive), na podlagi katerih bomo lahko predlagali prilagojena usposabljanja. Uspo­sabljanja na podrocju informacijske varnosti so po­membna, saj težijo k njenemu izboljšanju (Neigel et al., 2020). V literaturi so poudarjeni številni pristopi za kategorizacijo uporabnikov na podlagi varnostnih karakteristik. Xiao (2021) kategorizira uporabnike pametnih mobilnih telefonov na podlagi spola ter tipa operacijskega sistema. Poleg tega, lahko katego­rizacijo na podlagi spola zasledimo tudi v ostalih štu­dijah, glej npr. (Wiley et al., 2020; Neigel et al., 2020; Parsons et al., 2017). Cain et al. (2018) raziskujejo vpliv starosti na poznavanje kibernetske higiene, pri cemer ugotavljajo, da obstojeci neprilagojeni pristopi za usposabljanje uporabnikov ne izboljšujejo znanja in vedenja uporabnikov. Anichiti et al. (2021) kate­gorizirajo uporabnike na podlagi njihovega znanja o kibernetski varnosti hotelov, pri cemer se za razliko od ostalih prej omenjenih avtorjev, osredotocajo na pripadnost generaciji - rojeni v razlicnih obdobjih (npr. generacija x, y in z). Poleg tega lahko v literatu­ri zasledimo kategorizacijo uporabnikov na podlagi vlog, ki jih imajo v organizacijah (Sarkar et al., 2020). Optimalne skupine uporabnikov je nemogoce identificirati a priori brez podatkov, zato je pomemb-no, da izhajamo iz zbranih podatkov. V našem pri­spevku se osredotocamo na kategorizacijo uporabni­kov na podlagi njihovih tveganj glede informacijske varnosti. Z vidika prilagojenih usposabljanj je treba imeti v mislih, da je manjše skupine lažje obvladova-ti. Namen grucenja na nivoju skupin je dvoplasten. Personalizirana usposabljanja so v realnem oziroma industrijskem okolju financno breme, kar pomeni, da si velika vecina tovrstnih usposabljanj ne more pri­vošciti. Na ta nacin išcemo razmerje med »realnimi« in »idealnimi« razmerami na podrocju informacijske varnosti. Zaradi tega je bolje, da izobražujemo upo­rabnike na nivoju skupin. MeTODA Za potrebe našega pristopa smo analizirali rezulta­te ankete 165 uporabnikov informacijskih sistemov ene izmed slovenskih univerz. V sklopu informa­cijskovarnostnih študij so študenti zelo primerna populacija za preucevanje informacijske varnosti (Aurigemma et al., 2019). Študenti so pogosti upo­rabniki informacijske tehnologije (mobilne naprave, aplikacije, socialna omrežja itd.) (Aurigemma et al., 2019) in so s tem tudi varnostno poudarjeni. Hkra-ti Hewitt in White (2020) med študenti opažata po­manjkanje zavedanja o informacijski varnosti, kar pa je znacilno tudi za celotno populacijo uporabnikov informacijskih storitev (Falessi et al., 2018; Hameed and Arachchilage, 2021).V okviru našega pristopa smo prilagodili in prevedli HAIS-Q. HAIS-Q zajema 63 spremenljivk oziroma vprašanj, ki na Likertovi le­stvici od 1 (se sploh ne strinjam) do 5 (se popolnoma strinjam) merijo ozavešcenost o informacijski varno­sti. Raziskava je bila izvedena februarja 2021. Anke­tiranci so bili obvešceni, da je raziskava anonimna in prostovoljna. Vabilo k raziskavi je bilo poslano na 964 študentskih e-naslovov, pri cemer smo dosegli 17 % odziv. Zbrani podatki so bili kvalitativno pre­gledani. Glede na to, da ni bilo odstopanj, smo vse spremenljivke ohranili za nadaljnje analize. Podrob- Tabela 1: Demografske znacilnosti vzorca na podlagi 165 anketirancev, pri cemer povprecna starost znaša 24 let. Število # Odstotek % Vrsta študija Redni 136 83,0 Izredni 29 17,0 Stopnja in letnik študija 1. letnik dodiplomskega študija 78 48,0 2. letnik dodiplomskega študija 18 11,0 3. letnik dodiplomskega študija 28 17,0 1. letnik podiplomskega študija 19 11,0 2. letnik podiplomskega študija 19 11,0 Doktorski študij 3 2,0 Spol Moški 48 29,0 Ženski 117 71,0 Življenjsko okolje Mestno 91 55,0 Podeželsko 74 45,0 nejša demografska slika anketirancev je prikazana v Tabeli 1. 63 spremenljivk je bilo združenih v sedem faktorjev. Teh sedem faktorjev je bilo uporabljenih za potrebe razvršcanja v skupine (angl. clustering). Poleg tega smo izvedli tudi razvrstitev spremenljivk znotraj gruce glede na pomembnost, kar predstavlja dodano vrednost, saj obstojeci pristopi obravnavajo vse spremenljivke kot enako pomembne (Parsons et al., 2017). Za potrebe razvršcanja v skupine na podlagi HAIS-Q smo izbrali algoritem TwoStep, ki omogoca samodejno (ali vnaprej podano) identifika­cijo primernega števila skupin (Tan, 2019). Dodatna prednost algoritma je iterativnost, saj lahko razvršca-mo skupine, dokler identificiramo najbolj optimalno rešitev za preucevani primer. Za preverbo kakovosti razvršcanja smo izmerili indeks silhuete (angl. Silho­uette index), ki lahko zavzame vrednost od -1 do 1, pri cemer 1 pomeni optimalno vrednost, saj so razda­lje znotraj gruc kratke in razdalje med grucami velike (Celestino et al., 2018). 5 RezULTATI IN RAzPRAVA Slika 1 prikazuje polarni grafikon z identificiranimi skupinami na podlagi razvršcanja v skupine (Two-Step). Indeks silhuete znaša 0,44, kar pomeni, da je kakovost razvršcanja v skupine ustrezna. Iz Slike 1 lahko razberemo, da uporabniki z nizkim tveganjem dosegajo najboljše rezultate pri posameznih podro-cjih HAIS-Q. Te skupine uporabnikov uporabimo za primerjavo med ostalima dvema skupinama. Upo­števajte, da je lestvica na polarnih grafikonih obrnje­na, saj želimo prikazati odstopanje od normalnosti (torej od nizkega tveganja). Namen je identificirati stanje informacijske varnosti na sedmih podrocij od MSO do UGE ter nato vsakemu uporabniku, katere­ga znanje je na dolocenem podrocju pomanjkljivo, ponuditi namensko usposabljanje, da vrzeli s podro-cja zapolnijo. Z vidika prilagojenega usposabljanja so najbolj zanimivi uporabniki z zmernim in/ali viso­kim tveganjem, saj najbolj odstopajo od normalnega oziroma zaželenega. Pristop je zasnovan na nacin, da se uporabnike izobražuje na tistih podrocjih, ki jih najslabše pokrivajo – oziroma tam kjer je odstopanje najvecje. Od podatkov oziroma grucenja pa je odvi­sno, v katero skupino bo posameznik uvršcen. Pred­nosti grucenja pred klasicnim skupinskim treningom sta predvsem financna optimizacija in ucinkovitejše usposabljanje saj vsakega uporabnika pošljemo na najvec eno usposabljanje, pri cemer tovrstni nacin a) Uporabniki z nizkim tveganjemb) Uporabniki z zmernim tveganjemc) Uporabniki z visokim tveganjem (N = 137) (N =24) (N =4) Slika 1: Primerjava skupin uporabnikov pri izbranih podrocjih cloveških vidikov informacijske varnosti. Uporabniki z nizkim tveganjem (a) služijo kot merilo za primerjavo med ostalima dvema skupinama uporabnikov (b, c). zagotavlja tudi manj prekrivanj. Usposabljanja ki te­meljijo na grucenju sicer niso tako prilagojena kot pri individualni obravnavi, vendar gre za nek kompro-mis med ucinkovitostjo in stroški. Cilj izobraževanja mora biti doseganje nizkega tveganja. Da bi podrob­neje razumeli dinamiko izbranih podrocij HAIS-Q znotraj gruce, predstavljamo Tabelo 2, v kateri izpo­stavimo pomembnost posameznega podrocja znotraj gruce. Namen Tabele 2 je izpostaviti povprecne vredno­sti izbranih podrocij HAIS-Q znotraj posamezne gru-ce. V primeru razvrstitev spremenljivk znotraj gruce glede na pomembnost gre za standardno meritev na skali od 0 do 1, ki se izracuna na podlagi stati­sticne znacilnosti posamezne spremenljivke znotraj gruce (Tkaczynski, 2016). Za lažji prikaz smo izbrali pet stopenj (narašcajoce z 0.2), pri cemer vrednosti manjše od 0.6 ni. Bolj, kot se vrednosti na barvni le­stvici približujejo 1, bolj je spremenljivka statisticno pomembna znotraj posamezne gruce. Na ta nacin omogocimo identifikacijo usposabljanja, ne samo za uporabnike z visokim tveganjem, ampak tudi za tiste, ki imajo splošno nizko tveganje, vendar na do-locenih podrocjih dosegajo odstopanje (npr. UIN in POI pri uporabniki z nizkim tveganjem). V primerjavi s sorodnimi pristopi (Parsons et al., 2017), naš pristop omogoca 1) kategorizacijo upo­rabnikov na podlagi HAIS-Q spremenljivk in ne samo sodec po demografskih karakteristikah, kot je npr. spol, izobrazba itd. S tem naslavljamo enega izmed pomembnih faktorjev pristranskosti pri eval­vaciji informacijske varnosti (Wiley et al., 2020; Roy Sarkar, 2010), saj je znano, da je mogoce pristran­skost znižati na nacin, da uporabnike vkljucimo v skupine (Kwak et al., 2019) ali pa da ne zbiramo vseh demografskih podatkov (Larson, 2019), ce to res ni nujno. 2) prednost uporabe algoritma TwoStep je, da lahko vnaprej podamo število skupin in na podlagi parametrizacije najdemo optimalno število skupin ter pripadajocih enot/uporabnikov. S tem naslovimo optimizacijo stroškov usposabljanja, saj je manjše skupine lažje obvladovati in da s pomocjo prilagaja- Tabela 2: Razvrstitev spremenljivk znotraj gruce glede na pomembnost. Vrednosti v oklepajih predstavljajo povprecno vrednost posameznega podrocja informacijske varnosti. Uporabniki z nizkim tveganjem Uporabniki z zmernim tveganjem Uporabniki z visokim tveganjem Legenda: (N=137) 83.0 % (N=24) 14.5 % (N=4) 2.4 % (barvna lestvica pomembnosti) UIN (3.98) USO (3.24) UIN (1.44) 1.0 USO (4.03) UMN (3.66) USO (1.72) 0.8 POI (4.02) UIN (3.12) POI (1.47) 0.6 RZI (4.40) UEP (3.37) UMN (2.47) 0.4 UEP (4.13) POI (3.31) RZI (2.00) 0.2 UMN (4.43) UGE (4.05) RZI (3.61) UGE (3.68) UGE (2.31) UEP (2.14) 0.0 nja usposabljamo samo tiste skupine, ki jima manjka neka kompetenca. V nadaljnjem delu bi nadgradili naš pristop s prilagajanjem varnostnih zahtev na podlagi katego­rizacije, kar pomeni, da bi bilo smiselno razviti pri­porocilni sistem na podlagi katerega bi priporocali 1) tehnicne varnostne funkcionalnosti ali 2) zahteve v smislu prilagojenih usposabljanj. Poleg tega pa bi nadgradili metodologijo za oceno rezultatov našega pristopa. Kot vsaka raziskava, ima tudi pricujoci prispevek dolocene omejitve, ki jih je pri interpretaciji treba upoštevati. Prvic, vzorec študentov ni bil nakljucen, saj so anketiranci prihajali iz ene izmed slovenskih univerz. To pomeni, da ugotovitev ne moremo po­sploševati na vso populacijo študentov. Drugic, raz­iskavo bi bilo smiselno izvesti tudi med ostalo „ne--študentsko“populacijo (npr. zaposleni v podjetju). S tem bi dobili bolj celovit in raznovrsten vpogled v cloveške vidike informacijske varnosti. Tretjic, bilo bi smiselno izvesti raziskavo na vecjem vzorcu. Ne glede na to, pa velja omeniti, da je vecina sorodnih raziskav narejena na vzorcih podobne velikosti (Tka­czynski, 2016; Parsons et al., 2014; Farooq et al., 2021; Hewitt and White, 2020; Cheolho et al., 2012)). LITeRATURA [1] Anichiti, A., Dragolea, L. L., Hârs, an, G. D. T., Haller, A. P., and Butnaru, G. I. (2021). Aspects regarding safety and secu­rity in hotels: Romanian experience. Information, 12(1):1–22. [2] Aurigemma, S., Mattson, T., and Leonard, L. (2019). Evalua­ting the Core and Full Protection Motivation Theory Nomolo­gies for the Voluntary Adoption of Password Manager Appli­cations. AIS Transactions on Replication Research, 5:1–21. [3] Cain, A. A., Edwards, M. E., and Still, J. D. (2018). An explo­ratory study of cyber hygiene behaviors and knowledge. Jo­urnal of Information Security and Applications, 42:36–45. [4] Celestino, A. E. M., Cruz, D. A. M., Sánchez, E. M. O., Re­yes, F. G., and Soto, D. V. (2018). Groundwater quality asses­sment: An improved approach to K-means clustering, princi­pal component analysis and spatial analysis: A case study. Water (Switzerland), 10(4):1–21. [5] Cheolho, Y., Hwang, J.-W., and Rosemary, K. (2012). Explo­ring Factors That Influence Students’ Behaviors in Informa­tion Security. Journal of Information Systems Education, 23(4):407–415. [6] Falessi, D., Juristo, N., Wohlin, C., Turhan, B., Münch, J., Je­dlitschka, A., and Oivo, M. (2018). Empirical software engi­neering experts on the use of students and professionals in experiments. Empirical Software Engineering, 23(1):452–489. [7] Farooq, A., Dubinina, A., Virtanen, S., and Isoaho, J. (2021). Understanding dynamics of initial trust and its antecedents in password managers adoption intention among young adults. Procedia Computer Science, 184:266–274. [8] Fujs, D., Mihelic, A., and Vrhovec, S. L. R. (2019). The power of interpretation: Qualitative methods in cybersecurity rese­ arch. In Proceedings of the 14th International Conference on Availability, Reliability and Security, pages 1–10, New York, NY, USA. ACM. [9] Fujs, D., Vrhovec, S., and Vavpotic, D. (2020). Bibliometric mapping of research on user training for secure use of in­formation systems. Journal of Universal Computer Science, 26(7):764–782. [10] Hameed, M. A. and Arachchilage, N. A. G. (2021). The role of self-efficacy on the adoption of information systems secu­rity innovations: a meta-analysis assessment. Personal and Ubiquitous Computing. [11] Hewitt, B. and White, G. L. (2020). Optimistic Bias and Expo­sure Affect Security Incidents on Home Computer. Journal of Computer Information Systems, 00(00):1–11. [12] Kwak, D. H., Holtkamp, P., and Kim, S. S. (2019). Measuring and controlling social desirability bias: Applicati- ons in in­formation systems research. Journal of the Association for Information Systems, 20(4):317–345. [13] Larson, R. B. (2019). Controlling social desirability bias. Inter­national Journal of Market Research, 61(5):534– 547. [14] Neigel, A. R., Claypoole, V. L., Waldfogle, G. E., Acharya, S., and Hancock, G. M. (2020). Holistic cyber hygiene education: Accounting for the human factors. Computers and Security, 92:101731. [15] Niazi, M., Saeed, A. M., Alshayeb, M., Mahmood, S., and Zafar, S. (2020). A maturity model for secure requirements engineering. Computers and Security, 95:101852. [16] Parsons, K., Calic, D., Pattinson, M., Butavicius, M., McCor-mac, A., and Zwaans, T. (2017). The Human Aspects of Infor­mation Security Questionnaire (HAIS-Q): Two further validati­on studies. Computers and Security, 66:40–51. [17] Parsons, K., McCormac, A., Butavicius, M., Pattinson, M., and Jerram, C. (2014). Determining employee awareness using the Human Aspects of Information Security Question­naire (HAIS-Q). Computers and Security, 42(May):165–176. [18] Prislan, K., Mihelic, A., and Bernik, I. (2020). A real-world in­formation security performance assessment using a multidi­mensional socio-technical approach. PLoS ONE, 15(9 Sep-tember):1–28. [19] Roy Sarkar, K. (2010). Assessing insider threats to information security using technical, behavioural and organisational mea­sures. Information Security Technical Report, 15(3):112–133. [20] Sarkar, S., Vance, A., Ramesh, B., Demestihas, M., and Wu, D. T. (2020). The influence of professional subculture on infor­mation security policy violations: A field study in a healthcare context. Information Systems Research, 31(4):1240–1259. [21] Tan, S. C. (2019). Improving association rule mining using clustering-based discretization of numerical data. In 2018 International Conference on Intelligent and Innovative Com­puting Applications, ICONIC 2018, pages 18–22, Mon Tresor, Mauritius. IEEE. [22] Tkaczynski, A. (2016). Segmentation Using Two-Step Cluster Analysis. In Dietrich, T., Rundle-Thiele, S., and Kubacki, K., editors, Segmentation in Social Marketing: Process, Methods and Application, pages 109–125. [23] Tolley, S. B. (1975). Identifying Users through a Segmentation Study. Journal of Marketing, 39(2):69–71. [24] Wiley, A., McCormac, A., and Calic, D. (2020). More than the individual: Examining the relationship between culture and In­formation Security Awareness. Computers and Security, 88. [25] Xiao, Q. (2021). Understanding the asymmetric perceptions of smartphone security from security feature perspective: A comparative study. Telematics and Informatics, 58 (May 2020):101535. • Damjan Fujs je doktorski študent in asistent na Fakulteti za racunalništvo in informatiko Univerze v Ljubljani. Njegova raziskovalna podrocja za­jemajo varnost informacijskih sistemov (IS), metodologije razvoja IS, prilagojeno usposabljanje in izobraževanje za varno rabo IS ter kibernetsko in informacijsko varnost. Trenutno je clan programskega odbora dveh konferenc: 1) Dnevi slovenske informatike (DSI 2021) in 2) The Sixth International Conference on Cyber-Technologies and Cyber-Systems (CYBER 2021). • Simon Vrhovec je izredni profesor na Univerzi v Mariboru. Leta 2015 je doktoriral na Fakulteti za racunalništvo in informatiko Univerze v Ljublja­ni. V letih 2018 in 2019 je sopred-sedoval mednarodni konferenci Central European Cybersecurity Conference(CECC). Od leta 2019 je clan usmerjevalnega odbora European Interdisciplinary Cybersecurity Conference (EICC) ter clan uredniškega odbora revije Journal of Cyber Security and Mobility. Njegova glavna raziskovalna podrocja so cloveški dejavniki v kibernetski varnosti, razvoj varne programske opreme, agilne metode, odpor do sprememb in zdravstvena informatika • Damjan Vavpotic je izredni profesor na Fakulteti za racunalništvo in informatiko Univerze v Ljubljani. Njegovo raziskovalno delo vkljucuje podrocja metodologije razvoja programske opreme in njihovega sprejemanja vkljucno z razvojem varnih informacijskih sistemov, sprejemanje metod e-uce­nja ter napredne metode analize podatkov v zdravstvu in turizmu. Je clan programskih odborov mednarodnih konferenc s podrocja racunalništva in informatike. Objavil je vec kot 50 clankov v revijah in na konferencah. Za leto 2019 je prejel nagrado TheaSinclair Award for Journal Article Excellence pri podjetju Sage Publishing. PRILOGA (VPRAŠALNIK) Tabela 3: Vprašalnik o cloveških vidikih informacijske varnosti (HAIS-Q) v slovenskem jeziku, ki je povzet po Parsons et al. (2017). Simbol (*) nakazuje, da je merska lestvica obrnjena. Trditve so bile merjene na podlagi petstopenjske Likertove lestvice (od 1 - se sploh ne strinjam do 5 - se popolnoma strinjam). Pomen kratice indikatorja: _z (znanje), _s (stališce) in _v (vedenje). Delovni okvir za pretocne podatke s standardom common information model (CIM) Maja Savinek1,2, Matjaž Kukar1 1 Univerza v Ljubljani, Fakulteta za racunalništvo in informatiko, Vecna pot 113, 1000 Ljubljana 2 Elektro Ljubljana, Slovenska cesta 56, 1000 Ljubljana maja.savinek@elektro-ljubljana.si, matjaz.kukar@fri.uni-lj.si Izvlecek Napredno merjenje elektricne energije je tehnicna rešitev za avtomatiziran obracun elektricne energije. Pametno omrežje je zgolj paradigma, kjer je elektricno omrežje z njegovimi uporabniki povezano z rešitvami informacijskih in komunikacijskih tehnologij za iz­boljšanje vseh funkcionalnosti omrežja. Za doseganje tega, je potrebno uporabiti razpoložljive podatke merilnih naprav, senzorjev, polnilnic in drugih naprav v omrežju. Vkljucevanje teh podatkov predstavlja številne izzive, saj niso vse naprave povezane s tradicio­nalnimi sistemi zajema podatkov. Predlagani delovni okvir omogoca zajem podatkov v skoraj realnem casu z ustreznim komunikacijskim standardom. Slednje se dose-že s pretvorbo podatkov v skladu s standardi za merjenje elektricne energije na podlagi XSD sheme in transformacije podatkov v formatu CIM. Dognali smo, da s predlaganim delovnim okvirjem cas intervala od zajema, transformiranja do koncne razpoložljivosti, je štirikrat ucinkovitejši od obstojecih. Kljucne besede: Common information model, napredne merilne naprave, podatkovni tok, upravljanje podatkov Abstract Smart metering is a technical solution for emerging markets and billing system. The smart grid is a paradigm where the power grid and its users are connected to information and communication technology solutions, which envisage the improvement of all network functionalities. To achieve this, it is necessary to use the increasingly available data from smart meters, sensors, chargers and other devices. The incorporation of this data is associated with many challenges as not all devices are connected to a traditional data capture system. The proposed framework enables near real-time data capture with appropriate communication standards. This is achieved by con­verting values in accordance with the standards for electricity measurement based on the XSD scheme and values transformed into a CIM model. We have found that the usual length of the time interval from capturing the current data on the measuring device to recording the raw current is four times more efficient than the existing frameworks. Keywords: Common information model, data management, smart meter, stream data UVOD Elektroenergetska podjetja se soocajo s pospešeno di­gitalizacijo in posledicno z iskanjem novih rešitev zaobvladovanje obnovljivih virov energije, dinamicnegarazvoja energetskih trgov, energetskih storitev ter is-kanjem naprednih pristopov upravljanja omrežja. Ne-kateri izzivi, ki so povezani z obvladljivostjo energije,so stohasticno vedenje proizvodnje obnovljivih virovenergije, spremembe smeri pretoka energije v omrežjihali proizvodnja energije v razlicnih obdobjih. Prisotnostpametnih števcev v nizkonapetostnem omrežju omo­goca povezavo koncnih deležnikov z omrežjem in so­casno generiranje podatkov. Kljub naprednim tehnolo­gijam in pospešenemu uvajanju naprednih merilnih na­prav, predstavlja enovito povezovanje med naprednimimerilnimi sistemi in pametnim omrežjem velik izziv. V vecini primerov napredne merilne naprave ko­municirajo preko PLC (Power Line Communication) ali GPRS/3G. Obicajni protokol za odcitavanje meril­nih podatkov je DLMS/COSEM (standard za izme­njavo merilnih podatkov o elektricni energiji). Podat­ki kot so napetost, tok, delovna moc, jalova energiji se lahko generirajo skoraj v realnem casu. Ti podatki predstavljajo velik potencial za izvedbo napredne analitike in poglobljen pogled v distribucijsko omrež­je ter predstavljajo enega od pomembnih vhodov za sistema ADMS (Advanced Distribution Management Systems) in SCADA(Supervisory Control And Data Acquisition), ki sta poglavitna sistema za upravljanje in nadziranje distribucijskega omrežja. Iz razlicnih razlogov kot so zagotavljanje podat­kov v standardni obliki za izmenjavo podatkov, ne­zanesljivosti komunikacije v realnem casu z napre­dnimi merilnimi napravami, zagotavljanje kakovosti masovnih podatkov in izvajanje imputacije manjka­jocih vrednosti, smo raziskavo usmerili v razvoj de­lovnega okvirja, ki omogoca zajem, transformacijo in imputacijo s komunikacijskim standardom za izme­njavo paketnih sporocil v skoraj realnem casu. 2 SORODNO DELO Nekateri avtorji so raziskali podrocje zajemanja po­datkov pametnih števcev in svoje delo objavili v prispevkih. Pri pregledu del smo izpostavili kljucne tocke, ki jih bomo upoštevali pri razvoju delovnega okvirja za zajem in obdelavo merilnih pretocnih po­datkov. Avtorji clankov se problematike niso lotili kot celovitega problema, ampak zgolj posameznih podrocij. 2.1 Delovni okvir za zajem pretocnih podatkov Koncept velepodatkov je prisoten že vec kot desetle­tje. Kljub temu, da je dobro opredeljen in da na splo­šno razumemo njegove prednosti, podjetja ne morejo ucinkovito izkoristiti podatkov in vseh prednosti, ki jih ta koncept ponuja. Tradicionalne metode upra­vljanja podatkov, kot so relacijske podatkovne baze, niso sposobne zajeti vecletnih, sekundnih in milise­kundnih dogodkov, kar vodi do problematike za­gotavljanja informacij o dejanskem stanju pametnih omrežij v realnem casu [1]. V prispevku [2] avtorji opisujejo problem zajema­nja podatkov, ki se generirajo na robu omrežja. Vklju-cevanje novih podatkov predstavlja veliko izzivov, saj niso vse naprave povezane s komunikacijskim omrežjem. Glavna ideja, ki jo obravnavajo avtorji, je paralelno združiti razlicne pretocne podatke z zgo­dovinskimi podatki. Z idejo o virtualnem sistemu SCADAželijo združiti razlicne formate podatkov na standardiziran vir. 2.2 Izmenjava pretocnih podatkov v formatu CIM V prispevku avtorji izpostavljajo težave, s katerimi se morajo spoprijeti pri prehodu iz distribucijskega in prenosnega omrežja na pametna omrežja. Pametna omrežja se bodo v prihodnosti soocila s standardi­zacijo standardnih protokolov, ce želijo v celoti iz­koristiti ponujene prednosti in funkcionalnosti. Na-cionalni inštitut za standarde in tehnologijo (NIST) [4] je opredelil 16 kljucnih standardnih protokolov [5] za pametna omrežja, nato dopolnil na 77. Intero­perabilnost standardov je mogoce doseci z ontolo­škim konceptom semanticne piramide. To dosežemo z informacijskim modelom, ki združuje definicije, koncepte in povezave med njimi. Prav tako je defi­niran UMLpodatkovni model elektricnega omrežja za CIM (Common Information Model), ki je razširjen na ustrezne protokole in kombiniran z ontologijami drugih protokolov za doseganje interoperabilnosti. V prispevku je poudarek na standardu IEC 60870 [6], kjer v vecini primerov izvajajo preslikavo podatkov le za doseganje interoperabilnosti. Predstavili so pri-stop uporabe SPARQLza merilne naprave, ki ustre­zajo formatu CIM. 3 DeLOVNI OKVIR zA PReTOCNe PODATKe Osnovna dilema predlaganega delovnega okvira je, ali je mogoce vzpostaviti delovni okvir, ki bo v skoraj realnem casu zajemala neobdelane podatke, jih pre­nese v platformo za obvladovanje velepodatkov, kjer se neobdelani podatki v pomnilniku sprocesirajo, imputirajo in transformirajo v format CIM. Delovni okvir vsebuje vec komponent, ki so ponazorjene s shematskim prikazom na sliki 1, torej napredne me-rilne naprave, sistem zajema podatkov (prehod) in procesiranje podatkov v pomnilniku. Napredne merilne naprave so opremljene s ko­munikacijskim modulom, ki v skladu s standardom DLMS / COSEM komunicira s sporocilnim sistemom MQTT. MQTT je protokol za prenos podatkov IoT (internet stvari). Na desni strani slike 1 je prikazana obdelava podatkov v pomnilniku na velepodatkovni platformi, ki je sestavljena iz zajemanja pretocnih po­datkov s komponento Apache Kafka MQTT in raz­ Slika 1: Semanticna predstavitev komponent predlaganega okvira za zajem in obdelavo podatkov v pomnilniku s COSeM-CIM razclenjevalnikom v formatu CIM clenjevalnikom Apache Spark COSEM-CIM. Apache Kafka je prek protokola MQTT povezan s prehodom, kjer pridobi neobdelane pretocne podatke in skrbi za prenos teh podatkov v Apache Spark za procesira­nje v pomnilniku. Ko se podatki nahajajo v Apache Spark, se v pomnilniku izvede obdelava z razclenje­valnikom COSEM-CIM. Razclenjevalnik COSEM-CIM vsebuje metodo za pretvorbo neobdelanih podatkov v strukturirane podatke, matematicni algoritem za preoblikovanje ter združevanje vrednosti, algoritem za imputacijo manjkajocih vrednosti in komponento za pretvorbo v format CIM. Tako obdelani podatki se v zadnjem koraku zapišejo v platformo za obvladovanje vele­podatkov. Razclenjevalnik COSEM-CIM uporablja standardizirano obliko podatkov CIM XMLv stan­dardu IEC61968 [3]. 3.1 Opredelitev testnega okolja Za potrebe vrednotenja delovanja predlaganega de­lovnega okvirja pretocnih podatkov (COSEM-CIM parser) se je vzpostavilo testno okolje, ki je vsebovalo 50 naprednih merilnih naprav MT880, opremljenih s komunikacijskim modulom UMTS, MQTT sporo-cilno infrastrukturo ter platformo za upravljanje ve­lepodatkov in procesiranje v pomnilniku. Celotno okolje je delovalo na operacijskem sistemu Linux CentOS z 64 GB RAM, 16 vCPU in 1TB diskovnega prostora. Testno okolje AMI je vsebovalo tri kljucne kompo­nente in sicer 50 naprednih merilnih naprav MT880, sistem za upravljanje merilnih podatkov MDMS (Meter Data Management System) in relacijsko po­datkovno bazo. Okolje je delovalo na operacijskem sistemu Windows server 2016 in SQLstrežniku z enako konfiguracijo strojne opreme kot delovni okvir COSEM-CIM parser. RDF SPARQLokolje je delovalo na enaki infra-strukturi kot COSEM-CIM parser. Odstopanje je bilo v konfiguraciji hranjenja in obdelovanja podatkov v Apache Spark. Delovanje testnih okolij na razlicnih operacijskih sistemih bi lahko privedlo do odstopanj v hitrosti de­lovanja posameznih komponent. Faktor operacijskih sistemov bi bil zelo pomemben pri izvajanju meritev v milisekundah. Izvedba naših meritev je temeljila na najnižji casovni enoti sekundi, ki je zavedena v sis-temskih zapisih. Na podlagi teh dejstev smo faktor vpliva operacijskih sistemov zanemarili. 4 RezULTATI IN RAzPRAVA V tem razdelku predstavljamo primerjavo med okvirji, in sicer AMI (Advance Metering Infrastruc­ture), RDF SPARQLin razclenjevalnikom COSEM­-CIM. Izhodišcna vprašanja raziskovanja so bila:. primerjava zagotavljanja podatkov v realnem casu in . vpliv parametrov na cas obdelave in pretvorbo podatkov v realnem casu v formatu CIM. Vsaka napredna merilna naprava vsebuje fre­kvenco prenosa podatkov in registre merilnih vre­dnosti toka (I) in napetosti (U). Frekvenca intervalov zajema podatkov je dosegla najvec 1 minuto. Glavno vprašanje je, ali je mogoce vzpostaviti infrastrukturo, ki bo sposobna v realnem casu zajemati neobdelane podatke in jih prenašati v velepodatkovno platfor-mo, kjer se bodo podatki v pomnilniku obdelali in transformirali v format CIM. Test je bil zasnovan tako, da je upošteval natancen cas zajema za vseh 50 števcev tocno takrat, ko so se v posredniku pojavi­li neobdelani podatki, cas obdelave in pretvorbe ter cas ponovne poizvedbe. Testiranje se je ponovilo v 100 iteracijah. Izracunani povprecni cas iz sistemskih zapisov zajema podatkov od posrednika do ponov­ne poizvedbe, omogoca oceno dejanskega doprinosa obdelave in transformacije podatkov. S standardnim odklonom smo izmerili razpršenost izracunanih povprecnih casov okoli aritmeticne sredine vzorcev. Tabela 1: V tabelaricni obliki so prikazani rezultati testiranja casovne primerjave posameznih delovnih okvirjev od zajema do transformacije podatkov. Spremenljivka Stream definira tip pretocnosti podatka. Vrednost t1 prikazuje cas zajema podatkov, t2 prikazuje cas obdelave in transformacije v format CIM, t3 cas, ko so podatki ponovno na voljo v formatu CIM. Skupni cas obdelave je zaveden v stolpcu ts. Delovni okvir Pretocnost podatkov t1 s1 t2 s2 t3 s3 ts ss AMI ne 6,27min 0,35 – – – – – – RDF SPARQL da 0,518 s 0,18 5,527 s 0,23 5,98 s 0,20 12,61 s 0,21 COSEM -CIM da 0,492 s 0,13 2,648 s 0,19 0 s – 3,14 s 0,17 Tabela 1 vsebuje primerjavo rezultatov testiranja zajem in transformiranja podatki v skoraj realnem casu s tremi razlicnimi pristopi. Prvi delovni okvir AMI, zasnovan z inženirskega vidika, ni omogocal zajema podatkov v skoraj real-nem casu, kar je privedlo do casa zajema podatkov 6,27 min s standardnim odklonom 0,35. Drugi delov­ni okvir RDF SPARQL, zasnovan z znanstvenega vi-dika, omogoca zajem podatkov v realnem casu. Pov­precen cas zajema podatkov je 0,518 s s standardnim odklonom 0,18. V tretjem predlaganem okvirju CO­SEM-CIM parser je povprecni cas zajema podatkov 0,492 s standardnim odklonom 0,13. V naslednjem koraku testiranja smo preverili ko­liko casa izbrana delovna okvirja RDF SPARQLin COSEM-CIM potrebujeta za obdelavo ter transfor­macijo podatkov v format CIM in omogocanje raz­položljivosti podatkov za nadaljnjo poizvedovanje. RDF SPARQLje potreboval enak povprecni cas za zajem neobdelanih podatkov kot COSEM-CIM par­ser. V naslednjem koraku, kjer se podatki obdelajo in transformirajo, je COSEM-CIM parser porabil manj casa kot RDF SPARQL, saj slednji neobdelane po­datke obdela, transformira, shrani in jih na zahtevo pretvori v CIM format. COSEM CIM parser podatke paralelno obdela in hkrati transformira. Predlaga­ni okvir je štirikrat ucinkovitejši od RDF SPARQL, kar je razvidno v tabeli 1, torej COSEM CIM parser porabi 3,14 s s standardnim odklonom 0,17 in RDF SPARQL12,61 s s standardnim odklonom 0,21. Prednost našega predlaganega okvirja je, da se vsi matematicni algoritmi in transformacije izvedejo pa-ralelno v pomnilniku. 4.1 Razprava Na podlagi izvedenih meritev smo prišli do zakljuc­ka, da je s predlaganim delovnim okvirjem izvedlji­vo zajeti in transformirati pretocne podatke v format CIM v realnem casu. Pri raziskavi in definiranju delovnega okvirja smo se uprli na ugotovitve v sorodnih raziskavah, pred­vsem na clanek [4], kjer so avtorji uporabili hranjenje neobdelanih podatkov in dostop v RDF SPARQL-u. Slabost RDF SPARQLpristopa je povpraševanje po podatkih, saj je casovno zelo potratno. S pristopom COSEM-CIM se podatki zajamejo, vzporedno obde­lajo, transformirajo pomnilniku in shranijo v formatu CIM, kar omogoca štirikrat ucinkovitejše delovanje predlaganega delovnega okvira. 5 zAKLjUCeK Raziskovalno delo je usmerjeno v razvoj delovnega okvirja za zajem, obdelavo in procesiranje v pomnil­niku pretocnih podatkov v skoraj realnem casu. Naš cilj je ponuditi obdelane in standardizirane podatke za shranjevanje ali integracijo z razlicnimi aplikacija-mi v realnem okolju. Ugotovitve temeljijo na rezultatih testiranj in pri­merjave z drugimi okvirji, ki so pokazale, da predla­gan okvir zmanjša cas celotne obdelave za štirikrat. Pri pregledu znanstvenih del s podrocja predlagane­ga okvirja ni bilo zaznati, da bi raziskana literatura obravnavala podrocje kot celoto, ki je predstavljeno v našem predlaganem okvirju. Na podlagi pregleda znanstvenih clankov smo nekatere rešitve uporabili, jih nadgradili ter jih po­nudili kot izboljšane celote. Za testiranje okvirja smo uporabili tehnologijo, komponente in strojno opre-mo, kar ne pomeni, da je bila optimalno izbrana. ReFeReNCe [1] Tabue, B., et al.: Proactive transmission and distribution as­set management (2016). [2] Avo Sevlian, R., et al.: Visualization and Analytics for Distribu­ted Energy Resources, Cornell University (2017). [3] Simmons, J.: Common Information Model Primer, EPRI (2015). [4] Crapo, A., et al: The semantically enabled smart grid, in Pro­ceedings of the Grid-Interop Forum, pp. 177-185 (2009). [5] NIST Framework and Roadmap for Smart Grid Interopera- [6] Penya, K., et al: Semantic integration of IEC 60870 into CIM, bility Standards, 1st ed., National Institute of Standards and IEEE (2011). Technology (2009). [7] Rohr, M., et al: Using CIM for Smart Grid ICT integration, BTC, pp. 45-61 (2011). • Maja Savinek je doktorska študentka na Fakulteti za racunalništvo in informatiko Univerze v Ljubljani. Zaposlena je v podjetju Elektro Ljubljana, d. d., kjer se ukvarja z razvojem napredne analitike in algoritmov na podrocju elektroenergetike, s poudarkom na tehnologijah velepodatkov. • Matjaž Kukar je docent na Fakulteti za racunalništvo in informatiko, clan Laboratorija za kognitivno modeliranje. Leta 2001 je doktoriral iz racu­nalništva in informatike, leta 1996 magistriral in leta 1993 diplomiral na Fakulteti za racunalništvo in informatiko Univerze v Ljubljani. Njegove raziskave so na podrocju umetne inteligence, predvsem strojnega ucenja, podatkovnega rudarjenja in analize podatkov. krAtkI zNANStVENI prISpEVkI Pozitivno in neoznaceno ucenje z generativnimi nasprotniškimi mrežami Aleš Papic, Igor Kononenko, Zoran Bosnic Univerza v Ljubljani, Fakulteta za racunalništvo in informatiko, Vecna pot 113, 1000 Ljubljana, Slovenija {ales.papic, igor.kononenko, zoran.bosnic}@fri.uni-lj.si Izvlecek Kolicina ustvarjenih podatkov otežuje njihovo obdelavo. V primeru nadzorovanega ucenja lahko oznacevanje ucnih primerov predsta­vlja dolgotrajno in drago nalogo. V dvorazrednih problemih primere oznacimo kot pozitivne ali negativne. V tem delu predpostavljamo, da imamo na voljo majhno število pozitivnih primerov in vecje število neoznacenih primerov. Cilj generativnega pozitivnega in neozna-cenega ucenja je ustvariti oznacene primere, kar predstavlja strategijo za reševanje tega problema. Kljub temu generativni pristopi prinašajo pomanjkljivosti, kot so visoka racunska zahtevnost, nestabilno ucenje in nezmožnost ustvarjanja popolnoma oznacenih podatkovnih množic. V prispevku predlagamo nov generativni pristop, ki temelji na pomožnih klasifikacijskih generativnih nasprotni­ških mrežah. Nenegativno pozitivno in neoznaceno tveganje integriramo kot pomožno funkcijo izgube, da se naucimo porazdelitve pozitivnih in negativnih primerov. Na priznanem naboru podatkov za pozitivno in neoznaceno ucenje prikažemo najsodobnejše rezul­tate. Rezultati kažejo, da naš pristop dosega primerljivo tocnost z obstojecimi pristopi, kljub preprostejši arhitekturi, ima visoko ucno stabilnost in generira nabor oznacenih podatkov. Kljucne besede: pozitivno in neoznaceno ucenje, delno nadzorovano ucenje, generativne nasprotniške mreže, globoko ucenje Abstract The quantity of the data generated makes them difficult to process. In the case of supervised learning, labelling training examples may represent an especially tedious and costly task. In binary classification problems, examples are labelled as positive or negative. In this work, we assume that we have at our disposal a small number of positive and a larger number of unlabelled examples. Ge­nerative positive and unlabelled learning aims to generate labelled data, which constitutes a strategy to address this issue. None­theless, the generative approaches bring shortcomings, such as high computational cost, training instability and the inability to generate fully labelled datasets. We propose a novel generative approach based on an auxiliary classifier generative adversarial network. We integrate non-negative positive and unlabelled risk as an auxiliary loss to learn the distribution of positive and negative examples. We demonstrate the state-of-the-art performance on a common positive and unlabelled learning benchmark dataset. The results show that our approach achieves comparable performance as existing approaches despite its simple architecture, has high training stability and generates fully labelled data. Keywords: Positive and unlabelled learning, partially supervised learning, generative adversarial networks, deep learning UVOD Naloge nadzorovanega ucenja zahtevajo, da so ucni primeri oznaceni, npr. kot pripadniki pozitivnega ali negativnega razreda, pred ucenjem modela. Vsako­dnevno pridobivanje oznacenih podatkov ni vedno samoumevno zaradi pomanjkanja cloveških strokov­njakov, s tem povezanih stroškov, casovnih omejitev ali celo omejitev postopka zajemanja podatkov. Za­radi omenjenih prakticnih pomanjkljivosti je postalo podpodrocje delno nadzorovanega ucenja, pozitivno in neoznaceno (angl. positive and unlabeled, PU) ucenje, vse bolj proucevano. PU ucenje je binaren, pozitiven in negativen kla­sifikacijski problem, kjer so na voljo le oznaceni po­zitivni in neoznaceni primeri. Elkan in Noto [6] sta neoznacene podatke obravnavala kot utežene pozi­tivne in negativne hkrati, kar je pozneje spodbudi-lo razvoj nepristranskih tehnik [4, 3, 8]. S tem pred­obdelava neoznacenih podatkov ni potrebna, kar poenostavi ucni proces. Ne glede na to z omejenim Tabela 1: Primerjava prednosti predstavljenih najsodobnejših PU pristopov. Oznaka (.) poudarja, da metoda izpolnjuje dano merilo na levi [1]. Metoda GenPU PGAN D-GAN Predznanje ni potrebno .• Primeren za zapletene .• nabore podatkov Ustvari ustrezne • pozitivne primere Ustvari ustrezne .• negativne primere Stabilnost ucenja z uporabo .• SGD Izvirna arhitektura GAN .• naborom oznacenih podatkov obstaja nevarnost pre­velikega prileganja, kadar se uporabljajo prilagodlji-vi modeli, kot so globoke nevronske mreže. Zato se v zadnjem casu raziskave osredotocajo na uporabo generativnih nasprotniških mrež (angl. generative adversarial networks, GAN) zaradi rasti razpoložlji­vih neoznacenih podatkov [7, 2, 1]. GANi bogatijo ucne primere z umetnimi, da je na voljo vecji nabor oznacenih primerov, ki jih lahko uporabimo za nad­zorovano ucenje. Kljub temu imajo generativni pri­stopi PU ucenja veliko racunsko zahtevnost oziroma generirajo izkljucno negativne ucne primere. To pa lahko predstavlja težavo med ucenjem klasifikator­ja v primerih, ko primanjkuje oznacenih pozitivnih primerov. V ta namen predlagamo novo generativno PU ogrodje za generiranje oznacenih ucnih primerov. Ogrodje uporablja pogojno latentno predstavitev prostora in je opremljeno s pomožno ocenitveno funkcijo za ucenje iz PU podatkov. Poleg tega je pre­dlagani pristop mogoce uporabiti na razlicnih znanih arhitekturah GAN. S poskusi na resnicnih podatkih pokažemo, da naš pristop uspešno prepozna poraz­delitev tako pozitivnih kot negativnih primerov. SORODNA DELA Du Plessis in sod. [3] so definirali konveksno PU ucenje (uPU), toda Kiryo in sod. [8] so kasneje po­kazali, da se prilagodljivi modeli, kot so nevronske mreže, pretirano prilegajo podatkom. To se zgodi, ko vrednost funkcije izgube postane negativna, zato so predlagali nenegativno razlicico (nnPU). Vendar pa uPU in nnPU zahtevata predhodno poznavanje po­razdelitve podatkov. Chiaroni in sod. [1] so poudari­li, da se porazdelitev primerov razlikuje med paketi (angl. batch), zaradi cesar lahko stohasticne tehnike optimizacije postanejo nestabilne, zlasti pri majhnih paketih. Zato se nedavne raziskave osredotocajo na generativne nasprotniške mreže (GANe), da bi po­datke obogatili z umetnimi ucnimi primeri in tako povecali oznacen ucni nabor. Mirza in sod. [10] so predlagali strategijo pogojne­ga GANa (CGAN), ki generatorju in diskriminatorju poda oznako razreda ter tvori z razredom pogojene umetne primere. Odena in sod. [11] so predlagali drugo razlicico, imenovano pomožni klasifikator GAN (AC-GAN), kjer ima diskriminator pomožno nalogo, da napove pogojno latentno informacijo. Skozi na­sprotniški proces ucenja se generator nauci skupne latentne predstavitve. Kljub temu oba pristopa potre­bujeta oznacen nabor podatkov, cesar pri PU ucenju nimamo in predstavlja njuno glavno pomanjkljivost. Velike kolicine neoznacenih podatkov otežujejo ucni proces obstojecih PU metod. Zato so Hou in sod. [7] predlagali prvo generativno PU ogrodje (GenPU), ki vkljucuje vrsto generatorjev in diskriminatorjev, zaradi cesar je racunsko zahteven. Chiaroni in sod. [2] so predlagali Pozitiven-GAN (PGAN), ki temelji na originalni arhitekturi GAN. Zaradi pomanjkanja nadzora pa se ne more nauciti resnicne negativne po­razdelitve podatkov, kar so kasneje naslovili z meto-do Divergentni-GAN (D-GAN) [1]. Ne glede na to je še vedno omejen na generiranje izkljucno negativnih primerov. To pa lahko predstavlja težavo pri ucenju koncnega klasifikatorja, ko je na voljo majhen nabor oznacenih primerov. Tabela 1 povzema kljucne la-stnosti generativnih PU pristopov. 3 POGOjNO GeNeRATIVNO PU UCeNje Naše delo naslavlja omejitvi ogrodja GenPU, visoko racunsko zahtevnost in nestabilnost ucenja, ki sta po­sledici zapletene arhitekture. Izvirno GAN arhitektu­ro dopolnimo z dodatnim pomožnim klasifikatorjem v novem pogojnem generativnem PU ogrodju. Le-ta je zmožen generiranja primerov obeh razredov, kar pa ne velja za obstojeca PGAN in D-GAN. Omenjena lastnost je potrebna za probleme, pri katerih nam pri­manjkuje oznacenih pozitivnih primerov. Naš pristop je zgrajen na obstojecem AC-GANu, ki lahko generira oznacen nabor podatkov. Pomo­žni klasifikator optimizira log-verjetje pravilnega razreda LC [11], zato potrebuje oznacene primere iz vsakega razreda. Da pa bi se lahko ucili iz PU na­bora, uvedemo nenegativno PU tveganje (LnnPU) [8] kot dodatno pomožno funkcijo izgube. LnnPU omogo-ca oceno izgube za neznane negativne primere, ki se nahajajo v vhodnih podatkih. Funkcijo izgube po­možnega klasifikatorja tako sestavlja utežena vsota .1LC + .2LnnPU, kjer je .1 = 1 – .2. LC merimo na ume­tnih primerih, saj so njihove oznake na voljo v laten­tni predstavitvi, medtem ko LnnPU merimo izkljucno na ucni množici. Pri empiricnem ovrednotenju mo-dela je parameter .1 = 0.5. Cilj pomožnega klasifikatorja je usmeriti genera­tor k pravilni uporabi podane pogojne informacije. Ne glede na to moramo vedeti, kakšna je porazdelitev neoznacenih podatkov, kar lahko ocenimo neposre­dno iz podatkov samih [5]. Ogrodje nam omogoca, da generiramo popolnoma oznacen nabor pozitivnih in negativnih primerov, iz pozitivnih in neoznacenih. Predlagan pristop je dvostopenjski, kar pomeni, da se najprej naucimo generirati umetne primere, le-te pa uporabimo za ucenje poljubnega obstojecega bi-narnega klasifikatorja. Ob tem ima naš pristop manj racunskih omejitev in vecjo stabilnost. 4 RezULTATI IN RAzPRAVA Ucinkovitost generativnih pristopov pokažemo z empiricnim ovrednotenjem na podatkovni množici MNIST [9]. Med vrednotenjem se domneva, da je znana porazdelitev podatkov (pp). Izbrali smo dve števki s po 5000 slikami, ki smo jih uporabili za iz­delavo nabora podatkov PU. Da bi bil problem bolj zahteven, smo izbrali števki 3 in 5 zaradi njune vizu­alne podobnosti. Izvedli smo štiri ponovitve, vsako z razlicnim številom oznacenih primerov, in oceni­li uspešnost binarnega klasifikatorja, naucenega na umetnih primerih s 3-kratnim precnim preverjanjem (glej Tabelo 2). Za oceno ucinkovitosti je bil upora­bljen binarni klasifikator z dvema skritima plastema, vsaka z 256 nevroni. Aktivacijska funkcija za vsako plastjo je ReLU, razen zadnje, kjer je uporabljen si­gmoid. Splošna arhitektura GAN in ucni parametri so bili vzeti iz literature [7]. Rezultati kažejo, da klasifikator, naucen na po­datkih predlaganega pristopa, dosega primerljivo tocnost kot tisti, ki je bil naucen na podatkih PGA-Na in D-GANa. Na naše presenecenje, ko je na voljo le deset primerov z oznako, PGAN deluje najbolje. Hou in sod. [7] so ugotovili, da se nnPU zacne pre­tirano prilegati, ob manjšem številu oznacenih pri­merov, zato se obnaša nestabilno. V našem ogrodju se je pojavila enaka nestabilnost, kar je vplivalo na generator, ki mu ni uspelo pravilno uporabiti poda­ne pogojne informacije. Že s 50 oznacenimi primeri pa je naš pristop pre­segel obstojece. GenPU se je izkazal najslabše zaradi nestabilnega ucenja in posledicno nezmožnosti se nauciti porazdelitve negativnih primerov. Slika 1 pri­kazuje generirane števke s predlaganim pristopom. Pozitivni Negativni Slika 1: Vizualizacija umetnih pozitivnih in umetnih negativnih števk, ustvarjenih s predlaganim pristopom. Tabela 2: Klasifikacijska tocnost klasifikatorja na nalogi razlikovanja števk, 3 in 5 ob razlicnem številu oznacenih podatkov. PODATKI MeTODA NNpPGAN D-GAN GenPU Pog. gen. PU ucenje (naš) p up 1000 9000 0.444 0.93 ± 0.01 0.93 ± 0.01 0.47 ± 0.00 0.92 ± 0.00 100 9900 0.495 0.80 ± 0.06 0.82 ± 0.04 0.47 ± 0.00 0.86 ± 0.04 50 9950 0.497 0.72 ± 0.08 0.65 ± 0.13 0.47 ± 0.00 0.74 ± 0.03 10 9990 0.499 0.69 ± 0.03 0.61 ± 0.07 0.46 ± 0.00 0.59 ± 0.05 zAKLjUCeK Kolicina ustvarjenih podatkov se dnevno povecuje, kar otežuje njihovo obdelavo. Oznacevanje ucnih pri­merov predstavlja še posebej dolgotrajno in drago, vcasih tudi nemogoco nalogo. V clanku predstavimo novo generativno ogrodje, ki zmanjšuje racunsko zahtevnost in posledicno povecuje ucno stabilnost. Ob tem je primeren za širok nabor obstojecih arhitek­tur GAN in daje oznacen nabor podatkov. Rezultati so pokazali, da obstojece metode najveckrat dosežejo nižjo tocnost kot predlagan pristop, še posebej, ko je število oznacenih primerov omejeno. Vendar pa je naš pristop pokazal težave pri zelo majhnem številu oznacenih primerov. To je posledica cezmernega pri­leganja pomožnega klasifikatorja, kar bomo obrav­navali v prihodnje. Ne glede na to je predlagani pri-stop s sestavljeno kriterijsko funkcijo preprostejši, saj nadomešca kompleksno arhitekturo ogrodja GenPU. Predlagan pristop je primeren za številne proble-me v medicini, npr. pri odkrivanju redkih bolezni, v priporocil- nih sistemih za prepoznavanje zavajajo-cih ocen in v bancništvu za zaznavanje rizicnih po­sojil. Pomaga lahko tudi pri anonimizaciji obcutljivih podatkov, kjer je mogoce nadomestiti vhodne podat­ke z umetnimi pri tem pa jih loci v za nas bolj (pozi­tivno) in manj (negativno) zanimivo skupino. V prihodnje nameravamo pristop uporabiti za odkrivanje nenapovedanih obrokov pri bolnikih s sladkorno boleznijo tipa 1, saj je problem primeren za PU ucenje. Sedanja umetna trebušna slinavka nima te zmožnosti, a bi obstoj takšnega sistema zelo pripomogel bolnikom. ZAHVALA To delo podpira Javna agencija za raziskovalno de­javnost Republike Slovenije (ARRS), sredstva za mla­de raziskovalce (53630). LITeRATURA [1] Florent Chiaroni, Ghazaleh Khodabandelou, Mohamed-Che­rif Rahal, Nicolas Hueber, and Frédéric Dufaux. Generating relevant counter-examples from a positive unlabeled data­set for image classification. arXiv preprint arXiv:1910.01968, 2019. [2] Florent Chiaroni, Mohamed-Cherif Rahal, Nicolas Hueber, and Frédéric Dufaux. Learning with a generative adversarial network from a positive unlabeled dataset for image classifi­cation. In IEEE ICIP, pages 1368–1372. IEEE, 2018. [3] Marthinus Du Plessis, Gang Niu, and Masashi Sugiyama. Convex formulation for learning from positive and unlabeled data. In ICML, pages 1386–1394, 2015. [4] Marthinus C Du Plessis, Gang Niu, and Masashi Sugiyama. Analysis of learning from positive and unlabeled data. In NIPS, pages 703–711, 2014. [5] Marthinus Christoffel Du Plessis and Masashi Sugiyama. Class prior estimation from positive and unlabeled data. IE­ICE, 97(5):1358–1362, 2014. [6] Charles Elkan and Keith Noto. Learning classifiers from only positive and unlabeled data. In KDD’08, pages 213–220, 2008. [7] Ming Hou, Brahim Chaib-Draa, Chao Li, and Qibin Zhao. Generative adversarial positive-unlabeled learning. In IJCAI, pages 2255–2261. AAAI Press, 2018. [8] Ryuichi Kiryo, Gang Niu, Marthinus C Du Plessis, and Masa­shi Sugiyama. Positive-unlabeled learning with non-negative risk estimator. In NIPS, pages 1675–1685, 2017. [9] Yann LeCun, Léon Bottou, Yoshua Bengio, and Patrick Haff­ner. Gradient-based learning applied to document recogniti­on. Proceedings of the IEEE, 86(11):2278–2324, 1998. [10] Mehdi Mirza and Simon Osindero. Conditional generative adversarial nets. arXiv preprint arXiv:1411.1784, 2014. [11] Augustus Odena, Christopher Olah, and Jonathon Shlens. Conditional image synthesis with auxiliary classifier gans. In ICML, pages 2642–2651. Proceedings of Machine Learning Research, 2017. • Aleš Papic je mladi raziskovalec in doktorski študent na Fakulteti za racunalništvo in informatiko, Univerze v Ljubljani. Njegovo raziskovalno podro-cje vkljucuje strojno ucenje, globoko ucenje in generativne nasprotniške mreže. Prav tako je asistent pri predmetu Osnove umetne inteligence. • Igor Kononenko je doktor racunalniških znanosti in redni profesor na Fakulteti za racunalništvo in informatiko Univerze v Ljubljani ter predstojnik Laboratorija za kognitivno modeliranje. Njegova raziskovalna podrocja so umetna inteligenca, strojno ucenje, nevronske mreže in kognitivno modeliranje. Je (so)avtor 225 clankov na teh podrocjih ter 13 ucbenikov (dve knjigi izšli v Angliji). • zoran Bosnic je profesor na Fakulteti za racunalništvo in informatiko Univerze v Ljubljani. Raziskovalno se ukvarja z umetno inteligenco, zlasti s strojnim ucenjem. Osredotoca se pretežno na ucenje iz podatkovnih to-kov in na interdisciplinarne aplikacije strojnega ucenja. Na tem podrocju je tudi (so)avtor okoli 70 znanstvenih clankov. Iz Islovarja Islovar je spletni terminološki slovar informatike, ki ga objavlja jezikovna sekcija Slovenskega društva IN­FORMATIKAna naslovu http://www.islovar.org. Slovar je javno dostopen za vpoglede in vnašanje novih izrazov. aktívna napráva -e -e ž (angl. active device) naprava, ki za delovanje potrebuje poseben vir energije; prim. pasivna naprava datotéka napráve -e -- ž (angl. device file) vmesnik za dostop do vhodno-izhodnih naprav, ki v datotecnem sistemu izgleda kot datoteka; sin. vmesniška datoteka inęrcijska merílna napráva -e -e -e ž (angl. inertial measurement unit, IMU) naprava za dolocanje položaja, orientacije in hitrosti objekta, pri cemer navadno uporablja kombinacijo pospeškometra, žiroskopa in vcasih magnetometra; prim. inercijski navigacijski sistem kazálna napráva -e -e ž (angl. tracking device) naprava za upravljanje premikanja kazalca na racunalniškem zaslonu naménska napráva -e -e ž (angl. appliance) naprava, namenjena za dolocena opravila navídezna napráva -e -e ž (angl. pseudo device, virtual device) programska koda, ki simulira delovanje fizicne naprave, gonilnika, krmilnika; sin. virtualna naprava navídezni racunálnik -ega -a m (angl. VM, virtual machine, virtual computer) programska oprema, ki posnema delovanje stvarnega racunalnika; sin. navidezna naprava; prim. posnemovalnik, simulator navíti -ijem dov. (angl. overclock) s tehnicnimi prilagoditvami povecati takt naprave nad tistega, za katerega je bil projektiran nícelna napráva -e -e ž (angl. null device) datoteka, ki se izbriše ob sporocilu, da je ukaz izvršen omréžje pomnílniških napráv -a -- -- (angl. storage area network, SAN) pomnilniške naprave in strežniki, povezani v funkcionalno celoto za hrambo podatkov osnôvna števílka napráve -e -e -- ž (angl. major device number) številka naprave, ki doloca gonilnike za krmiljenje naprave pasívna napráva -e -e ž (angl. passive device) naprava, ki za delovanje ne potrebuje posebnega vira energije; prim. aktivna naprava pomóžna števílka napráve -e -e -e ž (angl. minor device number) številka ene od naprav, ki jo upravlja gonilnik profíl mobílne napráve -a -- -- -- m (angl. mobile information device profile, MIDP) nabor javanskih programskih vmesnikov za mobilne naprave prostórska merílna napráva -e -e -e ž(angl. coordinate measuring machine, CMM) naprava za merjenje geometrijskih znacilnosti predmeta róbna napráva -e -e ž (angl. edge device) naprava, ki omogoca dostop do omrežja; prim. jedrno omrežje sledílna napráva -e -e ž (angl. tracking device) naprava za dolocitev ali sledenje položaja ali gibanja na daljavo IzpitnicentriECDL ECDL(European Computer Driving License), ki ga v Sloveniji imenujemo evropsko raËunalnipko spriËevalo, je standardni program usposabljanja uporabnikov, ki da zaposlenim potrebno znanje za delo s standardnimi raËunalnipkimi programi na informatiziranem delovnem mestu, delodajalcem pa pomeni dokazilo o usposobljenosti. V Evropi je za uvajanje, usposabljanje in nadzor izvajanja ECDL pooblapËena ustanova ECDL Fundation, v Sloveniji pa je kot Ëlan CEPIS (Council of European Professional Informatics) to pravico pridobilo Slovensko druptvo INFORMATIKA. V drćavah Evropske unije so pri uvajanju ECDL moËno angaćirane srednje in visoke pole, aktivni pa so tudi razliËni vladni resorji. Posebno pomembno je, da velja spriËevalo v 148 drćavah, ki so vkljuËene v program ECDL. Doslej je bilo v svetu izdanih će veË kot 11,6 milijona indeksov, v Sloveniji veË kot 17.000, in podeljenih veË kot 11.000 spriËeval. Za izpitne centre v Sloveniji je usposobljenih osem organizacij, katerih logotipe objavljamo. Znanstveni prispevki Luka Pavlic, Luka Cetina Pomen uPorabe arhitekturnih nacrtovalskih vZorcev Pri raZvoju mobilnih aPlikacij Vida Groznik, Aleksander Sadikov analiZa gibanja oci med branjem Pri bolnikih Z raZlicnimi stoPnjami kognitivnega uPada kratki znanstveni prispevki Damjan Fujs, Simon Vrhovec, Damjan Vavpotic kategoriZacija uPorabnikov na Podlagi njihovega Z informacijsko varnostjo PoveZanega Znanja, stališc in vedenje: Pilotna študija Maja Savinek, Matjaž Kukar delovni okvir Za Pretocne Podatke s standardom common information model (cim) Aleš Papic, Igor Kononenko, Zoran Bosnic PoZitivno in neoZnaceno ucenje Z generativnimi nasProtniškimi mrežami informacije iZ islovarja