1 Uvod V ožjem pomenu jezik za predstavitev pravil na semantičnem spletu razumemo kot konkretno sintakso, temelječo na XML.1 V širšem pomenu pa ga razumemo kot jezik z abstraktno sintakso, ki je namenjen predvsem za skupno podlago pri opredeljevanju različnih izpeljanih jezikov za različne potrebe. Ti jeziki morajo imeti formalno semantiko, vendar lahko kljub temu obstajajo določeni konstrukti, ki nimajo formalne semantike, izpeljane iz logike prvega reda, jih pa vseeno potrebujemo pri reševanju določenih nalog. V zvezi s tem problemom se moramo zavedati dveh nevarnosti: • Uporaba praktičnih konstruktov jezika, ki se zdijo pomembni, in sicer imajo določeno intuitivno, a ne formalno semantiko, čeprav imamo na voljo alternative, ki imajo formalno (morda nestandardno) semantiko. • Prevelika pozornost teoretičnim vprašanjem standardne logike prvega reda, kot je 1 eXtensible Markup Language – Razširljivi označevalni jezik, ki predstavlja format podatkov za izmenjavo strukturo dokumentov v spletu. Prejet 19. oktober, 2005 Odobren 31. maj, 2006 Lavbič, Bajec, Krisper 250 izračunljivost, kompleksnost, odločljivost in jedrnatost. Pri standardizaciji jezikov za predstavitev pravil na svetovnem spletu je treba upoštevati uporabnike SQL2, Prologa3 in drugih sistemov, saj mora obstajati povezava med različnimi pomembnejšimi koncepti omenjenih jezikov. V prispevku bomo predstavili nekaj načinov, kako lahko sisteme za izvajanje poslovnih pravil povežemo s semantičnim spletom. V razdelku 2 sta najprej podrobneje predstavljena semantični splet in potreba po pravilih. Sledi opis predlaganega ogrodja za predstavitev znanja na semantičnem spletu, ki temelji na integraciji ontologij in pravil. Različni predlogi jezikov za predstavitev pravil na semantičnem spletu so zbrani v razdelku 3, medtem ko v razdelku 4 predstavimo podporo omenjenim jezikom v dejanskih grafičnih orodjih. 2 Semantični splet in pravila Svetovni splet doživlja velik uspeh, kar nakazuje število uporabnikov in dokumentov, ki se nahajajo na njem. Vendar je dostop do informacij še vedno težaven, saj mora uporabnik vsebino najprej poiskati, nato pa še tolmačiti. Pri tem se postavljajo vprašanja, kaj je vsebina dokumenta in kakšna je semantika povezav med elementi na spletu. Pri iskanju podatkov na svetovnem spletu moramo tako poznati bodisi natančen naslov iskanega dokumenta bodisi ga poiščemo s pomočjo spletnega iskalnika. Problem spletnih iskalnikov pa je v predstavitvi iskalne zahteve vmesniku iskanja, pozneje pa tudi predstavitev rezultatov iskanja. Zato je Tim Berners Lee v začetku tega tisočletja predstavil idejo semantičnega spleta kot nadgradnjo obstoječega spleta, kjer podatki dobijo pomen, kar omogoča boljše medsebojno sodelovanje ljudi in računalnikov [1, 5, 7]. Moč semantičnega spleta je v združevanju tehnologij za obvladovanje znanja na področju umetne inteligence in spletnih tehnologij. Veliko pripomb širše javnosti je bilo k vse preveč standardom, ki so na voljo na svetovnem spletu. Očitki so se nanašali predvsem na ne dovolj jasne vizije posameznih predlogov. Verjamemo pa, da uporaba pravil na semantičnem spletu prinaša nove možnosti sodelovanja in souporabe XML, RDF,4 OWL5 in 2 Structured Query Language – Strukturirani poizvedovalni jezik za manipulacijo s podatki v relacijskih podatkovnih bazah. 3 PROgramming in LOGic – Jezik za logično programiranje. 4 Resource Definition Framework – S pomočjo jezika RDF predstavimo semantične relacije na ravni primerkov v obliki trojčkov (oseba, predikat, predmet). 5 Web Ontology Language oz. Ontology Web Language je razvila skupina za spletne ontologije na konzorciju W3C in igra vlogo naslednika DAML+OIL. OWL je v tem trenutku spletnih storitev, da bi odpravili problem integracije podatkov na svetovnem spletu. 2.1 Integracija podatkov Čedalje več podatkov, ki so na voljo na svetovnem spletu, je v XML obliki. Razlog za to je preprost – enostaven prenos delno strukturiranih podatkov, ki s shemami prinašajo interoperabilnost in z XSLT6 omogočajo pretvorbo med različnimi XML formati. Vendar nam XML sam po sebi ne ponuja rešitve integracije podatkov [3]. Številna podjetja še vedno niso razvila svojih shem za poenostavitev izmenjave, pogosto pa izmenjava zahteva tudi združevanje podatkov iz različnih, porazdeljenih virov, brez skupnih shem ali shem brez jasno določenih preslikav. Tako še vedno ostaja problem npr. pri iskanju odgovora na vprašanje, kdaj sta dva podatka približno enaka oz. podobna. Če omogočimo dostop do podatkov na svetovnem spletu prek URI7 naslovov, smo naredili šele prvi korak pri integraciji podatkov. 2.2 Uporaba pravil in ontologij Rešitev prej omenjenega problema lahko najdemo v uporabi pravil na semantičnem spletu. Pravila skupaj z ontologijami prav gotovo prinašajo višjo raven spletnim storitvam, kjer s konvergenco pridemo do semantičnih spletnih storitev [7]. Primere uporabe lahko najdemo v poslovnih okoljih, še zlasti uporaba agentov8 v elektronskem poslovanju, ki bo temeljilo na pridobljenem znanju [8]. Vloga agentov bo zbiranje informacij, sklepanje in optimizacija stroškov. Izvajali bodo tudi pogajanja z ustrezno mero avtonomije. Slika 1: Uporaba pravil in ontologij na semantičnem spletu najbolj izrazen jezik za predstavitev znanja na področju semantičnega spleta. 6 Extensible Stylesheet Language Transformations – Jezik za pretvorbe med XML dokumenti. 7 Uniform Resource Identifier – Splošen identifikator, ki se uporablja za razlikovanje konkretnih in abstraktnih virov na svetovnem spletu. 8 Za agenta kot entiteto velja, da je sposoben delovati v svojem okolju, deluje avtonomno – ima kontrolo nad svojim delovanjem, lahko komunicira z drugimi agenti in je zmožen zaznavanja svojega okolja. Pravila na semantičnem spletu 251 Prvi korak k uresničitvi teh idej pa je zmožnost komunikacije z dovolj veliko mero skupaj določenega pomena, seveda s pomočjo semantičnega spleta, ki vključuje uporabo pravil in ontologij. Slika 1 prikazuje ogrodje za predstavitev znanja na semantičnem spletu. Glavna ideja se skriva v integraciji pravil in ontologij ter uporabi baze znanja s strani naprednih uporabniških aplikacij [4]. Z uporabo pravil se na semantičnem spletu srečamo z novimi težavami, ki jih prej nismo imeli. Zato se moramo zavedati naslednjih ključnih elementov pri uvajanju in uporabi pravil na tem področju: 1. Raznolikost. Obstoječe in nastajajoče ontologije ter pravila uporabljajo heterogene oblike zapisovanja znanja, zato potrebujemo mehanizme, ki bodo sposobni obvladovati te raznolikosti. 2. Porazdeljenost obvladovanja pravil in ontologij pri uporabi baz znanj. 3. Neskladnost. Pri združevanju znanja pride do konfliktnih situacij, zato moramo imeti ustrezne mehanizme, s katerimi to obvladujemo. 4. Dinamičnost. Posodabljanja baz znanj bo vedno več, zato se moramo znati spopasti s to povečano frekvenco. 5. Zakasnitev. Razširljivost je odločitvenega pomena pri doseganju integracije znanja, kjer se želimo približati linearnemu času dostopa (podobno kot pri podatkovnih bazah). Ob upoštevanju zgornjih izhodišč smo se odločili za pristop, kjer je baza znanja produkt integracije ontologij in pravil (glej sliko 1). Pri procesu združevanja so uporabljeni pretvorniki, ki ustrezne koncepte in relacije iz ontologij preslikajo v sisteme za izvajanje pravil, tako da lahko uporabimo obstoječe sisteme za izvajanje poslovnih pravil. Celotno ogrodje je tako na voljo naprednim aplikacijam, ki uporabljajo storitve semantičnega spleta. 3 Jeziki za predstavitev pravil na semantičnem spletu V zadnjem času je bilo kar nekaj predlogov jezikov za predstavitev pravil na semantičnem spletu in v nadaljevanju si bomo podrobno ogledali naslednje [2, 3, 7]: • Rule Markup Language (RuleML)9 • OWL Rules Language (ORL)10 • Semantic Web Rule Language (SWRL)11 9 http://www.ruleml.org 10 http://www.cs.man.ac.uk/ horrocks/DAML/Rules 11 http://www.daml.org/2003/11/swrl 3.1 RuleML Jeziki RuleML imajo potencial, da postanejo glavni akterji na področju uporabe pravil na semantičnem spletu in v porazdeljenih sistemih, saj omogočajo kreiranje, procesiranje, objavljanje in medsebojno komunikacijo pravil [7]. Sintaksa RuleML temelji na XML, čeprav obstaja del njegove sintakse tudi v obliki RDF. Slika 2: Primer RuleML pravila v obliki drevesa Primer pravila v obliki RuleML si lahko ogledamo na sliki 2, kjer imamo pravilo prikazano v obliki drevesa z ustreznimi gradniki, ki jih definira RuleML. V naravnem jeziku se zgornje pravilo pomeni: Če ima kupec zlato kartico zaupanja in produkt spada med luksuzne dobrine, se kupcu pri nakupu upošteva 5- odstotni popust. Zapis XML omenjenega drevesa pa vidimo na sliki 3. Slika 3: Primer pravila RuleML v obliki XML Cilj RuleML je zagotoviti ponovno uporabnost in izmenjavo na višji ravni, podobno kot pri MDA.12 Namesto da ustvarimo še en jezik za opis pravil, 12 Model-Driven Architecture je arhitektura za razvoj programske opreme, ki so jo predlagali pri Object Management Group (OMG). Funkcionalnosti sistema določimo v modelu, ki je neodvisen od platforme (PIM), s pomočjo ustreznega jezika za modeliranje (npr. UML). Za dejansko implementacijo pa je treba model PIM prevesti v model, ki je specifičen za izbrano platformo (PSM). Lavbič, Bajec, Krisper 252 RuleML ponuja množico izpeljanih modularnih jezikov, ki temeljijo na skupnem podatkovnem modelu. Pogled na pravila si lahko analogno pristopu MDA predstavljamo na treh ravneh: 1. Na poslovni ravni pravila v obliki izjav opredeljujejo določen del poslovnega procesa ali strukturno omejitev. Za predstavitev se uporablja deklarativna oblika, ki je največkrat naravni jezik ali kakšna grafična opisna oblika. Primeri pravil v naravnem jeziku so: • P1: Oseba, ki želi opravljati vozniški izpit, mora biti stara najmanj 18 let. • P2: Dobiček na investicijo ni obdavčen, če je od nakupa delnice minilo že več kot 3 leta. • P3: Ko cena delnice pade za več kot 5% in za investicijo ni treba plačati davka, jo prodaj. 2. Na ravni neodvisnosti od platforme so pravila izražena v obliki formalnih izjav, ki jih lahko pozneje povežemo z izvajalnimi izjavami dejanske platforme. Jeziki za zapis pravil na tej ravni so SQL:1999, OCL 2.0, ISO Prolog idr. 3. Raven platformno odvisnih pravil vsebuje pravila, zapisana z izjavami v določenem izvajalnem jeziku, kot so prožilci v podatkovni bazi Oracle 9, ekspertnem sistemu Jess ali pravila v orodju Microsoft Outlook. Zavedati se moramo, da imamo v poslovni domeni opravka z jezikoslovno bogato in zapleteno izrazno obliko, ki jo lahko v formalni matematični obliki zapišemo le v omejenem obsegu [8]. Zato je pri RuleML uporabljen pristop, kjer imamo množico jezikov za opis najpomembnejših tipov pravil. Slika 4: Kategorizacija pravil V nadaljevanju si bomo nekoliko podrobneje ogledali osnovne tipe pravil, ki jih predlaga RuleML in jih lahko vidimo na sliki 3: integritetna, izpeljana, odzivna, akcijska in transformacijska pravila. 3.1.1 Integritetna pravila Integritetno pravilo sestavlja logični izraz, zapisan v poljubnem logičnem jeziku (npr. predikatna logika). Pravilo predstavlja izjavo, ki mora biti resnična v vseh nastalih stanjih in prehodih med stanji v diskretnem dinamičnem sistemu, za katerega je definirano. Pravilo P1 iz razdelka 2 je primer statičnega integritetnega pravila, medtem ko bi dinamično integritetno pravilo lahko bilo: Potrditvi rezervacije vozila mora slediti rezervacija vozila zahtevanega razreda za dan prej, kot je zahtevan datum. Priljubljena jezika za izražanje integritete sta SQL in OCL13. 3.1.2 Izpeljana pravila Izpeljano pravilo je sestavljeno iz enega ali več pogojev in sklepa. Na začetku razdelka smo omenili pravilo P2, ki ga lahko uvrstimo med izpeljana pravila. Zelo znane oblike izpeljanih pravil lahko najdemo v obliki pravil Prolog in pogledov SQL. To vrsto pravil lahko prikažemo tudi v razrednih diagramih UML s pomočjo konstant OCL, kot je prikazano na sliki 4. Slika 5: Opredelitev izpeljanega pravila s pomočjo OCL V naravnem jeziku si lahko omenjeno pravilo predstavljamo kot: Avto lahko najamemo, če ni povezan z nobenim dogovorom o izposoji in zanj ni potreben servis. 3.1.3 Odzivna pravila Odzivno pravilo sestavljajo prožilni dogodek, pogoj, odzivna akcija in včasih tudi popogoj. Odzivna pravila delimo glede na prisotnost popogojev v dve skupini: ECA,14 ki nimajo popogojev in ECAP,15 kjer so popogoji prisotni. To kategorizacijo prikazuje tudi slika 4, kjer sta omenjena tudi pogosto uporabljana primera teh pravil – prožilec SQL in pravilo Outlook. 3.1.4 Akcijsko pravilo Akcijsko pravilo preprosto sestavljata pogoj in akcija, ki se ob izpolnjenem pogoju izvede. S to vrsto pravil lahko implementiramo tudi izpeljana pravila. Pri poslovnih pravilih so akcijska pravila ena najpomembnejših in tudi najpogosteje uporabljenih ter so ključna komponenta v družini jezikov RuleML. Primeri znanih izvajalnih 13 Object Constraint Language – Jezik za opis pravil nad modeli UML.. 14 Event-Condition-Action 15 Event-Condition-Action-Postcondition Pravila na semantičnem spletu 253 okolij akcijskih pravil so Jess, iLOG Rules/JRules, Fair Isaac/Baze Advisor itd. 3.2 ORL Številne pomanjkljivosti jezika OWL izhajajo iz dejstva, da je jezik relativno bogat pri izražanju razredov, medtem ko se veliko slabše odreže pri lastnostih. Preprosto ni konstruktorja, s katerim bi lahko določili relacije med sestavljenimi lastnostmi in drugimi, morda celo sestavljenimi, lastnostmi. Preprost primer, ki opisuje ta problem, je relacija med lastnostmi starš, brat in stric, ki je v osnovni obliki jezika OWL ne moremo zapisati. Eden od načinov reševanja omenjenega problema je razširitev jezika OWL z bolj izraznim jezikom za opis lastnosti. Dodajanje pravil jezikom za predstavitev znanja, ki temeljijo na opisni logiki, ni ravno nov pristop. Kar nekaj predhodnih sistemov (npr. Classic), ki temeljijo na opisni logiki, je svojo izrazno moč povečalo z uporabo jezika za predstavitev pravil [6]. Vendar so pravila v teh sistemih imela šibkejšo semantično moč, kot jo imamo pri uvedbi relacij med razredi in nadrazredi, saj so bile relacije prisotne le med posameznimi primerki in niso vplivale na sklepanje na podlagi razredne hierarhije. ORL razširja OWL v sintaktičnem in semantičnem pogledu: osnovna sintaksa pravil ORL je razširitev abstraktne sintakse OWL DL16 in OWL Lite,17 pravila pa imajo tudi formalen pomen v povezavi z razširitvijo OWL DL [5]. Ko se odločamo za uporabo pravil OWL, moramo poudariti naslednje prednosti [7]: • Glede na OWL ne pomenijo bistvenih sprememb, tako da so tudi relativno preprosta za uporabo. • Pravila OWL imajo veliko izrazno moč, saj temeljijo na izrazni moči OWL pri obeh elementih pravil: vzroku (telo) in posledici (glava) • Obljubljajo zelo elegantno rešitev raznovrstnega semantičnega procesiranja. Raziskovalnim skupinam, ki se ukvarjajo s semantičnim spletom, je jasno, da pri realizaciji ideje semantičnega spleta ne bo dovolj zgolj ena tehnika, model ali metoda. Potreba po različnih načinih uporabe ne bo pomenila izbire, ampak bo nujno prisotna. 3.3 SWRL Čeprav z uporabo jezika OWL pridobimo veliko izrazno moč na semantičnem spletu, vseeno obstajajo določene 16 Podmnožica jezika OWL z vključeno podporo jeziku opisne logike. 17 Podmnožica jezika OWL z minimalno semantično izrazno močjo. omejitve pri izražanju. Te omejitve pa lahko odpravimo z uporabo jezika SWRL za predstavitev pravil na semantičnem spletu. SWRL je nastal na temeljih ORL, ki smo ga predstavili v prejšnjem razdelku. Ideja za SWRL je nastala šele leta 2004 in je eden novejših predlogov jezika za opis pravil na semantičnem spletu. Glavna ideja, ki stoji za SWRL, je razširitev OWL DL s pravili, kjer želimo obdržati čim večjo združljivost nazaj z obstoječo sintakso in semantiko. Pristop uvaja Hornovo obliko pravil, ki razširjajo sintakso OWL. Pravila so preprosto v obliki implikacije med vzroki (telo) in posledicami (glava). Pomen pravila pa lahko preberemo kot: vedno ko je zadoščeno pogojem v telesu, morajo držati tudi posledice v glavi. SWRL zagotavlja zelo uporabno raven v hierarhiji semantičnega spleta, vendar se moramo zavedati, da bodo nekatere aplikacije potrebovale še večjo izrazno moč. Pri nekaterih aplikacijah je pomembno izražanje aritmetičnih relacij med posameznimi vrednostmi (npr. da osebo, ki ima prihodke enake ali višje od odhodkov, označimo za srečno, medtem ko pri osebah, kjer odhodki presegajo prihodke, načeloma velja, da so nesrečne). Še vedno ni jasno, ali bi bilo mogoče to funkcionalnost doseči z nadaljnjo razširitvijo funkcionalnosti jezika SWRL ali z razširitvijo podatkovnih tipov OWL [6]. 4 Podpora jezikom v orodjih Podpora jezikom za predstavitev pravil na semantičnem spletu v razvojnih orodjih je zelo slaba. Razlogi za to so prav gotovo v problemu zrelosti, saj so rešitve oz. predlogi še zelo novi. 4.1 Protégé Eno redkih orodij, s pomočjo katerih lahko v grafičnem načinu obvladujemo pravila, zapisana v obliki SWRL, je SWRL editor.18 Na voljo je kot vključek za Protégé19 in nam omogoča preprosto obvladovanje pravil v okviru ontologije OWL. Koncepte, lastnosti in primerke ontologije lahko intuitivno vključujemo v pravila, ki jih ustvarjamo ali urejamo, prav tako pa lahko vse dele ustrezno opišemo. V SWRL editorju je prisotno tudi osnovno sintaktično in semantično preverjanje, vendar moramo za integriteto pravil skrbeti sami, saj nam sistem ne more preprečiti pisanja nesmiselnih pravil. Pravila so na koncu shranjena v obliki baze znanja OWL/RDF, tako da je mogoča uporaba teh pravil in spremljajoče ontologije tudi v drugih orodjih. Za večjo razširljivost je na voljo programski vmesnik, s pomočjo katerega lahko iz programskega jezika Java dostopamo do baze znanja in shranjenih pravil. Največja negativna lastnost je, da trenutno ni sistema za izvajanje teh pravil, ampak je na voljo zgolj preprost mehanizem za 18 http://protege.stanford.edu/plugins/owl/swrl 19 http://protege.stanford.edu Lavbič, Bajec, Krisper 254 sklepanje, ki deluje na podlagi konceptov OWL in medsebojnih relacij, ne pa pravil, zapisanih v obliki SWRL. Vendar pa lahko pravila vseeno uporabimo s pomočjo pristopa, ki smo ga omenili v razdelku 2.2. 4.2 SweetRules Zanimiv pristop je rešitev SweetRules,20 ki jo avtorji označujejo kot prvo odprtokodno platformo za poslovna pravila na semantičnem spletu. Paket SweetRules prinaša številne uporabne lastnosti: • pretvorba med različnimi heterogenimi sistemi za izvajanje pravil (forward in backward chaining), • sklepanje s povezavo z različnimi obstoječimi sistemi, • obvladovanje in testiranje baze pravil. S pomočjo SweetRules lahko obvladujemo različne tehnologije na področju pravil in semantičnega spleta, kot so RuleML, Jess, IBM CommonRules, Knowledge Interchange Format (KIF), OWL, Process Handbook, Smodels, Jena-2, SWRL itd. 5 Sklep Z razvojem semantičnega spleta se je razširila tudi uporaba ontologij kot formalizma za opis znanja in podatkov. Le-te so predstavljene v takšni obliki, da jih lahko souporabljamo na svetovnem spletu. Širša uporaba jezika OWL za predstavitev znanja na semantičnem spletu prinaša nove možnosti za razvoj zahtevnejših aplikacij na različnih problemskih področjih. Vendar je koristnost ontologij omejena z mehanizmi procesiranja, ki so integrirani v takšno obliko predstavitve. Ravno to se veliko odvija na področju formalizacije logičnega sloja ontologij. Jezik za predstavitev pravil na semantičnem spletu (SWRL) je pomemben korak v tej smeri in temelji na predhodnih raziskavah RuleML in ORL. Navsezadnje bomo šele z razpoložljivostjo standardiziranega jezika za zapis pravil lahko učinkovito uporabljali ontologije in pravila pri razvoju inovativnih aplikacij, ki uporabljajo semantični splet. Za uspešen razvoj in uporabo teh tehnologij je ključnega pomena razumevanje zmožnosti in medsebojnega delovanja pravil in ontologij. 6 Literatura [1] Daconta, M.C., L.J. Obrst, and K.T. Smith, The Semantic Web: A Guide to the Future of XML, Web Services, and Knowledge Management. 2003, Indianapolis, USA: John Wiley & Sons. 20 SWEET = Semantic WEb Enabling Tools, http://sweetrules.projects.semwebcentral.org [2] Grosof, B. and M. Dean, Semantic Web Rules with Ontologies, and their E-Business Applications, in 3rd International Semantic Web Conference (ISWC2004). 2004: Hiroshima, Japan. [3] Halpin, H. Rules: Enabling data integration using Semantic Web. 2005 [citirano 5.11.2006]; Dostopno na: http://www.w3.org/2004/12/rules- ws/paper/77/. [4] Hatala, M., R. Wakkary, and L. Kalantari, Rules and ontologies in support of real-time ubiquitous application. Journal of Web Semantics, 2005. 3(1): p. 5-22. [5] Horrocks, I. and P.F. Patel-Schneider, A Proposal for an OWL Rules Language, in The 13th International World Wide Web Conference. 2004: New York. [6] Horrocks, I., et al., OWL rules: A proposal and prototype implementation. Journal of Web Semantics, 2005. 3(1): p. 23-40. [7] Kendall, G.C. A Web of Rules. 2003 [citirano 5.11.2006]; Dostopno na: http://www.xml.com/pub/a/2003/10/23/iswc.html. [8] Taveter, K. and G. Wagner, Agent-Oriented Enterprise Modeling Based on Business Rules, in International conference on Conceptual Modeling (ER2001). 2001: Yokohama, Japan. Dejan Lavbič je leta 2004 diplomiral iz računalništva in informatike na Univerzi v Ljubljani, Fakulteta za računalništvo in informatiko, kjer je trenutno zaposlen kot mladi raziskovalec. Na raziskovalnem področju se ukvarja z inteligentnimi agenti, večagentnimi sistemi, ontologijami, odkrivanjem zakonitosti v podatkih in razvojem mobilnih aplikacij. Marko Bajec je docent na Fakulteti za računalništvo in informatiko Univerze v Ljubljani. Diplomiral je iz računalništva leta 1996. Isto leto se je vpisal na podiplomski študij računalništva. Magistriral je leta 1998, doktoriral pa leta 2001. V okviru Katedre za informatiko se ukvarja z razvojnimi tehnologijami in razvojem ter prenovitvijo informacijskih sistemov. Marko Bajec je član društva Slovenska informatika, združenja AIS (Association for Information Systems) in član programskega odbora posvetovanja Dnevi slovenske informatike. Marjan Krisper je docent na Fakulteti za računalništvo in informatiko Univerze v Ljubljani in predstojnik katedre za informatiko. Vodi številne projekte razvoja informacijskih sistemov, elektronskega poslovanja in metodologij razvoja informacijskih sistemov v največjih sistemih v gospodarstvu, na državni upravi in javnem sektorju. Je ustanovni član mednarodnega združenja za informacijske sisteme AIS (Association for Information Systems), član izvršnega odbora Slovenskega društva informatika in član Slovenskega društva za umetno inteligenco.