+ All Categories
Home > Documents > P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA...

P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA...

Date post: 09-Feb-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
192
INFORMACINĖS TECHNOLOGIJOS 15-osios tarpuniversitetinės magistrantų ir doktorantų konferencijos „Informacinė visuomenė ir universitetinės studijos“ (IVUS 2010) medžiaga 2010 m. gegužės 13 d., Kaunas, Lietuva PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATIC Proceedings of the 15th Master and PhD conference “Information Society and University studies” (IVUS 2010) 13th May 2010, Kaunas, Lithuania Vytauto Didžiojo universitetas Kaunas, 2011 15 ISSN 2029-249X ISSN 2029-4824 (elektroninis leidinys)
Transcript
Page 1: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

INFORMACINĖS TECHNOLOGIJOS

15-osios tarpuniversitetinės magistrantų ir doktorantų konferencijos „Informacinė visuomenė ir universitetinės studijos“ (IVUS 2010) medžiaga

2010 m. gegužės 13 d., Kaunas, Lietuva

PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON

INFORMATIC

Proceedings of the 15th Master and PhD conference “Information Society and University studies” (IVUS 2010)

13th May 2010, Kaunas, Lithuania

Vytauto Didžiojo universitetas

Kaunas, 2011

15

ISSN 2029-249X

ISSN 2029-4824 (elektroninis leidinys)

Page 2: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

Program committee / Programų komitetas:

B. Balvočius, Vytautas Magnus University, Lithuania

G. Budnikas, Kaunas University of Technology, Lithuania

V. Daudaravičius, Vytautas Magnus University, Lithuania

V. Fomin, Vytautas Magnus University, Lithuania

J. Kiršienė, Vytautas Magnus University, Faculty of Law, Lithuania

D. Krikščiūnienė, Vilnius University, Kaunas Faculty of Humanities, Lithuania

L. Leišytė, Twente University, The Center for Higher Education Policy Studies, Netherlands

A. O. Levashkina, Niznii Tagil department of Ural State Technical University, Russia

A. Lopata, Vilnius University, Kaunas Faculty of Humanities, Lithuania

K. L. Man, Xi’an Jiaotong-Liverpool University, China

V. Rudžionis, Vilnius University, Kaunas Faculty of Humanities, Lithuania

J. Ruseckas, Vilnius University, Institute of Theoretical Physics and Astronomy, Lithuania

A. Saudargienė, Vytautas Magnus University, Lithuania

K. Šidlauskas, Vytautas Magnus University, Lithuania

D. Šilingas, No Magic Europe, Lithuania

V. Uzdanavičiūtė, Kaunas University of Technology, Lithuania

D. Vitkutė-Adžgauskienė, Vytautas Magnus University, Lithuania

I. S. Zapreev, ASML, The Netherlands

I. Žliobaitė, Vilnius University, Lithuania

Steering committee / Organizatoriai:

Tomas Krilavičius (chair / pirmininkas), Vytautas Magnus University, Lithuania

Sigita Pečiulytė, Vytautas Magnus University, Lithuania

Andrius Davidsonas, Vytautas Magnus University, Lithuania

Dainora Kuliešienė, Vytautas Magnus University, Lithuania

Aušra Vidugirienė, Vytautas Magnus University, Lithuania

Proceedings editor / Leidinio redaktorius

Tomas Krilavičius, Vytautas Magnus University, Lithuania

Lithuanian language editor / Lietuvių kalbos redaktorė

Renata Endzelytė

© Vytauto Didžiojo universitetas, 2011

© Kauno Technologijos universitetas, 2011

© Vilniaus universitetas, 2011

Rėmėjai:

D-Link

Kauno Aukštųjų ir Informacinių Technologijų parkas

Lietuvos Energetikos institutas

technologijos.lt

elektronika.lt

Page 3: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

3

TURINYS / CONTENS

M. Ambraziūnas, A. Lopata. VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS . . . . . . . . . . . . . . . . . . . . . . 5

A. Bevainytė, L. Būtėnas. AUTOMATINIS ONTOLOGINIO TEKSTŲ KLASIFIKATORIAUS ATSINAUJINIMO MODELIS . . . . . . . 11

A. Bukis, A. Lipnickas. SYSTEM DESIGN FOR HUMAN GESTURE RECOGNITION . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

V. Bulkevičiūtė, S. Girdzijauskas. LISABONOS STRATEGIJA: INOVACIJOS, TIESIOGINĖS INVESTICIJOS IR RINKOS PLĖTRA. . . . 21

G. Buzius, P. Danėnas, G. Garšva. CREDIT RISK EVALUATION USING SVM AND BAYESIAN CLASSIFIERS . . . . . . . . . . . . . 27

V. Darulis, T. Skersys. VEIKLOS TAISYKLIŲ TAIKYMAS KURIANT INTERNETINES INFORMACINES SISTEMAS . . . . . . . . . 33

A. Fedurtsya, A. Deveikis. NEUTRONŲ IR PROTONŲ PASISKIRSTYMO ATOMO BRANDUOLIO SLUOKSNIUOSE SKAIČIAVIMAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

M. Golcas, L. Nemuraitė. ERP IR KITŲ ĮMONĖJE VEIKIANČIŲ INFORMACINIŲ SISTEMŲ INTEGRAVIMAS . . . . . . . . . . . . 41

M. Gvardinskas. POŽYMIŲ KLASTERIZAVIMAS KATEGORIZUOJANT TEKSTUS . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

E. Jociūtė, S. Girdzijauskas. EKONOMINĖ LOGISTINĖ ANALIZĖ IR JOS PRITAIKYMAS ANALIZUOJANT EUROPOS SĄJUNGOS LISABONOS STRATEGIJĄ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

T. Karlonas, L. Jankauskaitė. GRAFINĖS VARTOTOJO SĄSAJOS GENERAVIMAS IŠ UML DIAGRAMŲ . . . . . . . . . . . . . . . . 57

J. Karpovič, L. Nemuraitė. ANALYSIS OF POSSIBILITIES FOR REPRESENTING SBVR BUSINESS VOCABULARIES IN WEB ONTOLOGY LANGUAGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

N. Klovienė. POISEUILLE TYPE SOLUTION OF THE SECOND GRADE FLUID FLOW IN AN INFINITE CHANNEL . . . . . . . . . 69

I. Kungytė, L. Nemuraitė. BENDRINIŲ DUOMENŲ ATSKYRIMO ŠABLONAS IR JO TAIKYMAS UAB „GNT LIETUVA“ ETL PROCESUOSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

A. Leikus. STATINIŲ PROJEKTŲ VALDYMO INFORMACINĖ SISTEMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

V. Makaršinaitė, R. Žiūrienė. VIRTUALAUS GIDO KŪRIMO TECHNOLOGIJŲ TYRIMAS . . . . . . . . . . . . . . . . . . . . . . . . 85

G. Mažeika, A. Lipnickas, K. Rimkus. ASINCHRONINĖS PAVAROS STENDO CHARAKTERISTIKŲ GAVIMO AUTOMATIZAVIMAS . 91

T. Neverdauskas, J. Prelgauskas. SYMEX. SYMBOLIC EXECUTION ENGINE FOR .NET PLATFORM . . . . . . . . . . . . . . . . . . 97

P. Paišukovas, A. Lipnickas. ROBOTO PROGRAMAVIMAS ŽAISTI FUTBOLĄ NAUDOJANT SFERINĘ KAMERĄ . . . . . . . . . 101

G. Repečka. HIERARCHINIŲ DUOMENŲ VALDYMO OPTIMIZAVIMAS RELIACINĖJE DUOMENŲ BAZIŲ VALDYMO SISTEMOJE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

K. Smilgytė, J. Nenortaitė. DIRBTINIAIS NEURONINIAIS TINKLAIS PAREMTAS TESTAVIMO TIPO PASIRINKIMO METODAS . 111

J. Stankutė. GAMYBINĖS ĮMONĖS PRODUKCIJOS SAVIKAINOS MODELIAVIMAS . . . . . . . . . . . . . . . . . . . . . . . . . 117

A. Stukas. TECHNOLOGICAL STATUS OF SCHOLARLY COMMUNICATION. THE ROLE OF NATURAL LANGUAGE PROCESSING AND INTERNET IN SCIENTIFIC PUBLISHING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

O. Šapuckaitė. KOMPILIAVIMO PROCESO VIZUALIZAVIMAS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

E. Šinkevičius, L. Tutkutė. SBVR METAMODELIO SUDARYMAS IR PANAUDOJIMAS VEIKLOS ŽODYNŲ TRANSFORMACIJOMS Į UML TAIKANT ATLAS TRANSFORMAVIMO KALBĄ . . . . . . . . . . . . . . . . . . . . . . . 139

A. Šukys, L. Nemuraitė. SEMANTINIŲ UŽKLAUSŲ VYKDYMAS SAUGANT ONTOLOGIJĄ RELIACINĖJE DUOMENŲ BAZĖJE . 145

P. Tamošiūnas. VAIZDO KONFERENCIJŲ INTEGRACIJA VIRTUALIOJE MOKYMOSI APLINKOJE MOODLE – LIEDM NUOTOLINIO MOKYMOSI PLATFORMOS ALTERNATYVA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153

A. Tulušienė, L. Nemuraitė. VEIKLOS TAISYKLIŲ ATSKYRIMAS NUO VEIKLOS PROCESŲ IR REALIZAVIMAS SPRENDIMŲ LENTELĖMIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

L. Tutkutė, E. Šinkevičius. VEIKLOS PROCESŲ MODELIAVIMO PRAPLĖTIMAS VEIKLOS TAISYKLĖMIS . . . . . . . . . . . . 163

V. Uzdanavičiūtė, R. Butleris. ORACLE DBVS GALIMYBĖS ONTOLOGIJOMIS GRINDŽIAMO DUOMENŲ INTEGRAVIMO PROCESE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169

Š. Valaškevičius, T. Krilavičius. SIMULATION TOOL FOR HYBRID PROCESS ALGEBRAS . . . . . . . . . . . . . . . . . . . . . . 175

I. Vinogradova. INFLUENCE OF VIRTUAL LEARNING ENVIRONMENT TOOLS ON EDUCATION EFFICIENCY CONSIDERING TECHNOLOGICAL QUALITY CRITERIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181

N. Zujytė, S. Girdzijauskas. ŪKIO NUOSMUKIŲ EKONOMINĖS PRIELAIDOS (LOGISTINIS ASPEKTAS) . . . . . . . . . . . . . . 185

Page 4: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę
Page 5: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

5

Santrauka. Modeliais grindžiama architektūra – tai OMG koncepcija, kuri pateikia modelių panaudojimo Informacijos sistemų (IS) inžinerijoje gaires. Minėtosios koncepcijos papil-dymas veiklos žinių posisteme, kurios paskirtis sumažinti – IT projektų nesėkmės tikimybę, aprašomas šiame straipsnyje. Veiklos žinių posistemė sudaryta taikant valdymo teorijos bei veiklos modeliavimo standartų esminius principus.

Reikšminiai žodžiai: veiklos žiniomis grindžiama IS inžinerija, veiklos modelis, veiklos meta-modelis, modeliais grindžiama architektūra (Model Driven Architecture).

I. ĮVADAS

Remiantis nagrinėtais nesėmkingų IT projektų analizės tyrimais, dažniausiai pasitaikančios nesėkmių priežastys (68 % [2]) – nenuosekli ir neišsami vartotojo reikalavimų specifikacija bei nepakankama probleminės srities analizė. Nors IS inžinerijos metodai periodiškai vystosi bei tobu-lėja, iš esmės jie grindžiami empiriniais principais, t. y. pro-jekto modelių saugyklos turinys empiriškai pildomas pro-bleminės srities žiniomis. Šių žinių gavimo procesas labai priklauso nuo sistemų analitiko bei kliento kompetencijos ir patirties, taigi gautų žinių kokybės gali nepakakti projek-tui sėkmingai vystyti.

Sistemų analitikas pagrindinį darbą atlieka probleminės srities žinių gavimo procese. Savo ruožtu tik retais atve-jais naudojami formalizuoti metodai bei įrankiai, siekiant užtikrinti didesnę žinių surinkimo proceso kokybę ir pati-kimumą.

Tai reiškia, kad žinios, kurios saugomos CASE siste-mos saugykloje, netikrinamos formalių kriterijų atžvilgiu, todėl galimybė nustatyti (ir ištaisyti) klaidingai specifikuo-tas arba surinkti trūkstamas dalykinės srities žinias tampa itin sudėtinga užduotimi.

2001 m. OMG (Object Management Group) sukūrė Modeliais grindžiamos architektūros (toliau MGA) kon-cepciją bei šios koncepcijos taikymo rekomendacijas informacinių sistemų kūrimo procesui. Pagrindinis MGA

principas tas, jog MGA atskiria sistemos funkcinių reika-lavimų bei architektūros modeliavimą nuo techninių rea-lizavimo aspektų. Pažymėtina, kad MGA – išskirtas IS projektavimo etapas ir šio etapo modelių (NPNP – nuo platformos nepriklausomas modelis (angl. PIM), NPPM – nuo platformos priklausomas modelis (angl. PSM)) sudary-mas bei jų tarpusavio transformacijos. Savo ruožtu veiklos modeliavimas ir vartotojo reikalavimų inžinerijos etapai nėra ganėtinai nuodugniai reglamentuoti. Šį etapą MGA atspindi NSNM – nuo skaičiavimų nepriklausomas mode-lis (skirtingoje literatūroje gali būti vadinamas Pirminiu (Inclusive) modeliu). Kadangi MGA modeliai yra glaudžiai susiję, vieno modelio (etapo) klaidos daro didelę įtaką kitiems etapams. Siekiant sustiprinti veiklos modeliavimo bei vartotojo reikalavimų specifikavimo etapų patikimumą, MGA tikslinga papildyti žiniomis grindžiamos IS inžineri-jos elementais [5], [6], [7].

Straipsnyje aprašomas siūlymas intelektualizuoti MGA modelių sudarymo procesą, sumažinus jų priklausomybę nuo empiriškai specifikuotų dalykinės srities žinių. Pagrindinė tyrimo idėjos koncepcija – į MGA modelių sudarymo pro-cesą įterpti veiklos žinių posistemę. Ši posistemė užtikrintų MGA modelių verifikavimą formalių valdymo teorijos [8] kriterijų atžvilgiu. Tai sumažintų projektų įgyvendinimo nesėkmės riziką, kurią sąlygoja nenuoseklūs vartotojo reika-lavimų bei probleminės srities analizės procesai.

II. SUSIJĘ DARBAI

Atlikus veiklos modeliavimo standartų (CEN EN 12204 [5], CEN EN 40003 (CIMOSA) [6], UEML [7]) analizę, nustatyti šie minėtų standartų trūkumai:

• Veiklos modelių turinys nėra tikrinamas formalių kriterijų atžvilgiu. Nors veiklos modeliai kuriami taikant įvairias notacijas (pvz., darbų sekų diagra-mos, duomenų sekų diagramos etc.), jų sudėtis nėra tikrinama semantiniu aspektu, t. y. nėra analizuo-jami ryšiai tarp konkrečių procesų, funkcijų, akto-rių, sekų etc.

Veiklos žinių posisteme grindžiamas MDA metodas

Martas AmbraziūnasValdoware Inc.

Kaunas, LithuaniaEl. paštas: [email protected]

Audrius LopataKaunas University of Technology, Information Systems

Department Vilnius University, Kaunas Faculty of Humanities

Kaunas, LithuaniaEl. paštas: [email protected]

Page 6: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

6

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

• Tradiciškai probleminės srities modeliavimą ir var-totojo reikalavimų specifikavimą atlieka sistemų analitikas bei vartotojas, taigi iš esmės tai priklauso nuo šių asmenų gebėjimų ir patirties. Taip gautas rezultatas yra empirinis ir nepatikimas formalių kriterijų atžvilgiu.

Siekiant išspręsti apibūdintus trūkumus, Kauno Technologijos universitete Informacinių sistemų katedroje sukurtas veiklos metamodelis (VMM) [9]. Vidinė jo struk-tūra grindžiama valdymo teorijos [8] principais bei minė-tųjų standartų elementais. VMM klasių modelis pavaizduo-tas 1 pav.

1 PAV. VMM KLASIŲ MODELIS

Esminiai VMM elementai – procesas ir funkcija. Procesas – tam tikra veiksmų seka, kuri vykdoma sie-kiant gauti konkretų materialų rezultatą (pvz., produktą). Procesas susijęs su materialiu srautu, t. y. proceso įeigos ir išeigos srautu. Procesą inicijuoja įvykis (įvykiai). Funkcija – darbų sekos elementas, kuris kontroliuoja procesą. Tai sudėtinis elementas, galintis turėti hierarchinę struktūrą. Kiekvienas procesas privalo turėti bent vieną valdan-čiąją funkciją, t. y. nekontroliuojamų procesų negali būti. Procesas teikia funkcijai valdyti reikalingus parametrus. Funkcijos informacinės veiklos (IP, interpretavimas, rea-lizavimas) informacija keičiasi per informacinius srautus. Interpretavimas yra taisyklių aibė, kurių paskirtis – trans-formuoti proceso perduodamus parametrus į funkcijos vei-kloms priimtiną formatą. IP yra funkcijos elementas, kuris atlieka informacijos apdorojimo bei sprendimų priėmimo operacijas. Informacinės veiklos organizuojamos pagal verslo taisykles. Funkcijos per savo veiklą privalo įgyven-dinti vieną ar kelis organizacijos tikslus. O procesus ir funk-cijas atlieka aktoriai (specialistai, programinė bei techninė įranga).

Dabartiniu metu keli autoriai [9], [10] yra aprašę meto-dus, kuriais iš VMM siekiama generuoti panaudos atvejų (Use Case) [10] bei klasių (Class) [16] UML modelius. Šiais darbais siekiama sumažinti IS inžinerijos priklau-somybę nuo empirinių procesų. Tačiau minėtieji metodai nevisiškai aprėpia MGA procesus, t. y. jie apima tik stati-nius MGA etapų aspektus.

III. ŽINIOMIS GRINDŽIAMAS MGA METODAS

Didžioji dalis MGA pagrindu sukurtų IS inžineri-jos metodų [1], kaip ir tradicinės IS inžinerijos metodai,

remiasi empiriškai surinktomis probleminės srities žinio-mis. O tai neigiamai veikia vartotojo reikalavimų verifika-vimą tikrųjų vartotojo reikalavimų atžvilgiu, t. y. ne visada tai, ko vartotojas prašo, yra tai, ko iš tiesų jam reikia. Gali egzistuoti aplinkybės, kai vartotojo reikalavimai neatitinka formalių verslo kriterijų ir reguliavimų. Šiuos neatitiki-mus išaiškinus vėlesniuose IS kūrimo etapuose, visam IS kūrimo procesui daromas itin neigiamas poveikis. Minėtos problemos gali būti išsprendžiamos panaudojus žiniomis grindžiamą posistemę (su VMM, kuris sukurtas remiantis valdymo teorija [8]).

Žiniomis grindžiama posistemė sudaryta iš trijų ele-mentų: veiklos metamodelio, veiklos modelio ir transfor-mavimo algoritmo. VM – struktūros, veiklų, procesų infor-macijos, resursų, žmonių, elgsenos, tikslų, verslo (vyriau-sybės) apribojimų atvaizdavimas [15]. VMM yra formali, metodiškai pagrįsta specifikacija, kuri reguliuoja VM suda-rymą. Modelių kūrimo / generavimo algoritmas atlieka transformacijas tarp MGA modelių (NSNM, NPNM) bei VM.

A. Žiniomis grindžiamos IS inžinerijos principų taiky-mas MGA metoduiRemiantis tyrimu [1], pagrindiniai MGA pagrindu

sukurti IS inžinerijos metodai reikalauja patobulinti šias sri-tis: reikalavimų inžineriją, NSNM konstravimą bei sistemos modelių verifikavimą probleminės srities atžvilgiu. Šios problemos gali būti išspręstos papildžius MGA koncepciją žiniomis, grindžiamos IS inžinerijos principais, kurių fizinė realizacija – veiklos žinių posistemė. Ši posistemė užti-krintų MGA modelių (NSNM, NPNM) patikimumą. Tai pasiekiama į VM transformavus NSNM (pirminis metodas) arba NPNM (atvirkštinis metodas). Neįmanoma tiesiogiai tikrinti MGA modelių, nes jų architektūra bei elementai yra nesuderinami su VMM sudėties elementais. VM tikrinamas VMM atžvilgiu, t. y. identifikuojami informacinės sistemos trūkumai, kuriuos galima pašalinti MGA modeliuose.

VM konstravimas reikalauja formalios NSNM struktū-ros. Nors egzistuoja nemažai technikų [3], kurias galima būti panaudoti kuriant NSNM, dauguma jų yra per mažai formalios – tai turi neigiamos įtakos VM struktūrai bei jo elementams. Naudojant modifikuotų darbų sekų modelius [10] ir struktūruotas anketas (tam tikrais atvejais laisvos notacijos diagramas) galima išvengti tikimybės sukurti pakankamo formalumo lygio NSMN modelius. Koncepcinė MGA architektūros, praplėstos žinių posisteme, schema pavaizduota 2 pav.

Aibė modifikuotų darbų sekų modelių [11] naudojama pagrindiniams NSNM elementams specifikuoti. Sukūrus NSNM, pradedamas iteracinis verifikavimo (VMM atžvil-giu) procesas. Jis kartojamas tol, kol identifikuojami visi trūkstami arba ne visiškai specifikuoti NSNM elementai. Šio proceso rezultatas – VM, atitinkantis visus VMM krite-rijus. VM realizuojamas kaip objektinė arba reliacinė duo-menų bazė.

Kitas žingsnis – VM transformacija į NPNM. NPNM sudarytas iš šių UML modelių: klasių (Class), panaudos

Page 7: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

7

MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS

atvejų (Use Case) ir sekų (Sequence). Klasių modelis atspindi statinę sistemos architektūrą, parodo sistemos klases, atributus, metodus, sąsajas bei ryšius tarp išvar-dytų elementų. Panaudos atvejų modelis parodo sistemos funkcionalumą. Pagrindiniai elementai: aktorius, jo tikslas, atvaizduotas kaip panaudos atvejis, bei ryšiai tarp skirtingų panaudos atvejų. Sekų modelis specifikuoja tai, kaip objek-tai bendrauja tarpusavyje. Pagrindiniai elementai – seka ir žinutė. Remiantis IBM [17], minėti trys diagramų tipai yra esminiai NPNM modeliai.

Iš VM sugeneruotas NPNM atitinka XMI standartą, todėl MGA skirti įrankiai gali atlikti tolesnes modelių transformacijas, t. y. iš NPNM generuoti NPPM. NPPM yra modelis, turintis konkrečiai platformai būdingus elementus bei atributus. Jis sujungia NPNM specifikacijas ir duomenų struktūras su konkrečios platformos specifika. NPPM suda-rytas iš to paties tipo UML modelių, kaip ir NPNM. Reikia pabrėžti, kad NPNM generavimo procesas gali būti atlieka-mas atvirkštine tvarka, t. y. iš NPPM, kuris suderinamas su XMI standartu, taikant atvirkštinės IS inžinerijos principus gali būti sukuriamas NPNM. Taip egzistuojanti sistema (o ne naujai kuriama) gali būti patikrinta VMM atžvilgiu sie-kiant ją atnaujinti arba padidinti jos efektyvumą. NPPM yra duomenų šaltinis programiniam kodui generuoti. Teoriškai visi trys (vartotojo sąsajos, verslo logikos bei duomenų) PĮ architektūros sluoksniai gali būti sugeneruoti automatiškai MGA proceso pabaigoje.

B. Pagrindiniai žiniomis grindžiamo MGA metodo žingsniaiPradinis IS inžinerijos etapas pradedamas sukūrus

NSNM. Šį žingsnį atlieka sistemos analitikas, naudodamas įvairias probleminės srities žinių rinkimo technikas [3], [10]. Kitas žingsnis – iš NSNM sukurti VM. Šį procesą

atlieka sistemų analitikas iš dalies panaudodamas veiklos žinių posistemės funkcionalumą. Sukurtas VM tikrinamas VMM taisyklių atžvilgiu. Jeigu VM atitinka VMM kriteri-jus, pradedamas NPNM kūrimo procesas. Šį žingsnį atlieka veiklos žiniomis grindžiama posistemė. Jeigu verifikavimo procesas baigiasi nesėkme, t. y. VM yra nesuderinamas su VMM apribojimais, sistemų analitikas išanalizuoja verifikavimo ataskaitą ir peržiūri bei pakeičia NSNM. Papildžius NSNM, visiškai arba iš dalies pergeneruojamas VM ir verifikavimo procesas atliekamas iš naujo. Ciklas NSNM>VM>atnaujintas NSNM>VM gali turėti keletą ite-racijų. Galiausiai, kai VM atitinka VMM apibrėžtus apri-bojimus, gali būti atliekami kiti MGA etapai (VM>NPNM, NPNM>NPPM bei NPPM>programinis Kodas).

Atvirkštinė inžinerija prasideda programinį kodą trans-formavus į NPPM. Šį procesą atlieką MGA transforma-vimo įrankiai. Kitas etapas NPPM>NPNM transformacija. Šiame žingsnyje iš NPPM pašalinami konkrečiai platfor-mai būdingi elementai bei atributai. Žiniomis grindžiama posistemė atlieka NPNM>VM transformaciją. Galutinis atvirkštinės inžinerijos rezultatas – VM, kuris atitinka egzistuojančią IS. Šioje stadijoje VM gali būti panaudotas dviem tikslams įgyvendinti: veikiančios sistemos specifi-kavimui bei aprašymui iš valdymo teorijos požiūrio arba minėtosios informacinės sistemos atnaujinimui / patobu-linimui. Antruoju atveju pirminės IS inžinerijos procesas yra pradedamasis. Aprašytame IS inžinerijos metode veikia šie veikėjai: sistemos analitikas, veiklos žinių posistemė bei MGA modelių transformavimo įrankiai. Visas proce-sas nuodugniai atvaizduotas 3 pav. Atvirkštinės inžinerijos etapai yra 1–3, pirminės 4–10. Etapų aprašymas pateiktas 1 lentelėje.

3 PAV. PAGRINDINIAI ŽINIOMIS GRINDŽIAMO MGA METODO ŽINGSNIAI

2 PAV. KONCEPCINĖ MGA ARCHITEKTŪROS, PRAPLĖSTOS ŽINIŲ POSISTEME, SCHEMA

Page 8: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

8

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

1 LENTELĖ. NUODUGNUS ŽINIOMIS GRINDŽIAMO MGA METODO ŽINGSNIŲ APRAŠYMAS

ŽINGSNIS VEIKĖJAS ŽINGSNIO APRAŠYMAS REZULTATAS1. Transf. išprograminio kodo į NPPM

Transform. įran-kis

MGA įrankis atlieka programinio kodo (bei kitų artefaktų, pvz., vyk-domųjų failų (*.exe), bibliotekų (*.dll) etc. transformacijos į NPPM

procesąNPPM

2. Transf. iš NPPM į NPNM

Transform. įran-kis

MGA įrankis atlieka NPPM transformacijos į NPNM procesą. Pro-cesas atliekamas pašalinus arba modifikavus (į aukštesnį abstrakcijos lygmenį) nuo platformos priklausančio modelio elementus

NPNM

3. Transf. iš NPNM į VM

Žiniomis grin-džiama posistemė

Žiniomis grindžiamos posistemės transformavimo algoritmas NPNM konvertuoja į VM

VM

4. VM verifikavi-mas

VMM taisyklių atžvilgiu

Žiniomis grin-džiama posistemė

VM tikrinamas VMM taisyklių atžvilgiu. Trūkstami arba klaidingai specifikuoti VM elementai identifikuojami šiame etape

Verifikavimo ataskaita

5. Verifikav. ataskai-tos analizė

Sistemos anali-tikas

Sistemų analitikas išanalizuoja Verifikavimo ataskaitą ir nusprendžia, kokie tolesni veiksmai turi būti atlikti siekiant išspręsti išaiškėjusius trūkumus. Jeigu Verifikavimo ataskaitoje VM trūkumų nenustatoma, vykdomi kiti MGA etapai.

Trūkstamų / klaidingai speci-

fikuotų elementų analizė bei

tolesnių veiksmų nustatymas

6. NSNM sudary-masprobleminei sričiai

Sistemos anali-tikas

Šiame procese atliekamas probleminės srities žinių surinkimas ir NSNM sukūrimas. Šis procesas yra empiriškas, todėl jo rezultato kokybė iš esmės priklausoma nuo sistemų analitiko patirties ir kva-lifikacijos

NSNP

7. VM sudarymas iš NSNM

Sistemos anali-tikas

NSNM transfuojamas į VM naudojant pusiau automatinį būdą (siste-mų analitikas naudoja Žinių posistemės funkcijas)

VM

8. Transf.iš VM į NPNM‘

Žiniomis grin-džiama posistemė

Iš VM sukuriamas su XMI standartu suderinamas NPNM. Šis NPNM yra teisingas Valdymo teorijos atžvilgiu, kadangi sukurtas iš verifikuoto (VMM atžvilgiu) VM

NPNM‘

9. Transf. iš NPNM‘ į NPPM‘

Transform. įran-kis

MGA įrankis atlieka NPNM‘ transformacijos į NPPM‘ procesą. Procesas atliekamas papildant nuo platformos nepriklausomą modelį platformai būdingais specifiniais elementais ir atributais

NPPM

10. Transf. iš NPPM‘ į Programi-nį Kodą‘

Transform. įran-kis

MGA įrankis atlieka NPPM‘ trasformaciją į Programinį kodą‘ bei kitus artefaktus (vykdomuosius failus (*.exe), bibliotekas (*.dll.)

Programinis kodas‘

LITERATŪRA

[1] M. Asadi, R Ramsin. “MDA-based Methodologies: An Analytic Survey“. Proceedings of the 4th European conference on Model Driven Architecture: Foundations and Applications, p. 419–431, Berlin (2008).

[2] K. Ellis. The Impact of Business Requirements on the Success of Technology Projects. Benchmark, IAG Consulting (2008).

[3] S. W. Ambler. “Agile Modeling“. Prieiga per internetą: http://www.agilemodeling.com/essays/inclusiveModels.htm.

[4] OMG: MDA Guide Version 1.0.1, www.omg.com.

[5] ENV 12 204. Advanced Manufacturing Technology Systems Architecture – Constructs for Enterprise Modelling.CEN TC310/WG1.

[6] ENV 40 003. Computer Integrated Manufacturing Systems Architecture – Framework for Enterprise Modelling, CEN/CENELEC (1990).

[7] F. Vernadat. “UEML: Towards a Unified Enterprise modelling language“. Proceedings of International Conference on Industrial Systems Design, Analysis and Management (MOSIM’01), Troyes, France, 2001-04-25/27. Prieiga per internetą: http://www.univ-troyes.fr/mosim01.

[8] M. M. Gupta, N. K. Sinha. Intelligent Control Systems: Theory and Applications. The Institute of Electrical and Electronic Engineers Inc., New York. 1996.

IV. IŠVADOS

Šiame straipsnyje nagrinėjama veiklos žiniomis grin-džiama posistemė, kuri išplečia tradicinę MGA koncepciją žinių inžinerijos principais. Ši posistemė užtikrina empiriš-kai surinktų probleminės srities žinių patikrinimą formalių kriterijų atžvilgiu. Posistemės elementai: veiklos metamo-delis, veiklos modelis ir transformavimo algoritmas.

Veiklos metamodelis naudojamas kaip „normalizuota“ žinių architektūra, kontroliuojanti veiklos modelio suda-rymo procesą. Šioje srityje jau atlikta įvairių darbų [12], [13], [14]. VM naudojamas kaip pagrindinis aptarto MGA proceso žinių šaltinis.

MGA išplėtus žinių posisteme, užsakovui būtų užtik-rinta, kad sukurtoji IS tiksliai atitiks jo poreikius ir verslo procesus. Savo ruožtu analitikas gautų galimybę tiksliai nustatyti probleminės srities analizės trūkumus ir netikslu-mas bei efektyviai ir operatyviai ištaisyti įsivėlusias klai-das. Taip projektuotojas būtų užtikrinta, kad žinios, kurių pagrindu kuriama IS architektūra, yra patikrintos ir pati-kimos.

Page 9: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

9

MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS

[9] S. Gudas, A. Lopata, T. Skersys. “Approach to Enterprise Modelling for Information Systems Engineering“. Informatica, 2005, vol. 16, No. 2, Institute of Mathematics and Informatics, Vilnius, p. 175–192.

[10] A. Lopata, S. Gudas. Enterprise model based computerized spe-cification method of user functional requirements – International conference 20th EURO mini conference „Continuous optimiza-tion and Knowledge-based Technologies“ (EuroOpt-2008), May 20-23, 2008, Neringa, Lithuania, p. 456–461.

[11] A. Lopata, S. Gudas. Workflow- Based Acquisition and Specification of Functional Requirements. Proceedings of 15th International Conference on Information and Software Technologies IT2009, Kaunas, Lithuania April 23–24, p. 417–426.

[12] K. Kapocius, R. Butleris. “Repository for business rules based IS requirements“. Informatica, 2006, vol. 17, No. 4, p. 503–518.

[13] D. Silingas, R Butleris. UML-intensive framework for mode-ling software requirements. Information Technologies’ 2008:

proceedings of the 14th International Conference on Information and Software Technologies, IT 2008, Kaunas, Lithuania, April 24–25, 2008 Kaunas University of Technology, 2008, p. 334–342.

[14] S. Gudas, E. Pakalnickas. Enterprise Mangement view based Specification of Buisness Components, Proceedings of 15-th international conference on Information and software technolo-gies, IT’2009, Kaunas, Technologija, 2009, p. 417–426, 2009.

[15] C. T. Leondes, R. H. F. Jackson. Manufacturing and Automation Systems: Techniques and Technologies. Academic Press, 1992, p. 97.

[16] T. Skersys. “Business Knowledge-Based Generation of the System Class Model“. Informatica, vol. 37, No. 2, Institute of Mathe matics and Informatics, Vilnius, 2008, p. 145–153.

[17] A. Lloyd. How to migrate from code-centric to model-cen-tric development using Rational Software Architect. Prieiga per internetą: http://www.ibm.com/developerworks/rational/library/04/r-3247/index.htm.

Page 10: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę
Page 11: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

11

Santrauka. Šiame straipsnyje pristatytas papildytas ontologi-nio dokumentų klasifikatoriaus modelis, turintis automatinio atsinaujinimo funkciją. Atliktais tyrimais gauti ontologinio atnaujinimo modelio efektyvumo įvertinimai pagal: i) ontolo-ginio grafo apmokymo aibės žodžių skaičių; ii) žodžių, paten-kančių į ontologinį grafą, dažnį; iii) papildomo apmokymo dokumentų eiliškumą. Tyrimai parodė, kad 90 % tikslumu klasifikatorius teisingai priskiria kategoriją dokumentui po automatinio ontologijos papildymo, nepriklausomai nuo dokumentų eiliškumo.

Reikšminiai žodžiai: dokumentų klasifikavimas, dokumentų palyginimas, ontologija.

I. ĮVADAS

Didėjant nuolatiniam informacijos kiekiui internete, atsiranda poreikis rasti būdus, kaip tam tikrą informaciją efektyviai atrinkti ar susirasti. Teksto priskyrimas tam tikrai kategorijai – viena iš svarbesnių nagrinėjamų užduočių atrenkant informaciją. Klasifikuojant su klasifikatoriumi, turinčiu ribotą atpažinimo kategorijų skaičių, kiekvie-nas elektroninis dokumentas gali turėti kelias kategorijas, vieną arba netikti nė vienai kategorijai. Straipsnyje pateik-tas ir analizuojamas automatinis ontologinis klasifikatorius, galintis iš kelių kategorijų atpažinti tik vieną, atitinkančią šio klasifikatoriaus ontologiją. Taip pat šis klasifikatorius turi savybę atnaujinti ontologiją pagal tam tikrus kriterijus, remdamasis klasifikuojamų tekstų turiniais (tik atitinkan-čiais klasifikatoriaus ontologiją) [1], [2], [3].

Siūlomas klasifikavimo metodas naudoja ontologiją, kurios viršūnes sudaro dažniausiai pasikartojantys žodžiai arba jų kamienai (abu atvejai toliau straipsnyje vadinami „žodžiais“), o briaunos yra atstumo įverčiai tarp žodžių. Ši matrica sukuriama automatiškai iš pateikto dokumento. Vieno dokumento ontologija lyginama su kita ontologija, sudaryta iš tam tikros kategorijos dokumentų, ir gautas pana-šumo įvertis parodo, ar dokumentas priklauso kategorijai, ar ne [1]. Straipsnyje [1] pateiktas ontologinis dokumentų

klasifikatoriaus modelis. Pagrindinis šio straipsnio tikslas – pateikti automatiškai atsinaujinantį ontologinio klasifikato-riaus modelį ir surasti optimalius jo parametrus: i) žodžio pasikartojimo dažnio slenkstį, kai naujas žodis turi būti įtrauktas į egzistuojančią ontologiją; ii) minimalų pradinės ontologijos dydį. Šie parametrai turi būti tokie, kad klasi-fikatorius kuo mažiau priklausytų nuo dokumentų klasifi-kavimo tvarkos bei ontologinė matrica per greitai nebūtų papildoma naujais žodžiais. Dar vienas šio tyrimo uždavi-nys – atlikti eksperimentus tik su nedideliais dokumentais (iki 3 500 žodžių). Toks žodžių kiekis pasirinktas remiantis prielaida, kad turime vieną dokumentą arba kelis nedide-lius dokumentus ir ieškome jiems panašių pagal prasmę. Taip pat remtasi vidutiniu mokslinio straipsnio dydžiu, kurį sudaro apie 3 000 žodžių [6].

Pagrindinis ontologinio klasifikatoriaus atnaujinimo modelio privalumas – ontologija automatiškai pasipildo naujais žodžiais, todėl ji nepasensta ir pati prisitaiko prie besikeičiančios aplinkos (šiuo atveju – naujų terminų). Pagrindiniai trūkumai: i) ontologija gali smarkiai padidėti, o tai reikalaus daugiau laiko ir resursų lyginant dokumen-tus su didele ontologija; ii) norint gauti labai tikslius doku-mento panašumo įvertinimus, po kiekvieno ontologijos atsinaujinimo reikia iš naujo permokyti klasifikatorių [1], [4], [5].

Ontologija – tai netiesioginis esybių apibūdinimas, kurias (esybes) jungia tam tikri, tik joms būdingi ryšiai [4]. Būdingi ryšiai bendrąja prasme reiškia sujungimo tipą arba „yra“ sinonimą. Šiame straipsnyje pasiūlytu atveju ryšys atspindi dviejų esybių sujungimą ir parodo stiprumą, o ne ryšio tipą. Didesnis svoris reiškia stipresnį ryšį ir sujun-gimą, kuris leidžia spręsti apie panašaus svorio tekstus, kai jų struktūra yra panaši [1].

Šis straipsnis – straipsnio [1] tęsinys. Jame sukurtą svo-rių ontologijos modelį buvo sumanyta automatiškai atnau-jinti. Sukurti papildomi algoritmai, klasifikavimo sistema pritaikyta automatiniam atsinaujinimui. Ontologijos dydis nėra fiksuotas. Ją sudarančių elementų skaičius kinta pagal naujai įtraukiamų žodžių kiekį. Remiantis ankstesniais

Automatinis ontologinio tekstų klasifikatoriaus atsinaujinimo modelis

Asta Bevainytė, Linas BūtėnasKompiuterijos katedra,

Matematikos ir informatikos fakultetasVilniaus universitetas,

Naugarduko g. 24, Vilnius, Lietuva El. paštas: [email protected], [email protected]

Page 12: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

12

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

tyrimais buvo atsisakyta testuoti klasifikatorių su nesusiju-siais su ontologijos kategorija dokumentais, nes tokio tipo dokumentus klasifikatorius visada teisingai atskirdavo kaip netinkamus.

II. ELEKTRONINIŲ DOKUMENTŲ PARENGIMAS IR ONTOLOGINĖS SVORIŲ MATRICOS KONSTRAVIMAS

Šioje dalyje pateikiama ontologinio klasifikatoriaus elektroninių dokumentų palyginimo ir klasifikavimo sis-tema.

A. Elektroninių dokumentų parengimas ir ontologinės svorių matricos konstravimasKiekvieno elektroninio dokumento turinys apdoroja-

mas iki tol, kol gaunamas pavidalas, skirtas palyginti su ontologija ar kuriant pačią ontologinę matricą. Pirmiau-siai apdorojamas elektroninio dokumento turinys: saki-niuose paliekami tik žodžių kamienai (nukertamos žodžių galūnės), pasikartojantys tam tikrą (iš anksto žinomą) skaičių kartų tekste. Nereikšmingi žodžiai (pvz., jungtukai) ir kiti, trumpesni nei 3 simboliai, žodžiai ignoruojami, nes klasifikuojant jie neturi svarbos. Žodžių apdorojimo į kamienus algoritmas gana tiksliai sutvarko būdvardžius ir daiktavardžius, tačiau sunkiau tvarkyti veiksmažodžius, nes jų formos lietuvių kalboje yra sudėtingos. Remiantis tyrimais [1], klasifikavimui didelės neigiamos įtakos neturi, ar žodžių galūnės nukertamos tiksliai, ar ne, todėl šiame straipsnyje į tai nesigilinsime. Atmetus galūnes ieškoma dažniausių žodžių, kurių dažnis yra didesnis už pasirinktą dažnio slekstį ar jam lygus. Dažniausiais žodžių kamienais, kurie per slenkstį patenka į ontologinę matricą, užpildomi ontologinės matricos mazgai. Matricos dydis tampa N2 (N yra dažniausių žodžių, praėjusių slenkstį, skaičius). Toliau skaičiuojami atstumų svoriai tarp raktinių onto-logijos žodžių tokiu principu: tarkim, M

n yra ontologinė

matrica dokumentui Dn (n ∈ N ir N yra visų dokumentų

aibė). O mi,j yra svoris matricoje M

n tarp dviejų kamienų t

i

ir tj dokumente D

n. m

i,j paskaičiuojamas taip [1]:

| |∑∑∀ ∀ −s x

xji

ji, pp=m 1

. (1)

Visiems i < j, kur pi yra kamieno t

i pozicija sakinyje s, o

pjx – kamieno t

j pozicija tame pačiame sakinyje s. Skaičiuo-

jant svorį visiems x (visoms kamienų tj pozicijoms tame

pačiame sakinyje) parodoma, kaip dažnai du žodžiai varto-jami kartu – tai atvaizduoja m

ij skaitinė išraiška. Paskaičia-

vimai remiasi keliomis taisyklėmis: i) ti yra unikalus kamie-

nas per visą dokumentą; ii) pi ≠ p

j; iii) ryšys tarp dviejų

kamienų pozicijų skaičiuojamas tik vieną kartą (remiantis taisykle i < j); iv) ryšiai skaičiuojami tik sakinio viduje, o po to susumuojami visi dviejų kamienų svoriai visuose sakiniuose. Šiame straipsnyje pateiktas algoritmas skiriasi nuo pateiktojo [1], nes įskaičiuojami ir ryšiai, esantys tarp tų pačių kamienų (m

i,i).

Pagrindinis kriterijus ontologijai konstruoti – žodžio kamieno dažnio slenkstis. Jei kamieno dažnis didesnis už slenkstį – jis laikomas svarbiu ir įtraukiamas į ontologiją. Jei parenkamas per mažas slenkstis – į ontologiją patenka daugiau žodžių, kurie iškraipo rezultatus; jei slenkstis per didelis – ontologijoje yra per mažai žodžių ir tuomet sunku spręsti apie klasifikuojamą tekstą. Todėl svarbu nustatyti minimalų teisingą žodžių pasikartojimo dažnį, prie kurio klasifikatorius klys mažiausiai, bei optimalią ontologijai sudaryti skirtą duomenų aibę iš lietuviškų tekstų, kad onto-logija per daug nesiplėstų, neišsikraipytų ir tekstų pada-vimo tvarka turėtų minimalią įtaką.

B. Svorių ontologijos konstravimas kategorijaiTam tikras dokumentų rinkinys gali apibrėžti kelias tam

tikras kategorijas. Norint rasti ieškomos kategorijos doku-mentą, reikia sukurti vieną svorių ontologiją visiems doku-mentams, kurią vadinsime vienos kategorijos ontologija (VKO). Kiekvienam dokumentui naudojame ontologijai sukurti skirtą metodą, kuris apibūdintas 3.1. skyrelyje. Galiausiai visos ontologijos matricos sudedamos į vieną. Kiekvienas elementas ontologinėje matricoje įgyja 3 reikš-mes: svorių dviems kamienams minimumą, maksimumą ir vidurkį. Minimumo ir maksimumo reikšmės naudojamos tada, kai kelių dokumentų kai kurių kamienų porų svoriai yra labai maži – tuomet gaunamas didelis reikšmių skirtu-mas. Elemento vidurkis '

, jim paskaičiuojamas pagal for-mulę [1]:

N

mm n

nji

ji

∑∀=

,',

, (2)

kur n ∈ N. Maksimumas visada yra didesnis už visas reikš-mes m

i,j elementų. Minimumas yra mažesnis elementas,

arba nenustatytas (null), jei egzistuoja tik viena nenulinė reikšmė m

i,j elemente per visas M matricas, nes pirmoji

reikšmė automatiškai tampa maksimumu.

C. Dokumetų klasifikavimasDokumentas D

n klasifikuojamas lyginant jo svorių onto-

logiją Mn su norimos kategorijos ontologija M

k, kur k ∈ Κ,

ο Κ yra visų kategorijų aibė. Kaip rezultatą gauname pana-šumo įvertinimą S

n,k. Palyginimo algoritmas:

( )' ', , , ,

,, '

, ,

* ( , )

100%( ( , ))

i j i j i j i ji j

n ki j i j

m m if m mS

count if m m∀

−= ×

∑.

Funkcijos if ),( ,', jiji mm rezultatai:

• 1, jei ],[ max,

min,, jijiji mmm ∈ ;

• 1, jei ],[ max,,, ji

avgjiji mmm ∈ , kai ( nullm ji =min

, )

arba ( max,

min, jiji mm = ir min

,, jiavg

ji mm < );

• 0, kitais atvejais.

Page 13: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

13

ASTA BEVAINYTĖ, LINAS BŪTĖNAS · AUTOMATINIS ONTOLOGINIO TEKSTŲ KLASIFIKATORIAUS ATSINAUJINIMO MODELIS

Panašumo reikšmė Sn,k

rodo dokumento Dn panašumą

su lyginama kategorija k intervale nuo 0–100 %, kur 100 % reiškia identišką dokumentą. Suskaičiavus S reikšmes mus dominančios vienos temos dokumentų aibės, nustatomas S intervalas (S

min, S

max). Jei naujo dokumento D

m panašumo

įvertis Sm ∈ (S

min, S

max) – D

m laikomas susijusiu dokumentu

su mūsų pasirinkta kategorija.

D. Automatinis ontologijos atsinaujimasSukurta ontologinė tam tikros kategorijos matrica gali

atsinaujinti automatiškai. Dokumentai, kurių žodžiai gali būti įtraukti į VKO matricą M

n, turi tenkinti šias sąlygas:

• klasifikuojamo dokumento panašumo įvertis S turi patekti į susijusių dokumentų intervalą S ∈ (S

min,

Smax

);• naujais elementais matrica M

n papildoma tada, kai

žodžių dažnis iš dokumento D yra ne mažesnis už nustatytą dažnio slenkstį, pagal kurį formuojama VKO matrica.

Jei pateiktos sąlygos tenkinamos, perskaičiuojami naujų elementų ryšių įverčiai ir taip atnaujinama VKO matrica.

III. TYRIMŲ REZULTATAI

Šioje straipsnio dalyje aprašomi tyrimo rezultatai. Pagrindiniai tyrimų uždaviniai yra:

• klasifikuojant lietuviškus tekstus nustatyti doku-mentų klasifikatoriaus kokybę;

• rasti optimalią mokymo duomenų aibę bei atitinka-mus klasifikatoriaus parametrus;

• nustatyti, ar pateikiamų dokumentų tvarka yra svarbi, apmokant VKO matricą;

• kaip labai gali išsiplėsti automatiškai atsinaujinan-tis ontologinis klasifikatorius, t. y. kiek padidės ontologija.

Testavimo duomenys (elektroniniai dokumentai) paimti iš viešai prieinamų interneto puslapių. Visi elektroniniai dokumentai buvo dviejų kategorijų: V – panašios temati-kos kaip sukurta VKO matrica, vaistų elektroniniai doku-mentai; D – iš dalies panašūs dokumentai: apie mediciną, ligas ir pan. Visiškai kitos tematikos tekstai buvo atmesti, nes pagal [1] tyrimus jie visada buvo priskiriami tinkamai, t. y. klasifikuojami kaip nesusiję dokumentai. 2 lentelėje pateikti panašumo intervalai, kai kamieno slenksčio dydis 4 ir VKO matrica apmokoma iš 3500 žodžių. Atlikti bandy-mai su 120 dokumentų, kurių žodžių kiekis kito nuo 500

iki 3 500 ir kiekvienas jų buvo imtas kaip pradinio apmo-kymo žodžių aibė. Atlikus bandymus prieita išvada, kad optimalus pradinės apmokymų aibės dydis turi būti apie 3 500 žodžių. Šiam sprendimui pagrįsti, 3 lentelėje pateikti keli pavyzdžiai, kaip VKO matricos augimas priklauso nuo apmokymo žodžių aibės dydžio. Jei žodžių nedaug, VKO matrica vėliau didėja 2 arba 3 kartus, todėl smarkiai suma-žėja teisingai atpažįstamų dokumentų kiekis.

Pateiktuose rezultatuose VKO matrica (V kategorijos) sukurta būtent iš 3 500 žodžių teksto. Kad nustatytume tekstų panašumo intervalus, panaudojome po 15 skirtingų dokumentų iš kiekvienos kategorijos. Vėliau testai atlikti naudojant po 10 dokumentų iš kiekvienos kategorijos. Iš viso testavimui buvo panaudota 50 dokumentų.

2 LENTELĖ. PANAŠUMO INTERVALAI ESANT DAŽNIUI 4 IR OVK MATRICĄ APMOKANT 3500 ŽODŽIŲ

PanašumasKategorija

D VMinimalus % 0,18 0,71

Maksimalus % 12,07 13,02

Tyrimuose dalyvavusių dokumentų kiekis nebuvo dide-lis, nes vienas pagrindinių tyrimo uždavinių – išsiaiškinti, ar toks modelis gali veikti realioje aplinkoje su nedideliais tekstais.

3 LENTELĖ. OVK MATRICOS DIDĖJIMO PRIKLAUSOMYBĖ NUO PRADINIO APKOKYMO DUOMENŲ KIEKIO

Pradinio apmokymo žodžių aibė (slenkstis)

OVK matricos dydis Teisingai atpažinti

dokumentaiPradinis Galutinis

500 (3) 33 98 50 %500 (5) 16 33 40 %3500 (4) 217 224 90 %

2 lentelėje apibrėžti kiekvienos kategorijos panašumų intervalai. Iš atliktų tyrimų pastebėjome: esant mažesnei apmokymo ontologijos aibei, D ir V kategorijų intervalai labiau persidengia, negu prie parinktų parametrų 2 lentelei sudaryti. Galiausiai tenka atmesti D ir V kategorijų sankirtą ir taip išspręsti problemą: D kategorijos maksimumas bus V kategorijos minimumas. Taip daroma todėl, kad klasifi-katorius automatiškai priskirtų dokumentą tik vienai kate-gorijai ir klasifikavimas taptų visiškai automatizuotas.

1 lentelėje pateikti testavimo rezultatai. Testuojant

1 LENTELĖ. KOKYBĖS TESTAI NAUDOJANT OVK MATRICĄ BEI PANAŠUMO INTERVALUS IŠ 2 LENTELĖS

KlasifikavimasDokumentų pateikimo eiliškumas

V kategorija Po V–D kategorija Prieš V–D kategorijąPradinis–galutinis (matricos

dydis)217–244 244–255 217–229

Kategorija D V D V D VTeisingai 90 % 90 % 90 % 90 % 90 % 90 %

Neteisingai 10 % 10 % 10 % 10 % 10 % 10 %

Page 14: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

14

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

pagal panašumo intervalus, buvo stebima, į kurią katego-riją patenka dokumentas. Iš pradžių VKO matrica buvo sudaryta V kategorijos tekstams. Jos dydis – 217 elementų. „Pradinis–galutinis (matricos dydis) nurodo, kokio dydžio tampa VKO matrica papildomai pateikus naujų dokumentų. Dokumentų pateikimo eiliškumas nurodo, kokia tvarka dokumentai pateikti. Pavyzdžiui, „Po V–D kategorija“ reiš-kia, kad pirma buvo paduoti nauji V kategorijos tekstai ir įtraukti žodžiai, peržengiantys dažnio ribą, po to paduoti D kategorijos tekstai. Šiuo atveju VKO matrica padidėja 11 elementų. Iš rezultatų matyti keli aspektai, kai patekimo dažnis į ontologiją – 4, o ontologijos aibę sudaro tekstai iš 3 500 žodžių:

• ontologinis klasifikatorius 90 % tikslumu priskiria kategorijas;

• tekstų padavimo tvarkos įtaka labai maža; • klasifikavimo metu pradinė ontologija maksima-

liai padidėjo 17,5 % – tai nėra daug. Galima daryti išvadą: kuriant VKO, matrica iš 200 elementų yra pakankama nedideliems tekstams, turintiems apie 400 žodžių, klasifikuoti.

Remiantis tyrimais buvo pastebėta ir keletas trūkumų. Atsinaujinus ontologijos matricai, vėl reikia mokyti klasifi-katorių, nes pakinta ontologijos dydis ir keičiasi panašumo intervalai. Taip pat ontologija gali išsikreipti arba per daug padidėti, todėl pagal tyrimų rezultatus minimali ontologijos sukūrimo aibė turi būti 3 500 žodžių, o minimalus žodžių patekimo dažnis – 4. Pagrindinis privalumas – klasifikato-rius atsinaujina pats, nereikia nuo pradžių kurti ontologijos, todėl didėja efektyvumas.

IV. IŠVADOS

Pagrindinis šio straipsnio tikslas – pateikti automatinio ontologinio klasifikatoriaus atsinaujinimo modelį lietuvių kalbos dokumentams. Modelis buvo sukurtas ir įgyven-dintas. Atlikta daug testų ir išanalizavus rezultatus nusta-tyta:

• minimalus ontologijos dydis turi būti apie 200 ele-mentų, jis turi būti kuriamas remiantis bent 3 500 žodžių tekstu;

• mažiausias žodžių patekimo į ontologiją slenkstis turi būti 4, nes kitais atvejais OVK matrica arba per greitai išsiplečia, arba beveik nedidėja;

• klasifikuojant lietuviškus elektroninius dokumen-tus, su tyrimų metu nustatytais minimaliais para-metrais klasifikatoriaus efektyvumas siekia 90 %.

Pastebėta, kad papildžius ontologinę matricą naujais elementais, reikia iš naujo mokyti klasifikatorių su tais pačiais duomenimis, o tai užima laiko ir mažina efekty-vumą. Šį trūkumą žadama pašalinti ateityje. Pagrindinis ontologinio klasifikatoriaus privalumas – automatinis jo atsinaujinimas:

• klasifikatorius pats prisitaiko prie besikeičiančios aplinkos (naujai atsiradusių terminų);

• nebereikia žmogaus, stebinčio klasifikatoriaus veik lą ir subjektyviai sprendžiančio, kada ontolo-giją kurti iš naujo;

• užtenka klasifikatorių pamokyti su nedideliu tekstu, vėliau jis pats į ontologiją įtraukia trūkstamus ter-minus.

LITERATŪRA

[1] A. Bevainytė, L. Būtėnas. “Document classification using weighted ontology”, 13th International Workshop on New Approaches to High-Tech: Nano Design, Technology, Computer Simula tions, 2009.

[2] Z. Bodó, Z. Minier, L. Csató. “Text Categorization Experiments Using Wikipedia”. In Proceedings of the International Confe-rence on Knowledge Engineering, Principles and Techniques, Cluj-Napoca, Romania, June 6–8, 2007, p. 66–72.

[3] A. Prakash Asirvatham, K. Kumar Ravi, A. Prakash, A. Kranthi, K. Ravi. “Web Page Classification based on Document Struc-ture”. 2001.

[4] N. F. Noy, C. D. Hafner. “The State of the Art in Ontology Design”. AI Magazine, vol. 18(3), 1997, p. 53–74.

[5] D. Vallet, M. Fernández, P. Castells. “An Ontology-Based Infor-mation Retrieval Model”. The Semantic Web: Research and Applications (2005), p. 455–470.

[6] A. Usonienė, L. Būtėnas, B. Ryvitytė, J. Šinkūnienė, E. Jasio-nytė, A. Juozapavičius. “Compilation of Corpus Academicum Lithuanicum (CorALit): process, results, perspectives”. Human language technologies: 4th language and technology conference: proceedings, November 6–8, 2009, Poznan, p. 256–260.

Page 15: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

15

Abstract. The result of design and investigation on a human gesture recognition system, which is based on stereo vision are presented in this paper. 3-D space coordinates are recorded from a pair of 2-D images obtained from the stereo pair of cameras. The systems’ hardware description and computation method for 3-D human gesture are presented. In this study there were collected ten specific single hand motion gestures, repeated several times by seven different people. The gesture recognition and interpretation is done by use of the trained neural classifier. The structure of classifier was estimated through try – error approach.

Keywords: human gesture recognition, neural network, stereo vision.

I. INTRODUCTION

Traditional human and electronic devices interface is not sufficiently effective in order to exploit all the advantages of nonverbal information. In these days’ keyboards, manipula-tors, touch screens are dominating as a control device, but they can only transfer low amount of data for the exchange of information between human and electronic devices. Usually, all these devices are working only while human have direct contact with them. So for growing amount of processed information, the computers with 3D application software, mobile phones or other modern electronic device user’s needs more natural and effective interaction methods. Human physical possibility’s and development of modern electronics technology enables development and design of new interaction methods between human and any device or systems.

The use on human gestures is a noteworthy alternative to current interfaces devices for human – computer interac-tion (HCI) or robot control. In particular visual recognition and interpretation of the human gesture recognition system provides the contactless and naturalness desired for sys-tem interfaces. According to [1] many approaches to ges-ture recognition have been developed. A large variety of techniques have been use to track hand in 2D pictures and recognition using Hidden Markov Models (HMM), and Kalman filters for noise elimination on captured frames.

Although there are many troubles to recognize hand in color images, when background color matches skin color or changing lighting. In these days are many methods to find hand various conditions using trained classifier on separate OpenCV application called AdaBoost [2]. It can train a cascade of boosted classifiers from a set of samples, which finds hands areas position in image. But this tracing system is suitable to objects near the cameras and when searchable object size is bigger than 20x20 pixels. In our presented system, human gestures can be recognized and traced up to three meters distance from the person and cameras. In order to simplify hand tracking as “hand”, we are using colored marker, which will be replaced in future research.

This research is focused into a system where the hand gestures are identified as the commands for robot control, using the stereo vision system. So that gestures should be recognized at difference distance. Therefore in this study we have used hand movement coordinate vector’s difference as a approximate derivatives. For the gesture interpretation we have applied Neural Network (NN) classifier with taped delay lines (TDL) which was enough effective and robust in gesture classification. Such system can be adapted to diffe-rent systems as the human – machine interface.

II. SYSTEMS’ HARDWARE DESIGN

The designed system consist of two digital cameras (type FFMV-03MTC, mfg. Point Grey, Canada), mounted in parallel. The reason to choose these cameras was their technical parameters:

• small-sized (25 x 40 mm);• IEEE-1394a 400Mbps digital interface (“firewire”);• Video resolution up to 752(640) x 480 pixels

@60/30/15/7.5fps;• colour or b/w picture;• possibility for operator to change essential para-

meters: brightness, exposure, shutter interval, gain, etc.

• internal (over IEEE-1394a) or external (hardware) trigger for shutter synchronisation.

System desing for human gesture recognition

Audrius BukisDepartment of Control Technology Kaunas University of Technology

Kaunas, LithuaniaE-mail: [email protected]

Arūnas LipnickasThe Mechatronics Centre for Studies,

Information and ResearchKaunas University of Technology

Kaunas, LithuaniaE-mail: [email protected]

Page 16: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

16

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

The most important requirement for the system is to ensure that each frame of both cameras is captured at the same time with same brightness, exposure, shutter time and gain parameters. Otherwise, if the cameras get frames at different time and other parameters, the gesture 3D coordinates will be incorrect and system will operate incorrectly. The simplest way to avoid this phenomenon is to ensure that the capturing is done synchronously at the same moment. In our system setup, one camera is used for automatic parameters setup for brightness, exposure and shutter times; and each frame the same setup parameters are broadcasted to the second camera over the IEEE-1394 bus for better correspondence of images [3]. Manufacturer of FFMV cameras also offer drivers for essential param-eters setup in manual or automatic mode. The advantage is that this solution has a minimal phase shift and meets the requirements for human gesture recognition system, so the cameras capture frames at the same moment with identical cameras setup parameters.

III. 3D REKONSTRUCTION

A number of textbooks give adequate descriptions of the theory and practice of stereo reconstruction and 3D world perception [3, 4]. Any stereo vision system must solve two basic problems: correspondence (i.e. which pixel in the left image corresponds to which pixel in the right image?) and reconstruction (what is the real world location of the cor-responding point of interest?).

Stereo application takes too pairs of 2-D images as input and produces the reconstructed 3-D data by finding marker coordinates as corresponding points in our system. For the corresponding point retrieval requires a specific searching and matching technique and the robustness of which deter-mines quality and precision of reconstructed 3-D data. For red marker search we use a simply manipulation of the RGB colour matrixes and filters to extract marker in images.

Most stereo reconstruction methods are based on paral-lel geometry [5]. Therefore, given two points coordinates (one from the left and the second from the right images) identified by any stereo matching process, the depth is esti-mated from the points disparity, or the separation of the two points in image pixels coordinates. Given pixel coordinate (xL,yL) in the left and (xR,yR) right images, then the 3D world coordinates (X,Y,Z) are computed as:

dbx=X L

, dby=Y L

, dfb=Z

. (1)

Where disparity is d = xL - xR [in pixels], b is the parallax or inter-ocular separation [in mm] of cameras and f is the focal length of camera lenses, measured in pixels [6].

The accuracy of 3-D data reconstruction depends on the accuracy of the corresponding point’s disparities, stereo system calibration which compensate nonlinear radial and tangential distortion of the pinhole cameras. In our work we have applied Jean-Yves Bouguet’s well known and

widely-used Camera Calibration Toolbox for MATLAB [7] to calibrate the stereo systems’ parameters.

A. The marker extractionSelection of marker’s color is important in detection

because color of the marker play significant role in systems performance. The color must be one of the main RGB color space (i.e. red, blue, green). For our purpose system the red color was selected for marker, because in our background main colors was blue and green so the red color marker is simpler to extract from image. When marker is extracted then centroid of it is calculated. The centroid of an object is the point of the balance or the center of the pixels intense values. Centroiding is a crucial method in image matching because the centroid of an object is the only invariant fea-ture to any geometry distortion regardless of scaling, rota-tion or translation. In one dimension, centroid is defined in equations.

1

1 M

C i ii

X = x mM =

∑ , 1

1 M

C i ii

Y = y mM =

∑ , (2)

where xi and yi are pixel location on the image, XC and YC are

coordinates of centroid , mi is the pixel intense value and M is the total number of the pixels.

This method is more efficient to be used with a binary image than the images consisting of pixel value in range 1 or 255. A simple algorithm was developed in order to detect and track red marker (i.e. one color marker) and obtain his coordinates.

Algorithm 1. Red marker extraction of the camera1 step get i frame data with resolution of [n×m]=

[480×640], i=1, …, k ;2 step highlight red marker by eliminating white color,

through subtraction of RBG color components N [n×m] = R [n×m] - G [n×m];3 step by the max intense of the white color in grayscale

image, of the pixel in N[n×m], convert image in to binary form,

⎩⎨⎧

n N

N [n=×

≥=× otherwise , 0 ]m

maxwhen, 1 ]m

ii

ii valule[n ×× 9.0]mii

[n

4 step calculate center on the binary image (i.e. center of the red marker) using second equation and get corre-sponding point of the marker

C center

(x, y);

5 step End of the frame

This algorithm first applied to the left and then to the right cameras. For single image processing, this algorithm takes about 0.09s, so it can be used in real time applications. Then we get correspondent points of the images using (1) equations calculate 3D coordinates of the marker.

B. Neural network For human gesture recognition was applied neuron net-

work classifier which represent the most prominent and well researched class of classification, implementing a

Page 17: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

17

AUDRIUS BUKIS, ARŪNAS LIPNICKAS · SYSTEM DESING FOR HUMAN GESTURE RECOGNITION

feedforward, supervised and hetero-associative paradigm. This type of neural network is known as a supervised net-work because it requires a desired output in order to learn. The goal of this type of network is to create a model that correctly maps the input to the output using historical data so that the model can then be used to produce the output when the desired output is unknown.

For training data we collected ten specific single hand motion gestures presented by 7 different persons and repeated several times. To minimize amount of the data we have used predefined timed window for gesture duration, which consists of 15-16 cameras frames with the intervals ~0.3 s between captured images. Figure 2 shows all gestures and how they look restored in 3D space. In order to reduce dissimilarity between one hand gestures made at different distance from cameras we used hand movement coordinate vector’s difference as the approximate derivatives between restored gesture points. Because gestures are regarded as vectors, then using (3) returns vector, one element shorter than it was, of differences between adjacent elements.

[C(2)-C(1), C(3)-C(2), ... ,C(n)-C(n-1)]K = (3)

where “K” is gestures and the C are gesture coordinates points in 3D space. The Fig. 1 show collected data for neu-ral network training and testing of gestures K3 and K4.

Structure of such neural network is one of the simplest; usually the network is made from 3 layers. First layer con-sist of the inputs, second layer consist of hidden neurons and the third layer consist of desired output. The main objective is to select proper structure of neuron network using try – error approach method in order to determine how many neurons must be in the hidden layer to get best results with smallest time interval on neural network train-ing stage.

During the network training, the actual output of the network is compared to the required output or target, and the error is back propagated through the network in such

way, that the weighted connections between all the units are adjusted in the right direction. Training the network is done by minimising the error function (4).

( )2

1 1

1

2

QN

o on nj njn n j

E E d o= =

= = −∑ ∑∑ . (4)

where N is the number of learning samples, Q is the number of gesture classes, njd is desired output values and njo obtained output values.

During the network testing, the weights are no longer adjusted and the performance of the network can be tested by presenting new data, and comparing the actual outputs with desired ones [9]. The ability of the network to produce a correct response to the new (unseen) data is called gen-eralisation. The generalisation is poor when the network overfits (or underfits) the training data. However, neural network models produce only static input-output mapping. In order to maintain dynamic system modelling the tapped delay lines (TDL) should be introduced to neural network model Fig. 3.

FIGURE 2. GESTURES AND THEIR REPRESENTATION IN 3D

FIGURE 1. EXAMPLE OF GESTURES K3 AND K4 COLLECTED HISTORICAL DATA FOR NEURAL NETWORK TRAINING

Page 18: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

18

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

As is apparent from Fig. 4, by the use of longer tapped delay lines the neural network gets much better classifica-tion results. The best results of correct recognition 76 %, showed NN with 22 neurons in hidden layer and the train-ing quality are good enough to recognize different gestures. The standard deviation (STD) varies within the range of 10 % compared with the average value of training quality and neural network classifier training takes about ~50 s. Table 1 shows the training results of the neural network, how he identifying gestures “K”. As you can see neural network couldn’t correctly identify all gestures from each other. This happened, because the collect all gestures historical data intersects near the zero axes as seen in Fig. 1.

TABLE 1. THE TRAINING RESULTS O OF THE NEURAL NETWORK

K1 K2 K3 K4 K5 K6 K7 K8 K9 K10

K1 65 1 0 0 0 6 7 4 0 0K2 0 73 0 2 0 3 3 2 0 0K3 0 0 72 3 0 8 9 6 0 4K4 1 1 1 76 2 1 6 7 2 1K5 1 3 0 2 72 10 5 3 3 2K6 0 2 0 0 8 75 3 7 0 0K7 1 1 0 0 0 0 69 11 10 0K8 0 1 1 1 0 1 15 64 0 20K9 2 0 3 6 6 2 19 3 94 4K10 1 0 3 3 2 0 3 12 2 93

V. CONCLUSIONS

In this paper we presented the design of human ges-ture recognition system which uses stereo vision cameras to reconstruct gestures in 3D space from a pair of 2D images. First we have applied several images process-ing algorithm to detect marker in colour images. Then we manually collected historical data of the gestures motions, for neuron network training and testing. The structure of neural network, which are most appropriate for such sys-tem, was determined experimentally. For the future work of our gesture recognition system will be to apply the human body tracking algorithm as a reference point for 3d posi-tion detection and tracking during the gesture to bound hand movements at different distance.

ACKNOWLEDGMENT

This work has been support by the Lithuanian state science and studies foundation.

REFERENCES

[1] M. Kolsch, M. Turk. Fast 2D Hand Tracking with Flocks of Fea-tures and Multi-Cue Integration. IEEE conference on Computer Vision and Pattern Recognition Workshop, 2004. CVPRW ‘04. 2004, p. 154–158.

[2] P. Viola, M. J. Jones. Robust real time face detection,

FIGURE 3. PROCESS MODELLING USING FEEDFORWARD NNS AND TAPPED DELAY LINES (TDL)

IV. EXPERIMENTS AND RESULTS

After experimental research best results show system which has NN classifier with 3 tapped delay lines to main-tain dynamic system modelling. Figure 4 shows the aver-age results of the neural network training using 3 TDL with the different number of neurons in hidden layer and NN without TDL. To estimate the statistical correction of the training quality it was repeated ten times.

A)

B)

FIGURE 4. NEURAL NETWORK TRAINING RESULTS

A) WITHOUT TDL AND B) USING 3 TDL

Page 19: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

19

AUDRIUS BUKIS, ARŪNAS LIPNICKAS · SYSTEM DESING FOR HUMAN GESTURE RECOGNITION

International Journal of Computer Vision, vol. 57, Issue 2 (May 2004), p. 137–154.

[3] A. Lipnickas, A. Knyš. “A stereovision system for 3-D percep-tion”. Electronics and Electrical Engineering. 2009, No. 3 (91), p. 99–102.

[4] O. Faugeras. Three-Dimensional Computer Vision – A Geome-tric Viewpoint. MIT Press, Cambridge, MA, 1993.

[5] A. Lipnickas, V. Raudonis. “Contour representation by cluste-ring curvatures of the 3D objects”. Mechatronic Systems and Materials: 4th international conference, 2008, p. 208–209.

[6] A. Lipnickas, V. Raudonis, K. Jankauskas. “Extraction of

construc tive primitives based on clustering of normals and cur-vature”. Electrical and Control Technologies, Kaunas, 2008, p. 51–56.

[7] http://www.vision.caltech.edu/bouguetj/calib_doc. Accessed 2010-03-03.

[8] P. Serafinavičius, S. Sajauskas, G. Daunys. “Evaluation of Hand Pointing System Based on 3-D Computer Vision”. Electronics and Electrical Engineering. Kaunas, 2008, vol. 8 (88), p. 95–98.

[9] A. Lipnickas. “Adaptive committees of neural classifiers”. Infor-mation technology and control. Kaunas: Technologija, 2008, No. 3, p. 205–210.

Page 20: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę
Page 21: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

21

Santrauka. Europos Sąjunga siekia tapti konkurencingiausia pasaulio ekonomika, t. y. bando prilygti tokioms valstybėms kaip JAV ar Japonija. Lisabonos strategijoje į pirmąjį planą buvo iškeltos inovacijos, kurias panaudojus gali būti plečiama rinka. Logistinė analizė rodo, kad rinkos talpa – pagrindinis veiksnys, užtikrinantis spartų ir tolygų ekonomikos vysty-mąsi. Rinkos plėtra gali būti vykdoma panaudojant globaliza-cijos procesus, ekonominės gerovės didėjimą ir kt. Globaliza-cijos galimybės ribotos, inovacijų plėtros galimybės yra daug didesnės ir dėl to būtina jomis naudotis. Šiame straipsnyje, remiantis Lisabonos strategijoje siūlomomis inovacijomis, siekiama nustatyti, kaip išplėsti rinką ir paspartinti ES eko-nominį augimą.

Reikšminiai žodžiai: rinkos talpa, inovacijos, tiesioginės užsienio investicijos, ekonomikos pažanga

I. ĮVADAS

Kiekvienos šalies siekis – skatinti ekonomikos augimą, kuris reiškia, kad šalyje vyksta tobulėjimas, gerėja gyve-nimo sąlygos, didėja užimtumas, darbo užmokestis, gerėja socialinės garantijos. Bet augimas negali būti begalinis, nes rinkos talpa yra ribota. Greitas augimas ir pasiekti puikūs rezultatai gali sąlygoti dar greitesnį kritimą žemyn. Šį pro-cesą galima apibūdinti kaip burbulo sprogimą. Šiuo metu tai labai aktualu, nes visai neseniai visas pasaulis patyrė skaudų smūgį, o Lietuvos valstybės ekonomikai vis dar nepavyksta atsigauti. Jau pastebimi tam tikri atsigavimo požymiai, tačiau ekonominė situacija Lietuvoje gana sudė-tinga, nors JAV ir ES ekonomikos jau kyla aukštyn.

Šie dalykai vyksta realiame gyvenime, bet viską gali-ma bandyti paaiškinti remiantis esamomis ekonominėmis teorijomis. Pagal šias teorijas bei ES vykdomą politiką siekiama nustatyti tam tikrus būdus, kaip praplėsti rinką ir bandyti išvengti ekonominio nuosmukio ar krizės.

Vienas svarbiausių Lisabonos strategijos aspektų – ino-vacijos, kuriomis remiantis galima bandyti praplėsti rinką. Bet pirmiausia svarbu išsiaiškinti, kaip rinka veikia ir kodėl jos augimas yra ribotas.

Darbo tikslas – pasitelkus tiesioginių užsienio investici-jų rodiklį, kaip įtaką inovacijų vystymuisi turintį aspektą, ir remiantis ekonomine logistinio augimo teorija, išsiaiškinti rinkos plėtimo galimybes.

Tyrimo objektas – tiesioginės užsienio investicijos.Tyrimo metodas – lyginamoji analizė.Straipsnyje keliami šie uždaviniai:- išsiaiškinti atviros ir uždaros rinkos bei rinkos tal-

pos sąvokas;- apžvelgti pagrindines ekonomikos augimo teorijas,

išskirti logistinio augimo teoriją ir iškelti potencia-laus kapitalo svarbą užsienio investicijoms;

- aptarti Lisabonos strategijos keliamų inovacijų reikšmę, išskirti tiesiogines užsienio investicijas kaip svarbų faktorių ekonomikos pažangumui spar-tinti;

- išnagrinėti tiesioginių užsienio investicijų pasis-kirstymą ir jų reikšmę ekonomikos pažangai.

II. RINKOS MODELIAI IR JOS TALPA

Pagal ekonomikos teoriją rinkoje dalyvauja pirkėjai ir pardavėjai, o prekių mainų metu veikia pasiūlos ir paklau-sos pusiausvyrą reguliuojantis mechanizmas, išreiškiamas kaina [7]. Marketinge rinkos talpumas apibūdinamas kaip rinkoje faktiškai parduotų prekių kiekis [7]. Ekonomiko-je kalbama apie rinkos talpos ribotumą, kurį nulemia tam tikri faktoriai, pavyzdžiui, valdžia, rinka, nepakankama informacija, išoriniai efektai ir visuomeninės gėrybės [8]. Kadangi pardavimo galimybės rinkoje yra ribotos, galima kelti klausimą, kiek tam tikroje rinkoje įmanoma pagaminti ar parduoti. Todėl svarbu išsiaiškinti rinkos modelius, t. y. atviros ir uždaros rinkos sąvokas.

Pirmiausia pagal būdvardžių atvira ir uždara reikš-mes, galima teigti, kad atvira rinka yra platesnė ir priei-nama visiems, o uždara rinka – siauresnė ir apribota. Šis elementarus reikšmių paaiškinimas iš esmės pasako tą patį, kas perteikiama ekonomistų apibrėžimais. Dažniau-siai rinkos atvirumas ir uždarumas suprantamas politiškai,

Lisabonos strategija: inovacijos, tiesioginės investicijos ir rinkos plėtra

Vaida BulkevičiūtėVilniaus universitetas

Kauno humanitarinis fakultetasKaunas, Lietuva

El. paštas: [email protected]

Prof. Stasys GirdzijauskasVilniaus universitetas

Kauno humanitarinis fakultetasKaunas, Lietuvas

El. paštas: [email protected]

Page 22: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

22

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

t. y. atvira rinka yra tuomet, kai pardavėjams ir pirkėjams nėra jokių teisinių ar ekonominių trukdžių įeiti į rinką. Jeigu naujiems rinkos dalyviams įėjimo į rinką kliūtys yra neįveikiamos, jau susiduriama su uždara rinka. Uždaroje rinkoje esantiems dalyviams nereikia bijoti galimos naujų firmų konkurencijos [10]. Tačiau, kalbant apie ekonominę logistinę teoriją, rinkos atvirumą ir uždarumą reikia su-prasti kapitalo požiūriu. Pagal jį uždaroms rinkoms pri-skiriamos retos prekės, pavyzdžiui, paveikslai, deimantai. Tokių prekių skaičius yra labai ribotas. Pusiau uždarai rin-kai priskiriama nekilnojamojo turto rinka. Jos uždarumas pasižymi tuo, kad tam tikram skaičiui pirkėjų sukuriamas atitinkamas skaičius nekilnojamojo turto vienetų, bet pir-kėjas gali būti ir iš užsienio rinkos, todėl ši rinka laiko-ma tik pusiau uždara. Atvira rinka yra tokia rinka, kurioje parduoti ar nupirkti prekę yra daug įvairių galimybių. Šiai rinkai gali būti priskiriami įvairūs kilnojami daiktai, pa-vyzdžiui, mobilieji telefonai, kompiuteriai, automobiliai. Tai tokie daiktai, kuriems sąlyginai greitai galima surasti pirkėją, be to, tai dažnai keičiami daiktai, nes technologi-jos kiekvieną dieną tobulėja, o beveik kiekvienas žmogus siekia atsinaujinti.

II. EKONOMIKOS AUGIMO TEORIJOS

Literatūroje išskiriama daugybė ekonominį ir kapita-lo augimą aiškinančių modelių. Klasikiniai ekonomikos augimo modeliai gali būti skirstomi į keturis etapus, ku-rių pirmasis augimą aiškino per kapitalo ir darbo poveikio prizmę. Antrajai bangai priskiriamas Solow-Swan, kitaip dar vadinamas egzogeniniu modeliu bei kiti neoklasikiniai modeliai. Antrosios bangos atstovai augimą siejo ne tik su kapitalu ir darbu, bet ir atkreipė dėmesį į technologinio vystymosi įtaką. Trečiajam etapui priskiriami endogeniniai modeliai, kurie augimą susiejo su technologijos pažanga ir vyriausybės vykdoma politika. Investicijos buvo iškeltos kaip labai svarbus faktorius, kuris trumpuoju laikotarpiu daro įtaką BVP augimui, o ilguoju – lemia stabilias vals-tybės pajamas. Ketvirtajame modelių etape išskiriami evo-liuciniai ekonomikos augimo modeliai, kurie jau esamus modelius patobulino tam tikrais aspektais [4]. Pirmosios bangos modeliai iš esmės skiriasi nuo toliau aptariamų ant-rosios bangos.

Antrajai augimo modelių grupei priskiriami kapitalo augimo modeliai. Šiai grupei priklauso paprastųjų ir sudė-tinių palūkanų modeliai, eksponentiniai ir įvairūs logisti-niai modeliai. Logistinis kapitalo augimo modelis [3] taip pat priskiriamas prie kapitalo modelių. Kapitalo augimo modeliai nagrinėja kapitalo kitimo dėsningumus – tai gali būti laikoma esminiu jų bruožu. Svarbiausi šių modelių kintamieji – kapitalas ir palūkanų normos, kurios parodo augimą. Šie modeliai skiriasi nuo klasikinių, nes čia nėra vertinamas darbo išteklių poveikis, taip pat atskirais kin-tamaisiais nėra išskiriamos investicijos ar technologijos, – tiesiog visi veiksniai įvertinami per kapitalo dedamosios pokytį [4]. Išskyrus kapitalo augimo modelių ypatumus bei jų skirtumus nuo klasikinių modelių, taip pat svarbu ap-žvelgti kelis konkrečius kapitalo augimo modelius.

Remiantis Z. Bodie (2000), pačiu paprasčiausiu augi-mo modeliu laikomas paprastųjų palūkanų modelis, kuris parodo tiesinę kapitalo priklausomybę nuo augimo normos (Girdzijauskas, 2009).

Eksponentinis modelis nagrinėjamas per sudėtines pa-lūkanas. Šis modelis pasižymi tuo, kad jo augimo greitis yra proporcingas jo paties dydžiui, t. y. produktas natūraliai didėja, o augimas sąlygoja didėjantį prieaugį. Šis augimas būdingas biologinėms populiacijoms. Eksponentinis augi-mas yra neapibrėžtas ir gana spartus, realiai tai ne visuomet įgyvendinama [3].

Daugelis kapitalo augimo teorijų neišskiria augimo ri-botumo, nors realiomis sąlygomis tai labai svarbus fakto-rius, nes, kaip buvo minėta, daugelis rinkų pasižymi ribo-tumu, t. y. kiekvienai rinkai būdinga tam tikra talpa. Todėl toliau aptariama logistinio augimo teorija, kurioje įvertina-mas ribotas ekonomikos augimas.

III. LOGISTINIO AUGIMO TEORIJA

Pagal ekonomikos cikliškumą augimas nėra pastovus, o jo tempai nėra vienodi. Nors ekonomikos ciklai ir pasi-žymi tam tikromis tendencijomis, tačiau sunku numatyti, koks bus ateinantis ciklas, koks kritimas seks po augimo ir atvirkščiai. Todėl tam tikras produktas irgi negali nuo-lat didėti vienodu tempu, nes jį riboja išoriniai ir vidiniai veiksniai. Šis procesas aiškintinas remiantis biologine po-puliacija, t. y., kol populiacija maža, o išteklių daug, augi-mo greitis yra didelis, padidėjus populiacijai, sumažėja ne tik ištekliai, bet ir sparčiai mažėja augimo greitis [3]. Rea-lus pavyzdys būtų Lietuvos, kaip naujos ES valstybės narės ir besivystančios valstybės bei Danijos, kaip ES senbuvės ir išsivysčiusios valstybės, ekonomikos augimo tempų skirtu-mai iki krizės, nes Lietuva dar turėjo kur kilti, o išsivysčiu-sios valstybės jau buvo beveik maksimaliai išnaudojusios savo rinkos talpumą.

Populiacijos augimo modelį iškėlė belgų mokslininkas Pierre‘as Verhülstas. Jis teigė, kad populiacijos augimas vyksta geometrine progresija. Šis modelis buvo taikomas biologinių populiacijų raidai nagrinėti [3]. Minėtą modelį matematikas P. Verhülstas pateikė 1838 m. ir dėl logaritmi-nės-eksponentinės formos jis buvo pavadintas logistiniu, t. y. logistine augimo lygtimi. Tokį augimą atitinka bak-terijų ir mielių ląstelių kultūros [13]. Logistinis augimas siejamas su populiacijos augimu. Atsižvelgiant į populiaci-jos augimą, logistinė teorija įvertina sąlygą, kad produktas negali visuomet augti vienodu tempu, nes jį riboja įvairūs veiksniai. Logistiniai modeliai apibrėžiami logistine lyg-timi, kuri įvertina augimo ribotumą. Logistinio augimo teorijai detaliau paaiškinti logistinis modelis pateikiamas tekstiniu pavidalu [5].

Realusis kapitalas =

(1)

Page 23: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

23

VAIDA BULKEVIČIŪTĖ, STASYS GIRDZIJAUSKAS · LISABONOS STRATEGIJA: INOVACIJOS, TIESIOGINĖS INVESTICIJOS IR RINKOS PLĖTRA

Šio modelio sudedamosios dalys:Realusis kapitalas – auganti visuma (populiacija), kuri

šalies ekonomikos mastu gali būti prilyginama BVP;Potencialusis kapitalas – kapotalo (BVP) augimo gali-

mybių skaičiuojamoji riba;Pradinė kapitalo niša – pradinė augimo erdvė (poten-

cia liojo ir pradinio kapitalų skirtumas);n periodų sudėtiniai procentai – realiojo kapitalo augi-

mas, kurį lemia sudėtinių procentų modelis.Kapitalą nagrinėjant kaip pagrindinį ekonominio augi-

mo elementą, potencialųjį, realųjį arba faktinį kapitalus ir kapitalo nišą S. Girdzijauskas (2009) priskiria specifiniams terminams. Potencialusis kapitalas apibūdinamas kaip in-vesticijos ar kapitalo talpa, taip pat siejamas su aplinka, kurioje tas kapitalas investuojamas. Potencialusis kapitalas kitaip dar gali būti vadinamas nešamąja investicijos ar ka-pitalo talpa. Jis taip pat gali būti suprantamas kaip tam tikra erdvė, kuri yra tinkama kapitalo vystymuisi. Potencialusis kapitalas yra lyg kapitalo augimo riba, t. y. išreiškia, koks didžiausias kapitalo kiekis gali būti tam tikroje aplinkoje. Realusis kapitalas – investuotas kapitalas, paprastai esan-tis mažesnis už potencialųjį kapitalą. Kadangi realusis ka-pitalas dažniausiai yra mažesnis už potencialųjį kapitalą, išskiriama ir kapitalo niša, kuri ir apibūdina skirtumą tarp potencialus ir realaus kapitalo.

Taigi potencialusis kapitalas suprantamas kaip investi-cijos talpa, o realusis kapitalas – kaip finansinė aprėptis. Likusi dalis, vadinama kapitalo niša, apibūdinama kaip ne-panaudoti finansiniai augimo ištekliai. Kapitalo vystymosi erdvės yra ribotos, jas sunku numatyti ar apskaičiuoti [5].

Logistinė kapitalo valdymo teorija parodo, kaip išveng-ti ekonomikos perkaitimo ar kaip sumažinti skausmingas jo pasekmes. Šiam tikslui būtina padidinti potencialųjį kapita-lą. Siekiant išvengti kainų burbulų, potencialusis kapitalas turi būti didinamas [1]:

• per globalizaciją;• įeinant į naujas rinkas;• įgyvendinant technologines inovacijas. Logistinis augimo modelis pasirinktas tyrimui atlikti,

nes tai nauja, mažai tyrinėta teorija. Toliau straipsnyje nag-rinėjamos inovacijos ir jų reikšmė rinkos plėtrai, ekonomi-kos pažangai.

IV. INOVACIJOS LISABONOS STRATEGIJOJE

Žodis inovacija kildinamas iš XV a. Tuometinėje Vi-durio Prancūzijoje jis reiškė atnaujinimą arba naujo pavi-dalo suteikimą jau esančiam daiktui. Europos Sąjungoje žodis inovacija suprantamas kaip procesas, kai gaunamos žinios paverčiamos naujais produktais ar paslaugomis. Lietuvoje tas pats objektas apibūdinamas dviem skirtin-gomis reikšmėmis: inovacija ir naujovė. Inovacija turėtų būti suprantama kaip procesas, naujovė – kaip to proceso rezultatas [6].

Šiuo metu labai populiarus inovacijos apibrėžimas – „tai sėkmingas naujų technologijų, idėjų ir metodų komer-

cinis pritaikymas, pateikiant rinkai naujus arba tobulinant jau egzistuojančius produktus ir procesus“ [6]. Lisabonos strategijoje inovacijos sudaro kertinį pagrindą. Kadangi Lisabonos strategijos pagrindinis tikslas – pasiekti didesnį ekonomikos konkurencingumą ir ekonominę pažangą, ino-vacijos gali būti apibrėžiamos kaip priemonė numatytiems tikslams pasiekti. Iš to galima daryti išvadą, kad inovacijos skatina ekonominę pažangą. Šiandienėje ekonomikoje, kuri dar apibūdinama kaip žinių ekonomika, technologinės ino-vacijos laikomos vienu svarbiausių veiksnių, užtikrinančių konkurencinį pranašumą. Rinkoje greičiausiai įsitvirtina informacinės technologijos [12].

Inovacijos gali būti skirstomos pagal įvairius požymius, pavyzdžiui, pagal turinį (socialinės), pagal naujumo laipsnį (vienkartinės ir daugkartinės), pagal poveikį (socialinės) ir kt. [6]. Anot V. Paškevičiaus (2001), inovacijos taip pat gali būti skirstomos pagal pobūdį, mokslo sritį, ūkio sritį ar efektyvumą. Remiantis EBPO klasifikacija, inovacijos ski-riamos į tris pagrindines sritis: mokslo, gamybos ir paslau-gų. Plačiausia sritis – gamybinė, apimanti technologines ir netechnologines inovacijas. Technologinės inovacijos gali būti skirstomos į produkto (naujas, patobulintas), proceso ar inovacinės veiklos [2].

Inovacijos – svarbus reiškinys siekiant ekonomikos pa-žangos, jos didina rinkos talpą, nes su inovatyviu produktu galima pritaukti daugiau rinkų. Taip galima išvengti kainų burbulų ir finansinių nuosmukių. Tačiau ne visose Europos Sąjungos valstybėse, remiantis Lisabonos strategijos tiks-lais inovacijų aspektu, pasiekta vienodų rezultatų. Be to, jau galima teigti, kad nepavyko šios strategijos įgyvendinti, nes buvo siekiama iki 2010 m. sukurti konkurencingiausią ekonomiką, t. y. pralenkti JAV ar Japoniją. Nepavyko, nes JAV ekonomika pradėjo atsigauti viena iš pirmųjų, Japoni-jos ekonomika yra stabili, o ES valstybėse tik pastaruoju metu pasirodė pirmieji ženklai. Kai kuriose ES narėse, pa-vyzdžiui, Lietuvoje, dar tik spėliojama: gal ekonomika jau atsigauna, o gal bus dar blogiau? Nors inovacijomis gali būti plečiama rinkos talpa ir taip būtų padedama rinkai iš-vengti perkaitimo, bet šios programos nespėta įgyvendinti, o kilus krizei viskas lyg ir sustojo.

Toliau siekiama išsiaiškinti inovacijų plėtros galimybes per užsienio investicijų aspektą. Lisabonos strategija nu-kreipta didinti potencialųjį kapitalą, kurio didėjimas sąly-goja ir užsienio investicijų didėjimą. Todėl toliau pateikta pastarųjų metų tiesioginių užsienio investicijų kaita keliose ES valstybėse ir Lietuvoje.

V. UŽSIENIO INVESTICIJOS, JŲ REIKŠMĖ RINKOS PLĖTRAI IR EKONOMIKOS PAŽANGAI

Siekiant modernizuoti šiuolaikinę ekonomiką, svarbu suaktyvinti investicijas. Investicijos, ir ypač tiesioginės, apibrėžiamos kaip viena iš pagrindinių jėgų, skatinančių globalizaciją. Prie tokių jėgų priskiriama tarptautinė pre-kyba, tarptautinių įmonių veikla, technologijų kūrimas ir skleidimas tarptautiniu mastu [2]. Globalizacija yra glau-džiai susijusi su lisabonizacija, kurios esmė – skatinti kon-

Page 24: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

24

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

1 PAV. TIESIOGINIŲ UŽSIENIO INVESTICIJŲ PASISKIRSTYMAS TARP SĄJUNGŲ

Šaltinis: sudaryta pagal Lietuvos statistikos departamentą [14].

Tiesioginių užsienio investicijų lyginamajai analizei pasirinktos šios valstybės:

• Latvija ir Estija, nes priklauso Baltijos šalims kaip ir Lietuva;

• Lenkija, nes yra Lietuvos kaimynė;• Danija, nes yra panašaus dydžio kaip Lietuva, bet

pasižymi daug aukštesniu išsivystymo lygiu;• Vokietija, nes yra ES senbuvė.Visos šešios valstybės priklauso Europos Sąjungai, dvi

iš jų yra senbuvės, o likusios keturios – naujos ES narės. Tiesioginių užsienio investicijų duomenys pateikti milijo-nais JAV dolerių. Analizuojamas 2005–2008 m. laikotar-pis. Duomenys pateikti1 lentelėje.

1 LENTELĖ. TUI PASISKIRSTYMAS Į ŠALĮ IR IŠ ŠALIES

TUI ($)

2006 2007 2008Vidaus Užsienyje Vidaus Užsienyje Vidaus Užsienyje

LT 1840 290 2017 608 1815 356

LV 1664 173 2247 335 1426 231

EE 1788 1112 2736 1737 1969 1089PL 19591 8875 22612 4748 16533 5582DN 8286 13991 9408 17617 10921 28868DE 57147 127223 56407 179547 24939 156457ES 590305 697193 842311 1192141 503453 837033

Šaltinis: sudaryta autoriaus pagal UNCTD [11].

Visos šalys, išskyrus Daniją, 2009 m. gavo mažiau tie-soginių užsienio investicijų, kurios 2005–2007 m. nuolat didėjo. Su šiuo augimu galima sieti ir ekonomikos augimą iki burbulo sprogimo t. y. krizės pradžios. Svarbus aspek-tas – visų Baltijos šalių ir Lenkijos gaunamos tiesioginės užsienio investicijos žymiai viršija pačių valstybių inves-ticijas užsienyje. Tai rodo, kad šios valstybės turi mažiau laisvų piniginių išteklių investicijoms užsienyje, be to, in-vestuoti užsienyje yra brangiau nei savo šalyje. ES senbu-vių, Vokietijos ir Danijos, priešingai, tiesioginės užsienio

kurencingumą, o kartu ir didinti investicijas bei skatinti technologinę pažangą.

Investicijas galima apibūdinti kaip geras priemones, dažnai net kaip būtinas sąlygas naujoms technologijoms diegti, mokslo tiriamiesiems ir plėtros darbams internacio-nalizuoti [2]. Todėl galima teigti, kad investicijos susijusios su inovacijomis, kurios yra svarbi priemonė siekiant kon-kurencingumo ir ekonominės pažangos.

Remiantis Lietuvos Statistikos departamento duome-nimis, Lietuva turi nemažai tiesioginių užsienio inves-tutojų. Apie 80 % visų tiesioginių investicijų iš užsienio tiek 2008 m., tiek ir 2009 m. sudarė įplaukos iš Europos Sąjungos šalių. Galima daryti išvadą – beveik visos tie-sioginės užsienio investicijos į Lietuvą plaukia iš Europos Sąjungos – ir tai galima pagrįsti tuo, kad Lietuva yra šios Sąjungos narė. Narystė ES didina investuotojų pasitikė-jimą šalimi. Investuotojams svarbus aspektas – šiek tiek mažesnės kainos ar palankesnės salygos verslui. Bendra tiesioginių užsienio investicijų Lietuvoje suma 2009 m., palyginti su 2008 m., sumažėjo apie 11 %. Bendros in-vesticijų sumos sumažėjimą galima pagrįsti pasunkėju-sia padėtimi visame pasaulyje, kartu ir Europoje. Kilusi krizė sumažino investicijų skaičių. Be to, šiandienė sunki ekonominė padėtis Lietuvoje mažina šalies patrauklumą investuotojams.

Lyginant 2009 m. tiesioginių užsienio investicijų Lietu-vos rezultatus su 2008 m., galima pabrėžti šiuos faktus:

1) bendra tiesioginių užsienio investicijų suma suma-žėjo, taip pat sumažėjo investicijų suma iš ES ir NVS šalių bei kitų šalių – Lenkijos, Rusijos, Suo-mijos ir kt.;

2) bendra tiesioginių investicijų suma padidėjo iš Da-nijos, Estijos, Vokietijos, Švedijos, Nyderlandų, Norvegijos.

3) Labiausiai, t. y. apie 70 %, krito tiesioginės užsienio investicijų iš Lenkijos: 2009 m. sudarė vos 5,9 % visų investicijų, nors 2008 m. siekė net 17,6 %;

4) šiek tiek daugiau nei 50 % sumažėjo tiesioginės už-sienio investicijos iš NVS šalių.

Bendra investicijų suma bei tiesioginių užsienio in-vesticijų iš tam tikrų sąjungų pasiskirstymas grafiškai pa-vaizduotas 1 pav. Duomenys (tūkst. Lt.) pateikti remiantis Lietuvos statistikos departamento informacija.

Iš šių rezultatų, galima daryti tokias esmines išvadas:1) finansinė padėtis pablogėjo visose šalyse, todėl

sumažėjo bendra tiesioginių užsienio investicijų suma;

2) iš Europos Sąjungos gaunama didžioji dalis visų Lietuvos tiesioginių užsienio investicijų, todėl ga-lima teigti, kad ES palaiko Lietuvą kaip sąjungos naujokę ir besivystančią šalį;

3) tik iš ELPA šalių [9] tiesioginės užsienio investi-cijos 2009 m. padidėjo, palyginti su 2008 m., bet apskritai jos sudaro labai mažą dalį;

4) nors pagal sumą labiausiai sumažėjo investicijos iš ES, tačiau procentiškai labiausiai sumažėjo investi-cijos iš NVS šalių, t. y. trigubai daugiau nei iš ES.

Page 25: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

25

VAIDA BULKEVIČIŪTĖ, STASYS GIRDZIJAUSKAS · LISABONOS STRATEGIJA: INOVACIJOS, TIESIOGINĖS INVESTICIJOS IR RINKOS PLĖTRA

investicijos užsienyje dvigubai viršija savo šalyje gauna-mas investicijas. Rodiklis, kai šalies investicijos užsienyje viršija gaunamas investicijas iš užsienio šalių, rodo – vals-tybės vysto eksportą, kuris plečia rinkos ribas, nes yra įei-nama į naujas rinkas. Eksportas – labai svarbus reiškinys kiekvienos šalies ekonomikai.

Silpnesnėms valstybėms palanku ir reikalinga pri-traukti kuo daugiau tiesioginių užsienio investicijų, nes taip šalis gauna daugiau piniginių išteklių, skatinama eko-nomikos pažanga, auga šalies patrauklumas. Tačiau per didelis pinigų kiekis šalyje taip pat gali sukelti ir neigiamų padarinių, pavyzdžiui, didėjančia infliaciją. Todėl svarbu vesti savas investicijas ir į užsienį, t. y. vykdyti eksportą. Analizuojamu laikotarpiu prasčiausi užsienio investicijų rezultatai – Latvijos. Jos investicijos į užsienio rinkas buvo visai nežymios, galiausiai šaliai teko skolintis iš Tarptau-tinio valiutos fondo ir prisiimti griežtus įsipareigojimus. Todėl iš realios patirties ir pagal pateiktus duomenis gali-ma teigti: geriausi rezultatai ES senbuvių, kurios daug in-vestuoja užsienyje. Taip šios valstybės didina potencialųjį kapitalą, kuris yra vienas svarbiausių Lisabonos strategijos tikslų.

Estijos tiesioginių investicijų duomenys labiausiai ski-riasi nuo kitų dviejų Baltijos valstybių. Pirma, 2005 m. Estijoje buvo apie 3 kartus daugiau tiesioginių užsienio investicijų nei Lietuvoje ar Latvijoje, vėliau jos sumažėjo ir pernelyg nesiskyrė nuo Lietuvos. Esminis skirtumas – Estija skiria daug daugiau lėšų tiesioginėms investicijoms užsienyje, pavyzdžiui, 2005 m. – 2 kartus daugiau nei Lie-tuva, 2006 m. – 5 kartus daugiau nei Lietuva ir 10 kartų daugiau nei Latvija. Šie rezultatai rodo, kad Estija užsienio investicijų aspektu vykdė efektyvesnę ekonominę politiką nei Lietuva ar Latvija, nes bandė didinti potencialųjį kapi-talą, t. y. investicijomis užsienyje plėtė kapitalo nišą.

ES senbuvių investicijos užsienyje viršija jų gaunamas investicijas iš kitų valstybių. Investicijos į užsienio rinkas reiškia, kad valstybė plečia savo rinką, kitaip tariant, didi-na potencialųjį kapitalą, nes neapsiriboja tik vietine rinka, o didelę dalį investicijų perkelia ir į užsienio rinkas, t. y. eksportuoja. Nors ekonominei pažangai labai svarbu šalies patrauklumas investuotojams, nes taip pritraukiami papil-domi piniginiai ištekliai, bet ne mažiau svarbu ir eksportas, kuris didina kapitalo nišą ir kartu suteikia geresnes sąlygas ekonomikai augti.

VI. IŠVADOS

1. Ekonomikoje rinkos talpa yra ribota, tai reiškia, kad ribotas ir ekonomikos augimas, kurį paaiškina logistinė ka-pitalo augimo teorija. ES siekiama ekonominės pažangos pasitelkus inovacijas. Inovacijoms kurti ir vystytis svarbų pagrindą suteikia tiesioginės užsienio investicijos.

2. Tiesioginės užsienio investicijos yra svarbus šalies

konkurencingumo kaip ekonominės pažangos rodiklis. Tie-sioginių užsienio investicijų didėjimą skatina potencialaus kapitalo didėjimas, kuris turi didelę reikšmę ekonomikos pažangai.

3. Lietuvoje gaunamos tiesioginės užsienio investici-jos iš užsienio yra apie 8 kartus mažesnės nei Danijos, ES valstybės senbuvės. Tai reiškia, kad Danija yra paklausesnė užsienio investuotojams. Baltijos šalių rezultatai yra pana-šūs, nežymiai daugiau investicijų pritraukia Estija, antroje vietoje – Lietuva, Latvija – trečioje. Estija yra pati patrau-kliausia užsienio investuotojams. Šalies patrauklumas už-sienio investuotojams rodo, kad didinamas potencialusis kapitalas, kartu skatinama ekonomikos pažanga.

LITERATŪRA

[1] M. Dubnikovas, V. Moskaliova, S. Girdzijauskas. Analysis of the Share Price Bubbles in the Baltic Countries. Business Infor-mation Systems Workshops. Berlin Heidelberg: Springer Verlag, 2009.

[2] B. Galinienė, B. Melnikas, A. Miškinis ir kt. Ekonomikos modernizavimas. Vilnius: Vilniaus universiteto leidykla. 2007, 514 p.

[3] S. Girdzijauskas. Logistinė kapitalo valdymo teorija: determi-nuotieji metodai. Vilnius: Vilniaus universiteto leidykla, 2006.

[4] S. Girdzijauskas, R. Mackevičius. Kapitalo augimo modeliai ir logistinė kapitalo valdymo teorija. Naujas požiūris į ekonomines krizes. Ekonomika ir vadyba, Nr. 14. 2009, p. 757–762.

[5] S. Girdzijauskas. The logistich theory of capital management: Deterministic methods – Introduction. Transformations in Busi-ness & Economics. 2008, p. 22–163.

[6] B. Melnikas, E. Chlivickas, A. Jakubavičius ir kt. Tarptautinis verslas: tarptautinės vadybos įvadas. Vilnius: Technika, 2008, 415 p.

[7] V. Pranulis, A. Pajuodis, S. Urbonavičius, R. Viršilaitė. Marke-tingas. Vilnius: The Baltic Press. 2008, 470 p.

[8] V. Snieška, I. Ambrasienė, D. Bernatonytė. Mikroekonomika. Kaunas: Technologija. 2005, 616 p.

[9] (2009, Okt.) European waste sector assistent, Elpa šalys. Prieiga per internetą: http://www.euwas.org/content/e275/e326/e2526/e2527/index_lit.html.

[10] K. Büchelin. 2005 Marktformenmodell: ofenner-geschlossener Markt. Prieiga per internetą: http://www.arndt-sowi.de/projekte/wettbewerb/k2/k231.htm.

[11] (2009) United Nations Conference on Trade and Development, FDI statistics. Prieiga per internetą: http://www.unctad.org/Tem-plates/Page.asp?intItemID=3198&lang=1

[12] J. Vasauskaitė, J. Krušinskas. „Technologijų gyvavimo ciklo ir strateginių sprendimų sąveika įmonės konkurencingumo užtikri-nimui“. Ekonomika ir vadyba, Nr. 14. 2009.

[13] R. Wehner, W. Gehring. Zoologie. Stuttgart: Georg Thieme Ver-lag KG – 2007.

[14] (2009) Lietuvos Statistikos departamentas. Tiesioginės užsienio investicijos metų pradžioje pagal šalis investuotojas. Prieiga per internetą: http://www.stat.gov.lt/lt/ pages /view/?id=2410.

Page 26: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę
Page 27: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

27

Abstract. This article presents a method combining popular machine learning technique for classification, genetic search as a feature selection method for relevant attribute selection and Altman Z-Score discriminant technique for credit risk evaluation. Support Vector Machines implementations (LIB-LINEAR, LibSVM) and Bayesian method based classifiers (Naïve Bayes, Bayesian Networks) were explored and used in this article to train classifiers. This method was applied to different sectors in service and industry. Its performance was evaluated using weighted mean accuracy and weighted mean error techniques.

Keywords: Support Vector Machines, SVM, Bayes, Naïve Bayes, Bayesian Networks, machine learning, credit risk, evaluation, bankruptcy, forecasting.

I. INTRODUCTION

Credit risk evaluation and bankruptcy prediction are one of the most important problems in finance because they are directly related to possibility of losing money given as a credit to a customer. Many researchers are trying to construct methods that are based on various data mining and machine learning techniques such as Neural Networks (NN), Genetic Algorithms (GA), Swarm Intelligence (SI) and others as they show promising results. Support Vec-tor Machines (SVM) is widely researched and applied in various industrial solutions and can be used as an effec-tive solution to many various classification, regression and forecasting problems. Bayesian classifiers are one of oldest classification techniques based on Bayesian inference; they are widely applied for solution to many problems, includ-ing credit risk. These methods are often applied as stand-alone or complementary techniques.

II. RELATED WORK

Many statistical and data mining techniques were used for classifier creation in various studies. Early researches were based on discriminant analysis which was used by

Altman [1], Springate [2]. Novel techniques such as Neural Networks (NN) were applied later for this problem together with other natural computing methods, mostly evolution-ary techniques for their optimization [3], [4], [5] to solve classification or clustering tasks with self-organizing maps commonly referred to as Kohonen maps [6], [7], [8].

There are numerous examples where Naïve Bayes or Bayesian Networks (further referred as BayesNet) classi-fiers are used to evaluate credit risk. It was shown in [9] that Bayesian classifier may successfully increase predic-tion from 2 to 9 % including the cases where some data are missing compared to traditional discriminant or logit analysis. Ranjan et. al. [10] used Bayesian method to es-timate probability of default while [11] used Bayesian method for credit risk scoring combining it together with genetic algorithms. Antonakis et. al. [12] compared Naïve Bayes method with five other classification methods using real banks’ data. Baesens et. al. [13] integrated Bayesian network together with Markov Chain Monte Carlo search. Gossl [14] used Bayesian approach to the modeling of credit risky portfolios by forming Bayesian portfolio model which allows describing default frequencies and intra-port-folio correlations.

Support Vector Machines (abbr. as SVM) has been proved as an efficient technique possible to obtain results comparable to Neural Networks and is often used to solve classification or forecasting tasks in finance and other fields. They were also successfully applied for company failure prediction [15], bankruptcy analysis [16], to estimate prob-ability of default [17], to study credit rating systems [18], capital risk assessment [19]. Lai et. al. applied SVM using ensemble learning approach to identify high-risk custom-ers in customer relationship management [20]. Van Ges-tel et. al. used SVM and Bayesian combination to develop Bayesian evidence framework [21], [22]. Many previous researches based on SVM and related to credit risk evalua-tion were analyzed in [23]; it showed that best results were achieved by using optimization techniques such as genetic algorithms or swarm intelligence and fuzzy logic together with SVM.

Credit risk evaluation using SVM and Bayesian classifiers

Gediminas Buzius, MSc StudentKaunas Faculty of Humanities

Vilnius UniversityMuitines St. 8, Kaunas, LithuaniaE-mail: [email protected]

Paulius Danenas, PhD Student Kaunas Faculty of Humanities

Vilnius UniversityMuitines St. 8, Kaunas, LithuaniaE-mail: [email protected]

Gintautas Garsva, Prof.Kaunas Faculty of Humanities

Vilnius UniversityMuitines St. 8, Kaunas, LithuaniaE-mail: [email protected]

Page 28: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

28

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

III. RESEARCH METHOD

A. Description of classification algorithms used in this experimentNaïve Bayes and Bayesian Networks. These classi-

fiers perform the classification in a way that minimizes de-cision risk and therefore some optimum decision variables are derived by which the input-signal space is mapped into the decision space with the most distant classes. Probability distribution for Naïve Bayes is calculated as

))(|()()|()(),(1

d

n

dd XparentXPyPyXPyPyXP ∏

=

== (1)

where Xd is the same as Xi above [24].The main difference between these two methods is that

Naïve Bayes method assumes attributes of case being un-related among them and so is called “naive” while Bayes-ian Networks are directional acyclic networks (graphs) that contain nodes representing attributes and directional arcs (causal relations) between nodes where nodes are variables which have a finite number of states. Every node Ak given parent nodes B1,...,Bn has a distribution table of probabili-ties P(Ak| B1; ...;Bn) which contains information about joint probability distribution of all possible attribute’s states when all its parent nodes are known. These tables are used to predict the probability of class to any given case. Prob-ability distribution is calculated using this formula:

∏=

=n

iiin XparentXPXXP

11 ))(|(),...,( (2)

where n the number of states of the attribute, Xi is X state of attribute and parent(Xi) is state‘s Xi parent node [25]. The complexity increases with the number of classes and attributes. BayesNet also has an ability to use different search algorithms for finding the best decision as K2, Hill Climbing, Genetic search, etc. [32]

C-SVC (LibSVM). The main idea in SVM is identifi-cation of special data points (support vectors) that are used to separate the provided cases by defining the binary class boundaries. Generally SVM uses a linear model to imple-ment nonlinear class boundaries by nonlinear mapping of the input vectors xi into the high-dimensional feature spa-ce using the kernel function ( , ) ( ) ( )T

i ji jK x x x x≡ . A linear model giving maximum separation, maximum margin hy-perplane, is constructed in the new space. Support vectors are the training vectors closest to this hyperplane. C-SVC is a classical implementation of SVM first described in [26]. It is formulated as follows [27]: given training vectors

, 1,..,iX R i l∈ = , two classes and a vector ly R∈ such as [ 1;1]iy ∈ − C-SVC solves the following primal problem

∑=

+l

ii

T

bwCww

1,, 2

1min

subject to�

Nibxwy iiiT

i ,..,1 ,0 ,1))(( =≥−≥+ (3)

A detailed description of this algorithm can be found in [27], [28].

LIBLINEAR. LIBLINEAR is a family of linear SVM classifiers for large sparse data with a huge number of in-stances and features. It supports logistic regression and lin-ear support vector machines and can be very efficient for training large-scale problems. In our experiment we apply L2-loss linear support vector machines for classification task. It solves the following optimization problem; a de-tailed description can be found in [29]:

2

1

))1,0max(2

1min i

Tl

ii

T

wxwyCww ∑

=

−+ (4)

where training vectors xi ∈ Rn, i =1,..,l in two class, vec-tor y – Rl such that yi = {1,−1}, w is a weight vector that a linear classifier generates as the model. The decision func-tion is sgn(wTx).

Genetic algorithm (GA). It is the most widely used evolutionary computing technique which is often applied to solve various optimization problems. Application of GA leads to evolutionary process as the solutions gener-ated from one population are used to form a new population hoping that this one would be better. The better solutions are obtained with this population the more chances they have for recombination. This method uses concepts of pop-ulation initialization, crossover, mutation, fitness selection similar to these concepts in biology to search for the best solutions in the search space by taking best individuals and forming new populations until a particular limit is reached. There are many various sources of information which can give more information on this technique, i.e. [30]

B. Proposed methodThis section describes a method based on genetic

search, machine learning technique for classification and discriminant analysis. The main steps are as follows:1. Results of every instance are calculated using discrimi-

nant analysis and are converted to bankruptcy classes;2. Data preprocessing:

a. Instances with empty outputs (records, which couldn’t be evaluated in Step 1 because of lack of data or division by zero) are eliminated;

b. Data imputation to eliminate empty values; here missing values are replaced with company’s avera-ge of the attribute with missing data (for dataset D with attributes X and its subset D

C as financial re-

cords (instances) related to company C, if DCij = {} then DCij = average(Xi), i=1..,m, j=1,..,n; here m is the number of attributes, n – length of DC);

c. Companies are divided to the ones whose data will be used for training and whose data will be used for testing. These sets are disjoint (for company list C = C_train – C_test, and |C_train| > |C_test|);

d. Calculate training and testing data split percen tage;e. Create training and testing data by splitting data

of selected companies in the sector by a percen-tage calculated in Step 5. These sets are also dis-

Page 29: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

29

GEDIMINAS BUZIUS, PAULIUS DANENAS, GINTAUTAS GARSVA · CREDIT RISK EVALUATION USING SVM AND BAYESIAN CLASSIFIERS

joint (CD = CD_train ∪ CD_test and | CD_train| > CD_test|);

3. A genetic algorithm for feature selection is used to select the most relevant ratios. Evaluation uses correlation-based feature subset selection based on consideration of individual predictive ability of each feature along with the degree of redundancy between them [32], [33];

4. Model is trained using one of machine learning algorithms for classification (SVM and Bayesian classifiers are selected for this experiment in order to compare their performance);

5. The created model is tested using testing (holdout) data and results are evaluated.

C. Methods for evaluation of instances and resultsAltman’s Z-Score was chosen for evaluation and form-

ing of dependant variable as a popular and widely used evaluation technique. It predicts whether or not a com-pany is likely to enter into bankruptcy within one or two years. Companies from Manufacturing sector (20–39) were evaluated using original Altman Z-Score, other – by using Z-Score for non-manufacturing companies [31]. Z-Score for non-manufacturing companies was used for full dataset evaluation. These models are presented in Table 1.

TABLE 1. ALTMAN MODELS USED IN EXPERIMENTS

Altman (original)Altman for non-manufactu-

ring companiesw1

1.2 6.56

x1Working capital/Total assets Working capital/Total assets

w21.4 3.26

x2Retained earnings/Total

assetsRetained earnings/Total assets

w33.3 6.72

x3Earnings before interest and

taxes/ Total assetsEarnings before interest and

taxes/Total assets

w40.6 1.05

x4Book value of Equity/ Book

value of total liabilitiesBook value of Equity/ Book

value of total liabilities

w50.999 -

x5 Net sales/Total assets -Eval Z>3 – healthy; 2.7<Z<2.99 – non-bankrupt; Z <1.79 - ban-

krupt

Algorithms described in section 3.1 were used in this ex-periment to train models. The test results are evaluated by using accuracy together with Type 1 and Type 2 errors. If one would define define companies that have high or low value of risk evaluation in terms of “bad” and “good”. Type I error will show the accuracy with which the model didn’t identify “bad” debtors, and Type II error will show the accu-racy with which the model identified “good” debtors as bad. Type 1 error is considered as more important in credit risk evaluation as the inability to identify a failing company will cost a lender far more than rejecting a healthy company.

Weighted mean was used to properly evaluate overall performance, expressed as following:

=

== n

ii

n

iii

r

ere

1

1 (5)

where n is the number of sectors, ei is the value of er-ror for sector i, ri – the number of records in sector i used for testing. It should be noted that the here r is the number of test records; it was chosen because testing results better represent accuracy. Here we evaluated the weighted mean according only to amounts of testing instances; however, if the proportion of training and testing instances varies significantly, it might be useful to evaluate weighted mean with both training and testing instances.

IV. THE EXPERIMENT

D. Research dataThe experiments were made by using data from ED-

GAR database of over 8600 companies from the year 1999–2006. It consists of yearly financial records with 79 financial ratios and indices used in financial analysis. This data was split into sectors according to SIC classification. We used 3:2 split in our experiment (60 % percent of com-panies of each sector were selected for training). The sec-tors and company splits are given in Table 2.

TABLE 2. THE SECTORS USED IN EXPERIMENTS

Sector code

Sector nameTotal No. of com-panies

No. of com-panies for training

No. of companies for testing

01–09 Agriculture, Forestry, And Fishing

33 20 13

10–14 Mining 469 281 18815–17 Construction 83 50 3320–39 Manufacturing 3027 1816 121140–49 Transportation,

Communications, Electric, Gas, And Sanitary Services

786 472 314

50–51 Wholesale Trade 287 172 11552–59 Retail Trade 405 243 16260–67 Finance, Insurance,

And Real Estate1853 1112 741

70–89 Services 1712 1027 685All data 8665 5199 3466

E. Experiment configurationThe experiment was run using implementations of

SVM and Bayesian classifiers in described in Section 3.1 in Weka [32] framework. Weka integrates both LibSVM [27] and LIBLINEAR [29] as its SVM implementations. The algorithm in Section 3.2 was applied for every sector.

Genetic search used for attribute selection was run using the following parameters: crossover probability equal to 0.6, number of generations equal to 20, mutation proba-bility of 0.033 and population size of 20. Polynomial kernel

Page 30: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

30

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

For more accurate evaluation Type 1 and Type 2 errors for separate classes (“bankrupt”, “average” and “healthy”) were also evaluated. Table 4 and Table 5 represent these re-sults; they show that Type 1 Error was relatively small for “bankrupt” companies in cases of SVM based classifiers, except Finance, Insurance and Real Estate sector where it was very high (0.811). Naïve Bayesian and BayesNet per-formed with errors under 0.1; similar result was also in the Finance, Insurance and Real Estate sector.

Table 3 shows that in most of the sectors LIBLINEAR and LibSVM performed with smaller Type 1 errors for “bankrupt” and “average” companies than Naïve Bayes and BayesNet; however, the latter two showed better results for “healthy” companies’ recognition. Usage of Bayesian method based resulted in much more balanced Type 1 and Type 2 er-rors. These results indicate that SVM usage might effectively predict “bankrupt” and “average” companies but Bayesian classifiers might be more suitable for general classification.

Table 5 shows that the possibility to identify “healthy” debtors as bankrupt is significantly high for SVM based classifiers compared to the possibility to select “bankrupt” company as “healthy”; conversely, the case of Finance, In-surance and Financial Services showed a high possibility to identify ”healthy” companies rather than “bankrupt”.

Respectively, Bayesian classifiers performed with this

K(x, z) = d)( +⋅zx was used with SMO and LibSVM (C-SVC) classifiers, using parameters C = 4 for SMO; C = 7 and γ = 7 for C-SVC. LIBLINEAR was run with C = 20. Naïve Bayes classifier was run using supervised discreti-zation. BayesNet was used with the following parameters: estimator – SimpleEstimator algorithm for finding the con-ditional probability tables of the Bayesian Network with α = 0.5. Hill climbing was used as search algorithm for adding, deleting and reversing arcs as the search is not res-tricted by an order on the variables. These parameters were selected experimentally.

F. Experiment resultsThe results of these experiments are presented in Ta-

ble 3, which includes weighted accuracies together with weighted Type 1 errors. LibSVM performed with highest accuracy as well as with highest weighted accuracy but it had higher weighted Type 1 error than Bayesian classifiers. Very similar results by both weighted accuracy and weight-ed error were obtained by using Naïve Bayes and BayesNet classifiers; although accuracy in most cases (especially in cases of higher number of instances for training) they ob-tained significantly lower results than SVM, but weighted errors and weighted mean errors were the smallest.

TABLE 3. EXPERIMENT RESULTS

Sector

Tra

inin

g pe

r-ce

ntag

e, %

No

of t

rain

ing

inst

ance

s

No

of t

esti

ng

inst

ance

s

SVM (LIBLINEAR)

SVM (LibSVM) Naïve Bayes BayesNet

Acc

urac

y

Typ

e1

Err

or

Acc

urac

y

Typ

e1

Err

or

Acc

urac

y

Typ

e1

Err

or

Acc

urac

y

Typ

e1

Err

or

01–09 59.556 134 91 85.71 0.3 75.82 0.561 83.52 0.105 84.62 0.079

10–14 59.777 1660 1117 71.17 0.612 77.17 0.408 77.35 0.174 77.17 0.174

15–17 60.674 324 210 84.76 0.534 72.38 0.596 77.14 0.091 75.24 0.109

20–39 60.104 11641 7727 88.92 0.523 90.86 0.336 68.10 0.097 68.12 0.098

40–49 59.634 2838 1921 70.85 0.666 81.05 0.294 69.91 0.123 69.91 0.12450–51 59.803 1095 736 91.58 0.555 90.08 0.363 75.00 0.127 75.14 0.127

52–59 60.199 1570 1038 95.38 0.775 95.09 0.586 79.87 0.082 79.77 0.080

60–67 61.181 6413 4069 68.86 0.512 82.13 0.206 77.02 0.088 77.17 0.088

70–89 60.224 6241 4122 80.81 0.524 85.30 0.286 74.31 0.173 74.36 0.173

All data 63.529 36674 21054 70.45 0.667 71.67 0.635 72.26 0.174 72.29 0.174Weighted mean 81.21 0.552 86.39 0.318 72.68 0.117 72.70 0.117

TABLE 4. TYPE 1 ERROR VALUES FOR DIFFERENT CLASSES (“BANKRUPT” (B), ”AVERAGE” (A), ”HEALTHY” (H))

LIBLINEAR LibSVM Naïve Bayes BayesNetB A H B A H B A H B A H

01–09 0.026 0.036 0.381 0.064 0.024 0.714 0.105 0.036 0.182 0.079 0.048 0.182

10–14 0.012 0.000 0.889 0.050 0.006 0.580 0.174 0.081 0.048 0.174 0.081 0.054

15–17 0.010 0.051 0.625 0.021 0.164 0.688 0.091 0.155 0.090 0.109 0.155 0.100

20–39 0.015 0.000 0.618 0.033 0.001 0.394 0.097 0.235 0.136 0.098 0.234 0.136

40–49 0.008 0.002 0.948 0.032 0.051 0.401 0.123 0.215 0.092 0.124 0.214 0.091

50–51 0.009 0.003 0.628 0.031 0.024 0.407 0.127 0.160 0.050 0.127 0.158 0.050

52–59 0.003 0.000 0.818 0.007 0.010 0.618 0.082 0.136 0.052 0.080 0.137 0.055

60–67 0.811 0.000 0.012 0.303 0.030 0.052 0.088 0.148 0.092 0.088 0.147 0.090

70–89 0.014 0.000 0.702 0.059 0.005 0.369 0.173 0.118 0.095 0.173 0.118 0.094

All data 0.001 0.000 0.962 0.003 0.000 0.914 0.174 0.153 0.064 0.174 0.153 0.064

Page 31: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

31

GEDIMINAS BUZIUS, PAULIUS DANENAS, GINTAUTAS GARSVA · CREDIT RISK EVALUATION USING SVM AND BAYESIAN CLASSIFIERS

error respectively below 0.25 for both “bankrupt” and “healthy” company incorrect identification.

As in Type 1 error cases, their results were more even; the smallest errors were in cases of Mining and Transporta-tion, Communications, Electric, Gas and Sanitary Services sectors.

For overall evaluation weighted mean errors of all these three classes were calculated; they are given in Figure 1. They illustrate that SVM based classifiers (especially Lib-SVM) might better identify “bankrupt” and “average” companies, but “healthy” companies might be better recog-nized by Bayesian based classifiers.

However, weighted mean does not precisely reflect the situation because of the “outstanding” Finance, Insurance and Real Estate sector thus weighted mean errors exclu-ding this sector were also calculated. These values, toget-her with “original” (including errors of Finance, Insuran-ce and Real Estate sector) are given in Table 6. It shows that after excluding the “outlying” Finance sector weighed mean Type 1 error in case of “bankrupt” class is reduced from 0.167 to 0.013 for LIBLINEAR; LibSVM error is re-duced from 0.09 to 0.039 which means that LIBLINEAR classifier might be a good choice for “bankrupt” company identification. However, weighted mean Type 1 error signi-ficantly increased for “healthy” class for the latter classi-fiers; this exclusion didn’t affect Bayesian-based classifiers as their performance was almost even for all sectors. After excluding Finance sector results Weighted Type 1 Error in-creased for SVM based classifiers but these results didn’t change significantly for Bayesian classifiers.

FIGURE 1. WEIGHTED MEAN ERROR VALUES FOR ALL CLASSES (BANKRUPT, AVERAGE, HEALTHY)

Proposed approach of “slicing” data to sectors and usual training using full dataset with all data was also compared to do overall evaluation; the results of classifiers’ training using all data are presented in Table 3 and Table 4. They show that weighted accuracy achieved while training as separate classifier for each sector after division to sectors was signi-ficantly higher; Type 1 errors also differ. Table 4 shows that “bankrupt” companies were identified with Type 1 Error in range 0.001-0.003 by using SVM classifiers; Bayesian based methods performed with Type 1 error of 0.174 respectively.

TABLE 5. TYPE 2 ERROR VALUES FOR DIFFERENT CLASSES (“BANKRUPT “(B), “AVERAGE” (A), “HEALTHY” (H))

LIBLINEAR LibSVM Naïve Bayes BayesNetB A H B A H B A H B A H

01–09 0.154 0.875 0.057 0.615 1.000 0.086 0.000 0.857 0.130 0.000 0.857 0.116

10–14 0.822 1.000 0.010 0.376 0.966 0.047 0.175 0.474 0.217 0.179 0.487 0.217

15–17 0.647 0.800 0.051 0.882 0.800 0.174 0.422 0.255 0.136 0.422 0.309 0.145

20–39 0.530 1.000 0.012 0.290 1.000 0.024 0.269 0.430 0.247 0.269 0.429 0.248

40–49 0.899 0.991 0.011 0.335 0.594 0.065 0.164 0.295 0.377 0.164 0.298 0.376

50–51 0.517 1.000 0.008 0.400 0.962 0.037 0.249 0.308 0.235 0.243 0.308 0.235

52–59 0.756 1.000 0.003 0.561 1.000 0.014 0.288 0.258 0.166 0.283 0.266 0.168

60–67 0.005 1.000 0.695 0.041 0.606 0.262 0.208 0.360 0.204 0.206 0.360 0.203

70–89 0.606 0.993 0.012 0.252 0.934 0.046 0.195 0.517 0.244 0.195 0.511 0.245

All data 0.949 1.000 0.001 0.886 1.000 0.003 0.203 0.416 0.291 0.202 0.416 0.291

TABLE 6. WEIGHTED MEAN ERROR VALUES FOR DIFFERENT CLASSES (“BANKRUPT”( B), “AVERAGE”(A), “HEALTHY”( H))

LIBLINEAR LibSVM Naïve Bayes BayesNetB A H B A H B A H B A H

Including Finance, Insurance and Real Estate sector (60–67) resultsError 1 weighted 0.167 0.001 0.571 0.090 0.015 0.349 0.117 0.176 0.103 0.117 0.176 0.103Error 2 weighted 0.503 0.995 0.144 0.268 0.869 0.081 0.229 0.411 0.242 0.229 0.411 0.242

Excluding Finance, Insurance and Real Estate sector (60–67) resultsError 1 weighted 0.013 0.001 0.705 0.039 0.012 0.421 0.124 0.183 0.106 0.124 0.182 0.106Error 2 weighted 0.622 0.994 0.012 0.322 0.932 0.038 0.234 0.423 0.252 0.233 0.423 0.252

Page 32: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

32

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

V. CONCLUSIONS AND FURTHER RESEARCH

This article presents a research on credit risk evaluation that uses evaluation by widely applied discriminant analysis models, such as Z-Score, genetic search for feature selection to select best financial ratios, and model training using po-pular machine learning techniques. SVM implementations (LIBLINEAR, C-SVC from LibSVM) and methods which use Bayesian inference (Naïve Bayes, BayesNet) were used to train classifiers. The experiment results show that LibSVM (C-SVC) in many cases outperformed other clas-sifiers; however, LIBLINEAR performed best while iden-tifying particularly “bankrupt” companies. The experiment results show that in most of the cases this method gives promising results for “bankrupt” and “average” company identification. Naïve Bayes and BayesNet performed with more balanced errors, together with the smallest weighted Type 1 errors. Further research might be concentrated on optimizing these classifiers by best parameter selection or integration of other machine learning techniques.

REFERENCES

[1] E. Altman. ”Financial ratios, discriminant analysis and the prediction of corporate bankruptcy”, The Journal of Finance, vol. 23, 1968, p. 589–609.

[2] G. L. V. Springate. “Predicting the Possibility of Failure in a Canadian Firm”. Unpublished M.B.A. Research Project, Simon Fraser University, 1978.

[3] Y. Wu and Z. Si. ”Application of RBF Neural Network Based on Ant Colony Algorithm in Credit Risk Evaluation of Cons-truction Enterprises”, 2008 International Conference on Risk Management & Engineering Management, 2008, p. 653–658.

[4] F. Huang. ”A Particle Swarm Optimized Fuzzy Neural Network for Credit Risk Evaluation”, Genetic and Evolutionary Computing. 2008 Second International Conference on, 2008, p. 153–157.

[5] E. Lacerda, A. C. Carvalho, A. N. Braga, T. B. Ludermir. ”Evolutionary Radial Basis Functions for Credit Assessment”, Applied Intelligence, vol. 22, 2005, p. 167–181.

[6] E. Merkevicius, G. Garsva, R. Simutis, ”Neuro-discriminate Model for the Forecasting of Changes of Companies Finan-cial Standings on the Basis of Self-organizing Maps”, Lecture Notes In Computer Science, Y. Shi, G. Albada, J. Dongarra, and P. Sloot, Berlin, Heidelberg: Springer-Verlag, 2007, p. 439–446.

[7] E. Merkevicius, G. Garsva, S. Girdzijauskas. ”A hybrid SOM-Altman model for bankruptcy prediction”, Lecture Notes in Computer Science, vol. 3994, 2006, p. 364–371.

[8] Y. Xiao. ”Research on comparison of credit risk evaluation models based on SOM and LVQ neural network”, 2008 7th World Congress on Intelligent Control and Automation, 2008, p. 2230–2235.

[9] P. N. Posch, G. Loffler, C. Schone. ”Bayesian Methods for Improving Credit Scoring Models”, Finance, 2005, p. 1–26.

[10] S. Ranjan, R. Fan, G. Geng. “Bayesian Migration in Credit Ratings Based on Probabilities of Default”. The Journal of Fixed Income, vol. 12, No. 3, 2002, pp. 17–23.

[11] T. C. Fogarty, N. S. Ireson. “Evolving Bayesian classifiers for cre-dit control-a comparison with other machine-learning methods”, IMA J Management Math, vol. 5, No. 1, 1993, p. 63–75.

[12] A. C. Antonakis, M. E. Sfakianakis. “Assessing naive Bayesian as a method for screening credit applicants”. Journal of Applied Statistics, vol. 36, Issue 5, 2009, p. 537–545.

[13] B. Baesens, M. Egmont-Petersen, R. Castelo, J. Vanthienen. „Learning Bayesian Network Classifiers for Credit Scoring Using Markov Chain Monte Carlo Search”, ICPR, 16th Inter-national Conference on Pattern Recognition, vol. 3, 2002, p. 49–52.

[14] C. Gössl. ”Predictions Based on Certain Uncertainties – A Bay-esian Credit Portfolio Approach”, HypoVereinsbank AG, Lon-don, 2005, preprint.

[15] Z. R. Yang. ”Support vector machines for company failure pre-diction”, 2003 IEEE International Conference on Computatio-nal Intelligence for Financial Engineering Proceedings, 2003, p. 47–54.

[16] W. Hardle, R. Moro, D. Schafer. ”Bankruptcy Analysis with Support Vector Machines“, European Finance Association, 33rd Annual Meeting, 2006, p. 1–20.

[17] W. Hardle, R. Moro, D. Schafer. ”Estimating probabilities of default with support vector machines“, SFB 649 Discussion Papers SFB649DP2007-035, Sonderforschungsbereich 649, Humboldt University, Berlin, Germany, 2007.

[18] W. Chen, J. Shih. ”A study of Taiwan’s issuer credit rating systems using support vector machines”, Expert Systems with Applications, vol. 30, 2006, p. 427–435.

[19] W. Chong, G. Yingjian, W. Dong, ”Study on Capital Risk Assessment Model of Real Estate Enterprises Based on Support Vector Machines and Fuzzy Integral”, Control and Decision Conference, 2008, p. 2317–2320.

[20] K. Lai, L. Yu, S. Wang, W. Huang, ”An Intelligent CRM System for Identifying High-Risk Customers: An Ensemble Data Mining Approach”, Lecture Notes in Computer Science, vol. 4488, 2007, p. 486–489.

[21] T. Van Gestel, B. Baesens, J. Suykens, D. Van Den Poel, D. Baestaens, M. Willekens. ”Bayesian kernel based classifica-tion for financial distress detection”, European Journal of Ope-rational Research, vol. 172, 2006, p. 979–1003.

[22] T. Van Gestel, J. Suykens, G. Lanckriet, A. Lambrechts, B. De Moor, J. Vandewalle, ”Bayesian framework for least-squares support vector machine classifiers, gaussian processes, and ker-nel Fisher discriminant analysis”. Neural computation, vol. 14, 2002, p. 1115–1147.

[23] P. Danenas, G. Garsva. “Support Vector Machines and their Application in Credit Risk Evaluation”, Transformations in Business & Economics, vol. 8, No. 3 (18), 2009, p. 46–58.

[24] I. Rish. “An empirical study of the naive Bayes classifier”, IBM Research Report, IBM Research Division, 2001, p. 1–2.

[25] F. Ruggeri, F. Faltin, R. Kenett. “Encyclopedia of Statistics in Quality & Reliability”, Wiley & Sons, 2007.

[26] C. Cortes, V. Vapnik, ”Support-vector networks”, Machine lear-ning, vol. 20, 1995, p. 273–297.

[27] C. Chang, C. Lin. “LIBSVM: a library for support vector machi-nes”, 2001.

[28] V. Vapnik. “The Nature of Statistical Learning Theory”, Sprin-ger-Verlag, 2000.

[29] R. Fan, K. Chang, C. Hsieh, X. Wang, C. Lin, ”LIBLINEAR: A library for large linear classification”, The Journal of Machine Learning Research, vol. 9, 2008, p. 1871–1874.

[30] S. E. Haupt, R. L. Haupt. “Practical genetic algorithms”, Wiley-IEEE, 2004

[31] E. I. Altman. ”Predicting financial distress of companies: Revi-siting the Z-score and Zeta models”, 2000, unpublished manu-script.

[32] Weka 3: Data Mining Software in Java, http://www.cs.waikato.ac.nz/ml/weka/.

[33] M. A. Hall. “Correlation-based Feature Subset Selection for Machine Learning”, Hamilton, New Zealand, 1998.

Page 33: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

33

Santrauka. Straipsnyje nagrinėjamos veiklos taisyklių panau-dojimo kuriant informacines sistemas galimybės. Aptariami veiklos taisyklių valdymo būdai. Apžvelgiamos veiklos taisyk-lių valdymo paketo Blaze Advisor galimybės. Veiklos taisy-klėms įvesti siūloma naudotis parametrizuotais šablonais. Aprašoma veiklos taisyklių integracija į PHP kalba sukurtą internetinę aplinką.

Reikšminiai žodžiai: veiklos taisyklės, Blaze Advisor, informa-cinės sistemos.

I. ĮVADAS

Organizacijos naudoja įvairias informacines ir progra-mų sistemas, kurios yra jų veiklos dalis. Svarbu, kad visos veiklos operacijos būtų atliekamos ne tik teisingai, bet ir nu-statytu laiku arba griežtai apibrėžtu nuoseklumu, laikantis numatytos tvarkos, veiksmų scenarijaus, pagal kiekvienam naudotojui griežtai apibrėžtas teises ir galimybes atsižvel-giant į pareigas. Taip pat labai svarbu, kad visa valdymui reikalinga informacija būtų prieinama ne tik per vietinį kompiuterių tinklą, bet ir naudojantis internetu. Atsakingas darbuotojas (kad ir kur jis būtų – namuose, komandiruotėje, seminare ar kitur) privalo turėti visą reikalingą informaciją. Tam naudojamos įvairios darbo organizavimo sistemos.

Veikla vyksta nuolat besikeičiančioje aplinkoje, kartu su aplinka keičiasi pati veikla ir jos taisyklės. Pakeitimai taip pat turi atsispindėti informacinėse sistemose. Iškyla problema, kaip veiklos taisykles, suformuluotas veiklos lyg menyje, kuo greičiau ir efektyviau perkelti į informa-cinę sistemą.

Tradicinės informacinės sistemos nebetenkina šiuolai-kinių organizacijų poreikių. Sistemos, kuriose veiklos lo-gika integruojama į programinį kodą, keičiamos į sistemas, kurios palaiko veiklos taisykles atskirai nuo programinio kodo. Taip užtikrinamas greitesnis organizacijos veiklos valdymas.

Straipsnyje analizuojamas veiklos taisyklių bei veiklos taisyklių valdymo sistemų taikymas organizacijų informa-cinėms, internetinėms sistemoms. Nagrinėjamas informaci-nės sistemos kūrimo procesas paremtas veiklos taisyklėmis.

Pateikiama metodika, kaip integruojamas veiklos taisyklių valdymo įrankis, taisyklių saugykla ir darbo organizavimo sistema.

II. VEIKLOS TAISYKLĖS

Veiklos taisyklė (VT) – tai [1]:• teiginys, kuris apibrėžia arba sąlygoja tam tikrą vei-

klos aspektą. VT skirta veiklos struktūrai apibrėžti arba valdyti, veiklos elgseną paveikti;

• atominis, deklaratyviai specifikuotas, daugkartinio panaudojimo veiklos logikos fragmentas.

VT sakinys – tai deklaratyvus sakinys, nusakantis veik-lai nustatytą struktūrą arba apribojimą. Kiekvienas VT sa-kinys gali būti susijęs su vienu ar daugiau kitų VT sakinių.

VT sakinys vartojamas vienai ar daugiau nedalomų veiklos taisyklių užrašyti. Veiklos taisyklė apibrėžia arba apriboja tam tikrą veiklos aspektą, tačiau negali būti toliau skaidoma į detalesnes VT. Dėl tolesnio dekomponavimo veiklą liečianti svarbi informacija būtų prarasta.

Formaliame taisyklės sakinyje vartojama specifinė for-mali gramatika. Formalus taisyklės sakinys privalo būti už-rašytas pagal formalaus reiškinio tipo sudarymo taisykles.

Viena taisyklė gali būti tokia: • Jei pirkėjas yra iš Vilniaus, jam pasiūlyti paslaugą

nemokamai. Kita taisyklė: • Jei pirkėjas yra vyresnis kaip 70 metų, jam pasiūlyti

3 paslaugas nemokamai. Iš pirmo žvilgsnio atrodo, kad šios taisyklės turi mažai

bendra, bet detaliau išanalizavę matome, jog abi taisyklės atitinka tą pačią struktūrą:

Jei pirkėjas <> savybė <> palyginimas <> reikšmė,Tada pasiūlyti nemokamai <> skaičius <>prekė.

Veiklos taisyklės (VT) – būdas struktūrizuoti veiklos žinias. Veiklos taisyklėms nuolat keičiantis veiklos lygme-nyje iškyla poreikis išlaikyti visus pakeitimus ir informa-cinės sistemos (IS) lygmenyje. M. Chisholmo [3] teigimu

Veiklos taisyklių taikymas kuriant internetines informacines sistemas

Vytenis Darulis Informacijos sistemų katedra

Kauno technologijos universitetas Kaunas

El. paštas: [email protected]

Vadovas Tomas SkersysInformacijos sistemų katedra

Kauno technologijos universitetasKaunas

El. paštas: [email protected]

Page 34: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

34

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

programuotojai 40 % laiko skiria programų atgalinės inži-nerijai atlikti, kad ją suprastų, galėtų padaryti pakeitimus, taisyti klaidas ar integruoti su kitomis aplikacijomis. Dažna šios delsos priežastis – dokumentacija beveik visada būna neišsami, pasenusi ir nepatikima. Efektyvus veiklos taisy-klių pakartotinis panaudojimas sistemų gyvavimo cikle lei-džia paspartinti patį informacinių sistemų reorganizavimo procesą. Tam išskiriamas veiklos taisyklių sluoksnis. Pa-grindiniai faktoriai, lemiantys poreikį išskirti veiklos tai-sykles, yra šie:

• poreikis atskirti VT ir traktuoti jas kaip atskiras in-formacines vertybes;

• poreikis stebėti VT kaitą;• poreikis pateikti VT fiksuota forma;• poreikis taisykles ruošti taip, kad būtų galima ne-

sunkiai jas pakeisti.Verslo žmonėms, neturintiems techninių žinių, atskir-

tas veiklos taisyklių sluoksnis suteikia galimybę peržiūrėti, kurti, keisti, šalinti veiklos taisykles nesikišant į programinį kodą.

Ronaldas G. Rossas tai vadina žinių tašku [5] (angl. the point of knowledge POK). Tai vieta, kur vystomos, diegia-mos, taikomos ir galiausiai šalinamos veiklos taisyklės.

Taikomųjų programų, tinkamų veiklos taisyklių tech-nologijai taikyti, yra visur, kur egzistuoja poreikis greitai ir lengvai realizuoti deklaratyvių organizacijos žinių po-kyčius. Pasaulyje yra kelios organizacijos, kurios užsiima sistemų, pagrįstų veiklos taisyklėmis, realizacija.

Buvo išnagrinėtos šios veiklos taisyklių valdymo sis-temos:

• Quick rules;• Infrex;• Versata Logic Suite;• ILOG Rules;• Blaze Advisor.Sistemos lygintos pagal šiuos kriterijus: taisyklių apra-

šymo kalbą, palaikomą platformą, galimybę kurti sprendi-mų medžius, lenteles, taisyklių srautus, galimybę naudoti šablonus, versijų kontrolės palaikymo galimybę.

Atlikus veiklos taisyklių valdymo sistemų analizę, nu-spręsta darbo organizavimo sistemą papildyti Blaze Advi-sor taisyklių valdymo sistema. Pagal atliktą analizę galima teigti, kad Blaze Advisor turi daugiausiai galimybių. Kitaip tariant, šis produktas palaiko sprendimų lenteles, spren-dimų medžius, taisyklių srautus. Taip pat galima naudoti šablonus.

III. BLAZE ADVISOR – TAISYKLIŲ VALDYMO SISTEMA

Viena pasaulinės rinkos lyderių – kompanija Fair Isaac sukūrė ir toliau tobulina veiklos taisyklių valdymo sistemą Blaze Advisor.

Blaze Advisor – veiklos taisyklių valdymo sistema, ku-ria galima kurti, diegti ir prižiūrėti į veiklos taisykles nu-

kreiptas sistemas. Veiklos taisyklių aprašymo kalba leidžia ne techniniam verslo personalui valdyti veiklos taisykles.

Šį įrankį sudaro pagrindiniai elementai, reikalingi veik-los taisyklėms įgyvendinti: sprendimų variklis, taisyklių saugykla ir jos valdymas.

Pagrindinis naudojamas veiklos taisyklių atvaizdavimo metodas – struktūrinė taisyklių kalba (Structured Rule Lan-guage SRL). SRL sintaksė yra formali ir artima natūraliai kalbai (t. y. anglų kalbos reikšminiams žodžiams). Dažnai galima naudoti taisyklių šablonus, tuomet taisyklės rašo-mos intuityviau ir jas lengviau skaityti.

Su Blaze Advisor Builder galima kurti sudėtingas tai-syk les. Yra galimybė naudoti besišakojančias taisykles, sudarytas iš kelių žingsnių, ir taip sukurti taisyklių srautus. Ši sistema palaiko sprendimų lenteles, kurios naudojamos sąlygoms ir veiksmams konstruoti ir atnaujinti veiklos tai-syklėse. Su šiais komponentais galima sudaryti įvairaus sudėtingumo veiklos taisykles, kontroliuojančias organiza-cijos veiklos procesus.

IV. VEIKLOS TAISYKLĖS IR WEB SISTEMOS

Internetinė informacinė sistema – tai informacinė siste-ma, kuri naudoja internetines technologijas informacijai ar paslaugoms teikti. Vartotojų sąsajai dažniausiai naudojama interneto naršyklė.

Blaze Advisor turi galimybes, leidžiančias paprasčiau dinamiškai atnaujinti interaktyvių taikomųjų programų in-formaciją ir valdyti jas interneto puslapiuose. Taisyklės gali apibrėžti, kokią informaciją pateikti į interneto puslapius. Technologiniai sprendimai, nusakantys, kaip fiziškai at-vaizduoti interneto puslapius, palikti išorinėms sistemoms, todėl palaikomas sprendimų atskyrimas nuo infrastruktūros kodo. Lengvai apibrėžiamos ir su išorinėmis sistemomis palaikomos sąsajos teikia greitį ir efektyvumą programas kuriant ir jas vykdant.

Blaze Advisor taisyklių serveris (Rule Server) yra Blaze Advisor veiklos taisyklių valdymo sistemos komponentas. Naudojant taisyklių serverį galima įdiegti su BA Builder sukuriamus taisyklių projektus kaip taisyklių paslaugas. Taisyklių paslaugos veikia kaip programos komponentas, atliekantis taisyklių projekto aprašytus veiklos procesus ir yra prieinamas kitiems sistemos komponentams. Naudoda-mas EJB tipo įdiegimą, taisyklių serveris teikia paslaugas, kai EJB konteineris apdoroja klientų užklausas.

Blaze Advisor taisyklių serverį galima sukonfigūruoti taip, kad jis apdorotų vieną ar daugiau taisyklių paslaugų. Naudojant paketinį apdorojimą, taisyklių paslaugos gali būti prieinamos vienam arba keliems nutolusiems klien-tams.

EJB greitasis diegimo vedlys gali sugeneruoti failus šiems EJB konteinerių tipams[1]:

• J2EE 1.4 (Sun 8.2);• JavaEE5;• JBoss 4.0.4;• OC4J (10.1.3);

Page 35: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

35

VYTENIS DARULIS, TOMAS SKERSYS · VEIKLOS TAISYKLIŲ TAIKYMAS KURIANT INTERNETINES INFORMACINES SISTEMAS

• Oracle 9iAS Release 2 (9.0.3);• WebLogic 8.1, 9.1 ir 9.2;• WebSphere 6.0 ir 6.1.Komponentų įdiegimo diagrama (1 pav.) vaizduoja

bendrą sistemos architektūrą. Naudodamasis naršykle var-totojas gali iškviesti reikalingas funkcijas. Jei reikia duo-menų, taikomųjų programų serveris kreipiasi į duomenų bazės serverį. Taisyklėms apdoroti naudojamas taisyklių vykdymo serveris.

1 PAV. VEIKLOS TAISYKLIŲ INTEGRACIJOS PROCESO VEIKLOS DIAGRAMA

V. VEIKLOS TAISYKLIŲ INTEGRACIJOS METODIKA

Veiklos taisyklių (VT) integracijos į taikomųjų uždavi-nių sistemą procesas pavaizduotas 2 pav. Veiklos diagra-moje integracijos etapai pažymėti skaitmenimis. Kiekvieną etapą apžvelgsime atskirai.

Integracija prasideda Blaze Advisor saugyklos ir pro-jekto sukūrimu (pirmas etapas). Blaze Advisor saugykloje saugomos visos veiklos taisyklės, klasės, taisyklių srautų informacija ir kiti taisyklių valdymo elementai. Vienoje saugykloje gali būti keli projektai.

Antrame etape su Blaze Advisor esančiu vedliu nustato-mos klasės, kurios komunikuos su duomenų bazių lentelė-mis per JDBC jungtį. Veiklos logiką realizuojančios klasės kreipiasi į duomenis, esančius duomenų bazėje, ir naudoja juos sprendimams priimti. MySQL duomenų bazė taip pat saugo veiklos taisyklių parametrus, kuriuos nusistato var-totojai.

Trečiame etape kuriamos reikalingos veiklos taisyklės. Tam naudojamos IF..THEN tipo taisyklės, sprendimų me-džiai, sprendimų lentelės, taisyklių srautai. Taip pat suku-riamos taisyklės, naudosiančios vartotojų parametrus.

Ketvirtame etape sukuriamas pagrindinis taisyklių srau-tas, kuris pagal vartotojų sukurtus parametrus ir taisyklių grąžintas reikšmes nustato, kokias funkcijas ar taisykles vykdyti toliau, kada grąžinti galutinį rezultatą.

2 PAV. VEIKLOS TAISYKLIŲ INTEGRACIJOS PROCESO VEIKLOS DIAGRAMA

Penktas etapas – taisyklių projekto transformavimas į taisyklių paslaugas (EJB failų generavimas). Procesas su-sideda iš šių dalių [1]:

• taisyklių serverio sukonfigūravimas pagal platfor-mą į kurią diegsime taisykles;

• taisyklių projekto nustatymas paslaugoms teikti;• paslaugų įeities taškų, kurie leis klientams pasiekti

paslaugas, aprašymas.Įeities taškai – tai veiklos metodai. Metodų naudojami

argumentai perduoda duomenis taisyklėms bei grąžina re-zultatus.

Įvykdžius aprašytus etapus, generuojami failai, kurie diegiami į pasirinktą taikomųjų programų serverį.

Taisyklėms iškviesti naudojamas SOAP. Tai yra XML paremtas protokolas, kuris leidžia programoms per HTTP keistis informacija. Į WEB programą reikėtų įtraukti SOAP reikalingas bibliotekas. Septintas ir aštuntas etapai gali būti vykdomi kartu su pirmu–penktu etapais.

Aštuntame etape į programinį kodą įterpiamos eilutės, kurios iškviečia veiklos taisykles, apdoroja grąžintą rezul-tatą ir padeda vartotojams valdyti savo taisyklių para met-rus.

Sukūrus visą aplinką bei prijungus taisyklių paslaugas, vartotojas gali pradėti dirbti su sistema: ne tik atlikti savo veiklą, bet ir kurti veiklos taisykles, nustatyti tam tikrus parametrus.

Pasikeitus tam tikroms veikloms, atliekami dešimtas, penktas ir šeštas etapai, kaip pavaizduota 3 pav.

Page 36: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

36

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

ar darbuotojas tuo metu atostogauja. Jeigu taip, grąžinama eilutė „Darbuotojas tuo metu atostogauja“ (4 pav.).

4 PAV. INTERNETINĖS SISTEMOS IŠVEDAMAS PRANEŠIMAS, KURIS GAUTAS IŠ VEIKLOS TAISYKLIŲ

VII. IŠVADOS

1. Veiklos taisyklių sluoksnio atskyrimas nuo progra-minio kodo – gana naujas techninis dalykas. Manoma, kad perspektyvoje tradicinės sistemos vis dažniau bus keičia-mos sistemomis, kurios palaiko veiklos taisykles atskirai nuo programinio kodo.

2. Efektyvus veiklos taisyklių pakartotinis panaudoji-mas sistemų gyvavimo cikle leidžia paspartinti informaci-nių sistemų reorganizavimo procesą.

3. Atskirtas veiklos taisyklių sluoksnis ir atitinkami įrankiai suteikia galimybę verslo žmonėms, neturintiems techninių žinių, peržiūrėti, kurti, keisti, šalinti veiklos tai-sykles nesikišant į programinį kodą.

4. Veiklos taisyklių valdymo sistemos Blaze Advisor integracija buvo įgyvendinta kuriant pavyzdinę darbo orga-nizavimo sistemą. Ši realizacija parodė, kaip galima sukurti sąsają, kuri padėtų kurti taisykles ir valdyti jų parametrus.

LITERATŪRA

[1] Blaze Advisor documentation. Prieiga per internetą: http://www.fairisaac.com.

[2] Business Rules Group, Defining Business Rules: What Are They Really? (3rd ed.). 2000, Prieiga per internetą: http://www.Busi-nesRulesGroup.org.

[3] M. Chisholm. Business Rules Evangelist: Business Rules and black boxes. DMReview.com. Prieiga per internetą: <http://www.dmreview.com/article_sub.cfm?articleId = 8163>.

[4] R. G. Ross. “Principles of the business rule approach”. Addison-Wesley Longman Publishing Co., Inc. Boston, MA, USA, 2003.

[5] R. G. Ross. “The Point of Knowledge”. Business Rules Journal, vol. 11, No. 1 (Jan. 2010). Prieiga per internetą: http://www.BRCommunity.com/a2010/b515.html.

VI. VEIKLOS TAISYKLIŲ INTEGRACIJOS PAVYZDYS

Veiklos taisyklių valdymo sistemos Blaze Advisor in-teg racija buvo įgyvendinta kuriant pavyzdinę darbo orga-nizavimo sistemą. Apžvelgsime vienos taisyklės veikimą ir jos pateikiamą rezultatą.

Veiklos taisyklės teiginio šablonas – bazinė teiginio struk-tūra ar kalbos išraiška, naudojama taisyklei išreikšti [4].

Šablonu kuriama taisyklė susideda iš šių parametrų:• antraštės;• taisyklės objekto (tai gali būti užduoties ar įvykio

pavadinimas, užduočių skaičius – kiek vyksta tuo metu, trukmė, atsakingas asmuo, kūrėjas, pradžios ir pabaigos datos);

• palyginimo simbolio (<, >, =, <=, >=);• objekto reikšmės (reikšmė, su kuria lyginama, pa-

vyzdžiui, galima įrašyti datą, su kuria bus lygina-mos užduočių pradžios);

• grąžinimo tipo. Galimos jo reikšmės: o taisyklė neleidžia atlikti veiksmo: sukurti už-

duoties, pakeisti įvykio datos ir pan. Išveda-mas klaidos pranešimas;

o taisyklė leidžia vykdyti veiksmus;o taisyklė tik informuoja vartotojus ir išveda in-

formacinį pranešimą;• taisyklės grąžinamos reikšmės. Tai informacinis

pranešimas, parodomas vartotojui suveikus atitin-kamai taisyklei.

Tarkime, sukuriame taisyklę, kuri neleidžia priskir-ti užduočių, kai yra užduotis su pavadinimu „Atostogos“ (3 pav.).

3 PAV. VEIKLOS TAISYKLĖS PARAMETRŲ VALDYMAS

Bandydami įvesti naują užduotį, pasirenkame darbuo-tojo atostogų datą. Sistema iškviečia taisyklę ir patikrina,

Page 37: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

37

Santrauka. Straipsnyje siūlomas patobulintas neutronų ir pro-tonų pasiskirstymo atomo branduolio sluoksniuose skaičia-vimo algoritmas. Šio efektyvaus algoritmo pagrindu sukurta programa gali būti naudojama daug neutronų ir protonų turintiems branduoliams bei aukštoms branduolių sužadi-nimo energijoms.

Reikšminiai žodžiai: atomo branduolio sluoksnio modelis, m-schema, neutronų ir protonų pasiskirstymas sluoksniuose.

I. ĮVADAS

Viename iš galingiausių atomo branduolių savybių skaičiavimo programinių paketų Many Fermion Dynamic code kaip įvesties parametras naudojamas neutronų ir pro-tonų pasiskirstymas branduolio sluoksniuose [1]. Šis pa-siskirstymas paprastai apskaičiuojamas rankiniu būdu [2]. Bet, iš esmės, tai yra pilno perrinkimo uždavinys, ir didė-jant skaičiuojamo branduolio neutronų ir protonų skaičiui ir/arba branduolio sužadinimo energijai, labai greitai tampa žmogui sunkiai aprėpiamas. Turint omenyje šio uždavinio pobūdį, labai svarbu sukurti kuo efektyvesnį neutronų ir protonų pasiskirstymo radimo algoritmą. Šiame darbe buvo patobulintas esamas vieno iš straipsnio autorių (A. Devei-kio) šio pasiskirstymo radimo algoritmas. Naujasis algorit-mas ne mažiau nei 10 kartų viršija senojo algoritmo greitį, o didėjant branduolio sužadinimo energijai, jo privalumai ryškėja dar labiau.

II. ALGORITMO SUDARYMAS

Skaičiuojant neutrono ir protono pasiskirstymą atomo branduolio sluoksniuose, įvedimo parametrai yra neutronų ir protonų skaičius bei branduolio sužadinimo energijos kvantų skaičius. Išvesties parametrai – minimali branduo-lio energija, suminė branduolio energija, didžiausia neut-rono energija branduolyje, didžiausia protono energija branduolyje ir skaičiuojamo atomo branduolio sluoksnių skaičius. Kartu randamas viendalelių orbitalių skaičius skaičiuojamuose branduolio sluoksniuose. Ieškomą pasis-

kirstymą sudaro atomo branduolio sluoksniuose esančių neutronų ir protonų skaičiai: minimalus protonų skaičius sluoksnyje, maksimalus protonų skaičius sluoksnyje, mini-malus neutronų skaičius sluoksnyje, maksimalus neutronų skaičius sluoksnyje, minimalus neutronų ir protonų skai-čius sluoksnyje ir maksimalus neutronų ir protonų skaičius sluoksnyje. Neutronų ir protonų posistemės branduolyje yra nepriklausomos ir susietos tik sumine branduolio energija. Atomo branduolio būsenos sluoksnių modelio m-schemoje klasifikuojamos sluoksnio numeriu ir viendalelės orbitalės kvantiniais skaičiais. Sluoksnių numeriai yra sveiki skai-čiai 0, 1, 2, … . Viendalelės orbitalės charakterizuojamos dalelės energija e, orbitiniu judesio kiekio momentu l ir pil-nutiniu judesio kiekio momentu j. Vienos dalelės energija e lygi 2n+l, kur n=0,1, … – pagrindinis kvantinis skaičius. Pilnutinis judesio kiekio momentas j yra vektorinė orbitinio judesio kiekio momento ir sukinio suma.

Programos darbo pradžioje randamas maksimalus neut-ronų skaičius sluoksnyje. Toliau nustatoma minimali neut-ronų posistemės branduolyje energija, apskaičiuojama, kokį aukščiausią sluoksnį branduolyje užima neutronas ir iki kokio aukščiausio sluoksnio, esant duotai branduolio sužadinimo energijai, gali būti sužadintas neutronas. Ana-logiški skaičiavimai atliekami protonų posistemei, įskai-tant nuo neutronų posistemės likusią ir jai tenkančią atomo branduolio energiją. Toliau randama suminė (pilnutinė) branduolio energija bei aukščiausia energija, iki kurios gali būti sužadinta viena iš dalelių: neutronas arba protonas. Iš šių duomenų nustatomas branduolio užimtų (skaičiuojamų-jų) sluoksnių skaičius bei viendalelių orbitalių skaičius.

Toliau neutronai ir protonai išdėstomi į minimalios branduolio energijos būsenas ir pilno perrinkimo būdu randamos visos galimos dalelių konfigūracijos esant nu-rodytam branduolio sužadinimui. Algoritmo efektyvumas žymia dalimi priklauso nuo sąlygų, ribojančių pilną konfi-gūracijų perrinkimą.

Kadangi neutronai ir protonai yra tapatingos dalelės, pilno perrinkimo metu gaunamas didelis skaičius pasikar-tojančių viendalelių orbitalių. Šių atvejų identifikavimas ir atmetimas leidžia žymiai pagreitinti algoritmo veikimą. Op-timizuotoje programoje viendalelės orbitalės perrenkamos

Neutronų ir protonų pasiskirstymo atomo branduolio sluoksniuose skaičiavimas

Anton FedurtsyaVytauto Didžiojo universitetas, Informatikos fakultetas

Kaunas, LietuvaEl. paštas: [email protected]

doc. dr. Algirdas DeveikisVytauto Didžiojo universitetas, Informatikos fakultetas

Kaunas, LietuvaEl. paštas: [email protected]

Page 38: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

38

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

taip, kad pagrindinio konfigūracijų perrinkimo ciklo vyk-dymo metu pakanka einamąją viendalelę orbitalę palyginti su prieš ją buvusia orbitale ir joms sutapus pereiti prie ki-tos. Didėjant branduolio sužadinimui eksponentiškai didėja ir perrenkamų viendalelių orbitalių skaičius, kartu palyginti su ankstesniuoju algoritmu didėja ir naujojo algoritmo pra-našumas. Kitas ankstesnės programos pagreitinimas buvo gautas optimizavus neutronų ir protonų posistemių energi-jos perskaičiavimą pagrindinio konfigūracijų perrinkimo ciklo vykdymo metu. Neutronų ir protonų posistemių ener-gijos, skirtingai nei ankstesniame algoritme, randamos ne kaskart sumuojant visų dalelių energijas, o akumuliuojant šią energijos reikšmę atrinktų, nepasikartojančių viendale-lių orbitalių sudarymo metu. Didėjant dalelių skaičiui (jau nuo 10 branduolį sudarančių dalelių), dėl tokio pakeitimo naujojo algoritmo vykdymo greitis ima lenkti ankstesniojo algoritmo vykdymo greitį.

III. EKSPERIMENTAS

Testuojant programą, buvo gauti programos vykdymo laikai, imant pavyzdžiu branduolį, sudarytą iš 5 neutronų ir 5 protonų, ir keičiant branduolio sužadinimo energiją. Re-zultatai pateikti 1 lentelėje.

1 LENTELĖ. PROGRAMOS VYKDYMO LAIKO PIKLAUSOMYBĖ BRANDUOLIUI SU 5 NEUTRONAIS IR 5 PROTONAIS NUO BRANDUOLIO SUŽADINIMO

ENERGIJOS

Optimizuota programa Neoptimizuota programa

E Laikas (sek) Log 10 (Laikas)

Laikas (sek) Log 10 (Laikas)

4 0,002 -2,699 0,015 -1,824

5 0,006 -2,222 0,016 -1,796

6 0,016 -1,796 0,063 -1,201

7 0,031 -1,509 0,17 -0,770

8 0,078 -1,108 0,453 -0,344

9 0,141 -0,851 1,078 0,033

10 0,266 -0,575 2,421 0,384

11 0,515 -0,288 5,344 0,728

12 0,953 -0,021 11,14 1,047

13 1,735 0,239 22,797 1,358

14 3,109 0,493 44,985 1,653

15 5,422 0,734 87,141 1,940

16 9,422 0,974 164,312 2,216

17 15,797 1,199 305,031 2,484

18 26,219 1,419 552,953 2,743

19 43,016 1,634 975,237 2,989

20 69,609 1,843 1719,596 3,235

21 111,234 2,046 3032,832 3,482

22 175,313 2,244 5343,85 3,728

Optimizuota programa Neoptimizuota programa

E Laikas (sek) Log 10 (Laikas)

Laikas (sek) Log 10 (Laikas)

23 276,306 2,441 9424,888 3,974

24 441,556 2,645 16621,732 4,221

25 705,599 2,849 28988,302 4,462

1 lentelėje parodyta optimizuotos ir neoptimizuotos programos vykdymo laikai bei jų logaritmai. Vykdymo laikai matuoti naudojant standartinę FORTRAN funkciją dclock(). Matyti, kad sužadinimo energijai pasiekus 25, optimizuoto algoritmo vykdymo laikas skiriasi nuo neopti-mizuoto apie 40 kartų (ir didėja esant didesnei energijai).

1 PAV. ALGORITMŲ VEIKIMO GREIČIŲ PALYGINIMAS BRANDUOLIUI SU 5 NEUTRONAIS IR 5 PROTONAIS PRIKLAUSOMAI NUO BRANDUOLIO

SUŽADINIMO ENERGIJOS

Didesnio dalelių kiekio įtaka esant skirtingoms bran-duolio sužadinimo energijoms pavaizduota 2 lentelėje.

2 LENTELĖ. PROGRAMOS VYKDYMO LAIKO PIKLAUSOMYBĖ BRANDUOLIUI SU 8 NEUTRONAIS IR 8 PROTONAIS NUO BRANDUOLIO SUŽADINIMO

ENERGIJOS

Optimizuota programa Neoptimizuota programa

E Laikas (sek) Log 10 (Laikas) Laikas (sek) Log 10

(Laikas)6 0,015 -1,824 0,094 -1,027

7 0,047 -1,328 0,312 -0,506

8 0,157 -0,804 1 0,000

9 0,422 -0,375 2,984 0,475

10 1,032 0,014 8,537 0,931

11 2,438 0,387 22,25 1,347

12 5,641 0,751 56,968 1,756

13 12,484 1,096 139,625 2,145

14 26,859 1,429 331,875 2,521

15 56,281 1,750 758,141 2,880

16 115,672 2,063 1705,422 3,232

Page 39: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

39

ANTON FEDURTSYA, ALGIRDAS DEVEIKIS · NEUTRONŲ IR PROTONŲ PASISKIRSTYMO ATOMO BRANDUOLIO SLUOKSNIUOSE SKAIČIAVIMAS

2 PAV. ALGORITMŲ VEIKIMO GREIČIŲ PALYGINIMAS BRANDUOLIUI SU 8 NEUTRONAIS IR 8 PROTONAIS PRIKLAUSOMAI NUO BRANDUOLIO

SUŽADINIMO ENERGIJOS

Pusiau logaritminiuose 1 pav. ir 2 pav. masteliuose aiš-kiai matyti eksponentinis uždavinio sudėtingumo augimo pobūdis, būdingas pilno perrinkimo uždaviniams.

3 lentelėje iliustruojame programos vykdymo laiko priklausomybę nuo branduolį sudarančių dalelių skaičiaus esant fiksuotai branduolio sužadinimo energijai.

3 LENTELĖ. PROGRAMOS VYKDYMO LAIKO PRIKLAUSOMYBĖ NUO BRANDUOLĮ SUDARANČIŲ DALELIŲ SKAIČIAUS ESANT FIKSUOTAI

SUŽADINIMO ENERGIJAI (10)

Optimizuota programa Neoptimizuota programa

N Laikas (sek) Log 10 (Laikas) Laikas (sek) Log 10

(Laikas)3 0,006 -2,22 0,109 -0,96

4 0,062 -1,21 0,57 -0,24

5 0,266 -0,58 2,44 0,39

6 0,641 -0,19 5,61 0,75

7 0,969 -0,01 8,36 0,92

8 1,032 0,01 8,61 0,94

9 4,61 0,66 43,85 1,64

10 16,95 1,23 163,032 2,21

3 PAV. LOGARITMINIŲ LAIKO GRAFIKŲ PALYGINIMAS SU SKIRTINGOMIS NEUTRONŲ IR PROTONŲ KONFIGŪRACIJOMIS, NEKEIČIANT SUŽADINIMO

ENERGIJOS (N=10)

3 ir 4 lentelėse bei 3 pav. ir 4 pav. N yra neutronų ir pro-tonų skaičius branduolyje, pavyzdžiui, jeigu N = 10, bran-

duolį sudaro 10 neutronų ir 10 protonų. Grafiškai progra-mos vykdymo laiko priklausomybė nuo dalelių skaičiaus branduolyje pavaizduota 3 pav. ir 4 pav.

Padidinę sužadinimo energiją iki 12, gautus rezultatus pateikiame 4 lentelėje.

4 LENTELĖ. PROGRAMOS VYKDYMO LAIKO PRIKLAUSOMYBĖ NUO BRANDUOLĮ SUDARANČIŲ DALELIŲ SKAIČIAUS ESANT FIKSUOTAI

SUŽADINIMO ENERGIJAI (12)

Optimizuota programa Neoptimizuota programa

N Laikas (sek) Log 10 (Laikas) Laikas (sek) Log 10

(Laikas)3 0,016 -1,80 0,343 -0,46

4 0,218 -0,66 2,657 0,42

5 1,047 0,02 11,125 1,05

6 2,828 0,45 28,703 1,46

7 4,579 0,66 48,782 1,69

8 5,609 0,75 58,219 1,77

9 25,609 1,41 293,907 2,47

10 94,016 1,97 1133,75 3,05

4 PAV. LOGARITMINIŲ LAIKO GRAFIKŲ PALYGINIMAS SU SKIRTINGOMIS NEUTRONŲ IR PROTONŲ KONFIGŪRACIJOMIS, NEKEIČIANT SUŽADINIMO

ENERGIJOS KIEKIO, N=12

Neutronų ir protonų pasiskirstymas atomo branduolio sluoksniuose iliustruojamas atskiriems atvejams, pateik-tiems 5 pav. ir 6 pav.

5 PAV. NEUTRONŲ IR PROTONŲ PASISKIRSTYMAS ATOMO BRANDUOLIO SLUOKSNIUOSE ESANT BRANDUOLIO NEUTRONŲ SKAIČIUI 12, BRANDUOLIO

PROTONŲ SKAIČIUI 8, BRANDUOLIO SUŽADINIMO ENERGIJAI 9

Page 40: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

40

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

IV. IŠVADOS

Sukurtas patobulintas neutronų ir protonų pasiskirsty-mo atomo branduolio sluoksniuose skaičiavimo algoritmas ir jo programinė realizacija gali buti naudojama programi-niame pakete Many Fermion Dynamic code. Pateiktų al-goritmų realizuotos programos galimybių visiškai pakanka ne tik esamiems šio programų paketo skaičiavimams, bet ir sunkesniems nei šiuo metu numatoma skaičiuoti branduo-liams bei aukštesnėms sužadinimo energijoms.

LITERATŪRA

[1] P. Navratil et al. “Recent developments in no-core shell-model calculations”. In: J. Phys. G: Nucl. Part. Phys. 36 (2009) 083101. Prieiga per internetą: http://iopscience.iop.org/0954-3899/36/8/ 083101.

[2] A. Deveikis. “Construction of efective interactions in m-scheme oscillator shell model”. Lithuanian Journal of Physics. Vilnius: FISICA, 2001, vol. 41, No. 3, p. 188–194.

6 PAV. NEUTRONŲ IR PROTONŲ PASISKIRSTYMAS ATOMO BRANDUOLIO SLUOKSNIUOSE ESANT BRANDUOLIO NEUTRONŲ SKAIČIUI 9, BRANDUOLIO

PROTONŲ SKAIČIUI 9, BRANDUOLIO SUŽADINIMO ENERGIJAI 12

5 pav. iliustruoja neutronų ir protonų pasiskirstymą branduolyje, kai šių posistemių dalelių skaičiai yra skirtin-gi, o 6 pav. – kai jų skaičiai sutampa. Pirmuoju aveju ma-tomas aiškiai nesimetrinis dalelių pasiskirstymas atskirose neutronų ir protonų posistemėse.

Page 41: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

41

Santrauka. Šiame straipsnyje nagrinėjami egzistuojantys ERP integravimo su įmonių informacinėmis sistemomis metodai. Analizuojamas konkretus taikomųjų programų integravimo uždavinys ir pramoninė jo realizacija.

Reikšminiai žodžiai: ERP, integravimas, integravimo metodai, TIS.

I. ĮVADAS

Pastaraisiais metais smarkiai išaugusi programinės įran-gos pasiūla verslo įmonėms iškėlė naujų galvosūkių ir iš-šūkių. Jos priverstos peržiūrėti įmonėje funkcionuojančias informacines sistemas ir ieškoti būdų, kaip geriau integ-ruoti jas vieną su kita ir taip išvengti duomenų ir procesų dubliavimo bei sumažinti darbo jėgos poreikį.

Pastaruoju metu nepaprastai išpopuliarėjo ERP (angl. Enterprise Resource Planning) sistemos, kurių diegėjai dažnai susiduria su įvairiais sunkumais, pavyzdžiui, į ben-drus veiklos procesus reikia sujungti įmonėje veikiančias liktines sistemas ir ERP. Kiekvienas toks atvejis yra spe-cifinis, bet įmonėms dažniausiai reikia rinktis: aukoti savo laiką ir pinigus liktinių sistemų integravimui su ERP arba pirkti brangius standartinius ERP modulius, tik iš dalies ati-tinkančius jų poreikius.

Šiame straipsnyje aprašomas vieno realaus atvejo ty-rimas. AB „Kauno tiltai“ reikėjo sukurti transporto infor-macinę sistemą (TIS), suderintą su įmonėje naudojamu Microsoft Dynamics AX 4.0 paketu. Buvo svarstomi šie sprendimo būdai: kurti naują transporto IS, pirkti Dyna-mics AX diegėjų siūlomą transporto modulį ar tobulin-ti esamą liktinę sistemą. Priėmus sprendimą kurti naują transporto IS, iškilo nauja problema: kaip integruoti šią sistemą su įmonėje įdiegta ERP. Išnagrinėti integravimo metodai, pasirinktas autonominio integravimo sprendimas ir šį sprendimą realizuojant įgyta patirtis gali būti naudin-ga sprendžiant ERP integravimo su išorinėmis sistemomis metu iškylančias problemas ir renkantis geriausią integra-vimo būdą.

II. ERP INTEGRAVIMO SU ĮMONIŲ INFORMACINĖMIS SISTEMOMIS METODŲ ANALIZĖ

Pastaraisiais metais daugelis stambesnių ir net visai nedi-delių organizacijų jau įdiegė ar svarsto galimybę diegti ERP sistemas. Atsiradę ERP paketai turėjo išspręsti įmonių tai-komųjų programų integravimo EAI (angl. Enterprise Appli-cation Integration) problemas, bet iš tiesų jų tik padaugėjo, nes ERP negali pakeisti visų įmonei reikalingų informacinių sistemų [8]. Nors ERP paketas teoriškai gali integruoti visą įmonės veiklą, jis neapima visų taikomųjų programų ir tieki-mo grandinės integravimo poreikių [3], [4].

Daugelis ERP diegimų nebuvo sėkmingi, dėl to nema-žai tyrimų skiriama šių nesėkmių priežastims išsiaiškinti. Kritiniais ERP sistemų sėkmės faktoriais dažnai laikomi sėkmingo projektų valdymo veiksniai, pavyzdžiui, ERP diegimo tikslų aiškumas, vartotojų pasirengimas ir moky-mas, projekto komandos kompetencija, teigiamas požiūris į pokyčius, ERP tiekėjo parama ir išorinių konsultantų da-lyvavimas [7]. Vis dėlto, kaip teigia O. Kerimoglu [5], į ERP taikymą negalima žiūrėti tik kaip į technologinį spren-dimą. Norint optimizuoti ERP potencialą, reikia minimi-zuoti spragas tarp technologijų, žmonių ir įmonės veiklos procesų.

Įmonių integravimo poreikiai labai dideli. Šiuolai-kinės įmonės siekia į visumą sujungti savo ERP, SCM (angl. Supply Chain Management), CRM (angl. Customer Relationship Management) ir kitas sistemas bei turėti nenu-trūkstančius, nuoseklius veiklos procesus, kurie aprėptų ne tik įmonės vidines sistemas, bet ir leistų bendrauti tiekėjų, pirkėjų, partnerių programų sistemoms. Skirtingų organi-zacijų informacinių sistemų integravimo problemas leidžia išspręsti tinklo paslaugų architektūra SOA (angl. Service Oriented Architecture), tačiau įmonių vidinėms sistemoms integruoti tinklo paslaugų architektūra ne visada yra ge-riausias sprendimas [9].

Minėtajam AB „Kauno tiltai“ taikomųjų programų in-tegravimo uždaviniui renkantis tinkamiausią sprendimą, buvo išnagrinėti įvairūs integravimo metodai, suklasifikuo-ti įvairių autorių. D. Linthicumas apibrėžė įmonės taikomų-jų programų integravimą kaip neribotą bet kokių taikomųjų

ERP ir kitų įmonėje veikiančių informacinių sistemų integravimas

Mantas GolcasInformatikos fakultetas, Informacijos sistemų katedra

Kauno technologijos universitetasKaunas, Lietuva

El. paštas: [email protected]

Lina NemuraitėInformatikos fakultetas, Informacijos sistemų katedra

Kauno technologijos universitetasKaunas, Lietuva

El. paštas: [email protected]

Page 42: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

42

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

programų ir duomenų šaltinių naudojimą įmonės duomenų apdorojimo ir veiklos procesuose [10]. Jis suskirstė įmo-nių integravimo metodus į duomenų, taikomųjų programų ir veiklos procesų integravimą. H. Chengas nagrinėja B2B (angl. Business-to-business), B2C (angl. Business-to-con-sumer) integravimo metodus. B2B integravimas apibrėžia duomenų apsikeitimą tarp verslo įmonių per viešus ar pri-vačius, apsaugotus ar neapsaugotus tinklus [9]. Jo tikslas – užtikrinti informacijos koordinavimą tarp verslo įmonių ir jų informacinių sistemų. B2C integracija suteikia galimybę išoriniams vartotojams (klientams, tiekėjams) prisijungti prie verslo sistemų, kad galėtų pirkti ar parduoti prekes bei paslaugas [9]. Pagrindinis dėmesys skiriamas verslo proce-sų lankstumui užtikrinti, kad įmonė galėtų laisvai valdyti, keisti verslo sistemos ir kliento sąsają bei jos parametrus.

Architektūriniu požiūriu integravimas skirstomas į papildomų modulių (įskiepių) ir autonominį integravimą [3], [4]. Įskiepio (angl. Add-on) integravimas – tipiškas realaus laiko valdymo integravimas, kuriame kiekviena in-tegruojamo modulio funkcija reikiamu momentu gali būti sužadinama ERP aplinkoje. Galimas ir atvirkštinis varian-tas (1 pav.). Pagrindinės šio integravimo metodo savybės:

• abi integruojamos sistemos priklauso viena nuo ki-tos;

• abi sistemos dalijasi bendrais metodais ir faktiškai tampa viena kompleksine informacine sistema;

• veiklos procesai glaudžiai susieti, greitesnis veiki-mas, tačiau didesni modifikavimo, testavimo porei-kiai, didesnė rizika ir išlaidos.

1 PAV. PRINCIPINĖS ERP IR ĮSKIEPIO SĄVEIKOS

Esant autonominiam (angl. Off-line) integravimui, visi veiksmai ir valdymas perduodamas integruotam moduliui, o abiejų sistemų duomenys susinchronizuojami pasirinktu momentu. Šiuo atveju abi sistemos veikia autonomiškai. Jos keičiasi duomenimis skaitymo (angl. read-only) teisė-mis, nė vienai iš jų nėra prieinamos kitos sistemos procesų ir funkcijų aibės (2 pav.).

Pagrindinės autonominio integravimo savybės:• sistemos veikia nepriklausomai, tačiau esant porei-

kiui jų duomenis galima sujungti;• vienos IS modifikavimas ar versijos pakeitimas ne-

veikia kitos;• sistemas lengviau modifikuoti, pašalinti ar pakeisti

kita;

• šis integravimas lankstesnis, perspektyvesnis atei-čiai.

2 PAV. PRINCIPINĖS SISTEMŲ SĄVEIKOS AUTONOMINIO INTEGRAVIMO ATVEJU

III. AB „KAUNO TILTAI“ TRANSPORTO IS KŪRIMO IR INTEGRAVIMO METODO PASIRINKIMAS

Naujo transporto modulio kūrimo būtinybė AB „Kau-no tiltai“ atsirado tada, kai buvo įdiegtos Dynamics AX ir Alga 20001 programos. Transporto IS tikslais tapo kuro ir transporto priemonių apskaitos procesų kompiuterizavimas, padedant išvengti įvedamų duomenų ir apskaitos procesų dubliavimo. Šie tikslai pasiekti integravus įmonėje vei-kiančias taikomąsias programas. Sprendžiant klausimą dėl AB „Kauno tiltai“ transporto IS kūrimo, buvo analizuojami trys galimi variantai:

• įdiegti standartinį Dynamics AX transporto modulį;• integruoti iki šiol AB „Kauno tiltai“ naudotą liktinį

UAB „Optimalūs projektai“ TSM transporto mo-dulį [1];

• taikyti partnerių UAB „Informacijos alėja“ siūlomą kuro apskaitos sistemą (KAS) [2].

Šių variantų lyginimas pateiktas 1 lentelėje.

1 LENTELĖ. LYGINAMOJI ANALIZĖ

Lyginimo kriterijusDynamics AX

transporto modulis

TSM transporto

modulis

UAB „Infor-macijos alė-ja“ KAS*

AB „Kauno Tiltai“ transporto priemonių ir kuro apskaitos procesų atitiktis

- + -

Naujausių valstybinių transporto priemonių ir kuro apskaitos reikala-vimų atitiktis

+ - -

Suderinamumas su Dynamics AX + - -

Programavimo galimy-bių buvimas

+ - -

1 Alga 2000 – AB „Kauno Tiltai“ įmonėje naudojama personalo bei darbo apmokėjimo procesų valdymo ir apskaitos sistema

Page 43: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

43

MANTAS GOLCAS, LINA NEMURAITĖ · ERP IR KITŲ ĮMONĖJE VEIKIANČIŲ INFORMACINIŲ SISTEMŲ INTEGRAVIMAS

Lyginimo kriterijusDynamics AX

transporto modulis

TSM transporto

modulis

UAB „Infor-macijos alė-ja“ KAS*

Integralumas su kitomis išorinėmis programo-mis (Alga 2000*, MS Project 2008 serveriu)

- - -

Skirtingų užsienio kalbų (ypač lenkiškos) versi-jos galimybė

+ - +

Laiku pateiktas sistemos palaikymas ir modifi-kacijos

+ - +

Nors Dynamics AX transporto modulis kompiuterizuoja kuro apskaitą pagal naujausius valstybinius reikalavimus, jis neatitinka AB „Kauno tiltai“ transporto priemonių ir kuro apskaitos procesų, nėra integruojamas su įmonėje nau-dojama Alga 2000 programa. Kitos dvi sistemos neatitiko daugumos keliamų reikalavimų, dėl to buvo pasirinktas sprendimas kurti atskirą transporto modulį, kuris būtų in-tegruojamas su ERP sistema, naudojant bendrą įmonės di-mensijų koduočių sistemą.

Transporto IS įeinančių ir išeinančių duomenų srautų ir sąveikų su kitomis įmonėje naudojamomis sistemomis modelis pateiktas konteksto diagrama 3 pav.

3 PAV. NAUJOS TRANSPORTO IS VEIKLOS KONTEKSTO DIAGRAMA

IV. REALIZACIJA

Realizacijos etape, remiantis projektavimo etapo mode-liais bei specifikacijomis, sukurti Transporto IS veikiantys transporto priemonių, kelionės lapų, kuro išdavimo, atas-kaitų ir pagrindinio posistemių prototipai. Toliau aprašyti TIS integravimui su Dynamics AX ir Alga 2000 programo-mis taikomi sprendimai.

A. Dynamics AX ir Transporto IS integracijos realizacijaRealizuota Transporto IS integruota su ERP sistema

Dynamics AX: naudojami ilgalaikio turto (AssetTable), pada-linių ir objektų (Dimensions), tiekėjų (VendTable) ir klientų (CustTable) ERP sistemos lentelių duomenys, vartotojo nau-

dojami įrašai sinchronizuojami su Transporto IS DB. Dyna-mics AX sistemoje duomenis pildo buhalteriai, todėl dispeče-riui, dirbančiam tik su Transporto IS, nereikia tuo rūpintis ir duomenys nėra dubliuojami, kaip liktinės sistemos atveju.

Transporto IS ir Dynamics AX integravimo procesas susideda iš:

• ilgalaikio turto integravimo;• dimensijų (padalinių ir objektų) integravimo;• tiekėjų integravimo;• klientų integravimo.

4 PAV. KONCEPCINĖ TRANSPORTO IS IR DYNAMICS AX SĄVEIKŲ DIAGRAMA

B. Alga 2000 ir Transporto IS integracijos realizacija

Transporto IS integruota su Alga 2000 (5 pav.) naudo-jant csv failų eksporto / importo funkcionalumą. Standar-tinis Alga 2000 importavimo funkcionalumas netinka šiai specifinei situacijai, todėl teko papildomai modifikuoti duomenų importą ir pritaikyti jį įmonės poreikiams.

Eksporto / importo veiksmų eiga:1. Iš TIS išeksportuojami duomenys į csv failą (nuro-

domas eksportuojamų duomenų periodas);2. Naudojant specialiai šiam atvejui pritaikytą

Alga 2000 importo funkcionalumą, duomenys iš TIS suformuoto csv failo importuojami į Alga 2000 programą;

5 PAV. KONCEPCINĖ TIS IR ALGA 2000 INTEGRAVIMO SEKOS DIAGRAMA

Page 44: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

44

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

jamas naujos ERP versijos poveikis TIS: fiksuojami atlie-kami TIS pakeitimai diegiant naują ERP versiją 1 mėnesio laikotarpiu.

III eksperimento dalyje buvo stebimas integruojamų sistemų sąveikos laikas. Atlikta 50 stebėjimų per 2 mėne-sius 4 integruojamose srityse (ilgalaikio turto integravimo, dimensijų (padalinių ir objektų) integravimo, tiekėjų integ-ravimo, klientų integravimo), fiksuotas įrašų gavimo ir sinchronizavimo laikas.

V.IV. ANALIZĖ IR INTERPRETAVIMAS

C. Klaidų stebėjimas (I eksperimento dalis)Per pirmus 4 mėnesius daugumą klaidų sudarė analizės

ir projektavimo klaidos. Didžioji dalis klaidų pastebėta ke-lionės lapų posistemyje.

6 PAV. TIS POSISTEMIUOSE UŽFIKSUOTŲ KLAIDŲ GRAFIKAS (PER PIRMUS 4 MĖNESIUS)

Antroje eksploatavimo fazėje (per 5–8 mėnesius) pa-šalinta dauguma programavimo, techninės bei analizės ir projektavimo klaidų. Užsakovas pateikė nemažai naujų funkcinių reikalavimų, kurie nebuvo numatyti kuriant pro-gramą. Pagrindinės šių klaidų priežastys: pasikeitusi verslo aplinka, užsakovai bei jų tolesnės plėtros vizija, atsiradę nauji užsakovai.

7 PAV. TIS POSISTEMIUOSE UŽFIKSUOTŲ KLAIDŲ GRAFIKAS (PER 5–8 MĖNESIUS)

V. EKSPERIMENTAS

V.I. EKSPERIMENTO APIBRĖŽIMAS

Eksperimentas – realaus AB „Kauno tiltai“ atvejo ty-rimas (angl. Industrial case study). Jis susideda iš 3 dalių, kurių tikslai: įsitikinti, kad kuriant Transporto IS pasirink-tas sistemų integravimo metodas užtikrina tinkamą klai-dų skaičių, t. y. nėra didesnis negu 0,33 klaidos per dieną (I dalis); nustatyti ERP pasikeitimų poveikį Transporto IS veikimui (II dalis); įsitikinti, kad informacijos perdavimo laikas integruotų sistemų sąveikos metu yra priimtinas (III dalis).

V.II. EKSPERIMENTO PLANAVIMAS

Eksperimento metu buvo numatyta atlikti realaus atvejo tyrimą AB „Kauno Tiltai“.

I eksperimento dalyje buvo numatyta stebėti dispečerės darbą naująja TIS, kol bus pasiekta norima sistemos koky-bė. Pirmajam stebėjimo laikotarpiui numatyti 4 mėnesiai. Eksperimento subjektas – dispečerė, stebimas objektas – mėnesinis kuro apskaitos procesas. Nepriklausomi kinta-mieji – TIS posistemiai (pagrindinis, transporto, kuro iš-davimo ir kelionės lapų posistemiai) ir fiksuojamų klaidų grupės (analizės ir projektavimo, funkcinių reikalavimų, techninės ir programavimo klaidos). Priklausomi kintamie-ji – vidutinis įvairių grupių klaidų skaičius per dieną. Ši eksperimento dalis siekia patvirtinti, kad klaidų skaičius su pasikliovimo lygmeniu α = 0,05 naujajame TIS bus ne didesnis negu 0,33 klaidos per dieną (t. y. ne daugiau kaip 10 klaidų per mėnesį).

II eksperimento dalyje numatyta fiksuoti naujos ERP versijos sukeltus pokyčius ir galimybes jų išvengti ateityje. Čia subjektas – programuotojas, objektas – Transporto IS. Nepriklausomas kintamasis – naujos ERP versijos diegi-mas, priklausomi kintamieji – TIS pakeitimai.

III eksperimento dalyje buvo numatyta stebėti integ-ruojamų sistemų sąveikos laiką. Stebimas objektas – kuro apskaitos procesas, subjektas – dispečerė. Nepriklausomi kintamieji – integruojamos sritys: ilgalaikio turto integravi-mas, dimensijų (padalinių ir objektų) integravimas, tiekėjų integravimas, klientų integravimas. Priklausomi kintamie-ji – įrašų išgavimo ir sinchronizavimo laikas.

V.III. EKSPERIMENTO VYKDYMAS

I eksperimento dalyje buvo stebimos 4 tipų klaidos ke-turiuose skirtinguose TIS posistemiuose ir fiksuojami re-zultatai. Per 4 mėnesių stebėjimą atlikta 120 bandymų, per visą stebėjimo laikotarpį – vienerius metus – atlikta apie 500 bandymų. Rezultatų lentelę pildė TIS kūrėjas, todėl iš-lieka reali tikimybė, kad dispečerė galėjo nepranešti visų iškilusių klaidų. Kai kurias klaidas galima ištaisyti pasirin-kus alternatyvų veiksmą.

II eksperimento dalies vykdymo metu buvo analizuo-

Page 45: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

45

MANTAS GOLCAS, LINA NEMURAITĖ · ERP IR KITŲ ĮMONĖJE VEIKIANČIŲ INFORMACINIŲ SISTEMŲ INTEGRAVIMAS

8 PAV. TIS POSISTEMIUOSE UŽFIKSUOTŲ KLAIDŲ GRAFIKAS (PER 9–12 MĖNESIUS)

Paskutiniu stebėjimo periodu (per 9–12 mėnesius) pa-vyko iki minimumo sumažinti įvairaus pobūdžio klaidų skaičių. Tai lėmė nusistovėjusi užsakovo pozicija ir paša-lintos ankstesnės klaidos.

2 LENTELĖ. BENDRO KLAIDŲ SKAIČIAUS PER DIENĄ ĮVERTINIMAI

Kriterijus /Laikotarpis

Per 1–4 mėn.

Per 5–8 mėn.

Per 9–12 mėn.

Vidurkis, x 0,67 0,43 0,27

Variacija, s2 2,78 1,28 0,47

Standartinis nuokrypis, s 1,67 1,13 0,69

Defektų tankis, d 0,30 0,20 0,12

I eksperimento dalies rezultatų statistiniai įvertinimai pateikti 2 lentelėje (įvertinimai atlikti pagal bendrą visų tipų klaidų skaičių visuose keturiuose posistemiuose).

Iš eksperimento rezultatų matome, kad per trečiąjį lai-kotarpį pasiektas norimas klaidų lygis, t. y. klaidų vidurkis x < 0,27, jo pasikliovimo intervalo ribos su pasikliovimo lygiu α = 0,05 yra 0,15 ≤ x ≤ 0,39.

D. Transporto IS veikimo ir ERP pasikeitimų poveikio tyrimas (II eksperimento dalis)Kadangi Transporto IS ir Dynamics AX integravimas

vykdomas duomenų bazės lygiu, realizuotai transporto pro-gramai neturi įtakos dažniausiai pasitaikantys Dynamics AX vartotojo sąsajos ir veiklos logikos pokyčiai. Duomenų ba-zės schemos pokyčiai pagal Dynamics AX vystymo strate-giją būna minimalūs, galimi tik schemos išplėtimai ar laukų ilgių pakeitimai.

Pavyzdžiui, Dynamics AX 4.0 migruojant į Dynamics AX 2009 versiją, buvo atlikti šie pakeitimai:

• padidėjus Dynamics AX 2009 DB Dimensions len-telės Num atributo ilgiui nuo 10 iki 13 simbolių, reikėjo atlikti identiškus pakeitimus TIS DB len-telėse Department ir Workplace. Taip pat reikėjo atlikti TIS duomenų sinchronizavimo su Dynamics AX Dimensions lentele proceso, išsaugančio naujus padalinius ar objektus į TIS DB, pakeitimus;

• padidėjus Dynamics AX 2009 DB lentelių privalo-mo atributo DataAreaId ilgiui nuo 3 iki 4 simbolių, identiškus pakeitimus reikėjo atlikti visose TIS DB lentelėse.

Išanalizavus ERP pasikeitimų poveikį TIS ir nustačius, kad dažniausias ERP DB įvykstantis pokytis – laukų ilgio pailginimas, buvo numatytas modifikavimas, palengvinan-tis šio integravimo sprendimo eksploatavimą, – visoms TIS DB lentelėms sukurti trigerius, kurie bus atsakingi už ERP DB pasikeitimų stebėjimą ir atitinkamų TIS DB korekcijų vykdymą.

E. Informacijos perdavimo laiko tyrimas (III eksperimento dalis)Informacijos perdavimo laikas TIS integravimo sritims

buvo stebimas 2 mėnesius. Atliktų 50 bandymų 4 integruo-jamose srityse rezultatai surašyti į integravimo sprendimo lentelę.

Išanalizavus surinktus duomenis, galima daryti išvadą: maksimalus informacijos perdavimo laikas – 3 sek. – yra priimtinas. Taip užtikrinamas saugus ir nenutrūkstamas duomenų pasikeitimas.

3 LENTELĖ. INFORMACIJOS PERDAVIMO LAIKO TYRIMAS

Integruojama sritis

Įrašų gavimo laiko iš ERP DB vidurkio įvertinimas,

sek.

Pasirinkto įrašo sinchronizavi-mo su TIS DB laiko vidurkio

įvertinimas, sek.

Bendro in-formacijos perdavimo laiko įverti-nimas, sek.

Ilgalaikio turto integravimas

2 1 3

Dimensijų (pa-dalinių ir objek-tų) integravimas

1 1 2

Tiekėjų integra-vimas

1 1 2

Klientų integra-vimas

1 1 2

VI. IŠVADOS

1. AB „Kauno tiltų“ taikomųjų programų integravimo uždaviniui nagrinėti pasirinktas duomenų integravimu pa-remtas autonominis integravimo sprendimas, kuris šiuo atveju geriausiai pasiteisino sudėtingumo, laiko parametrų, kainos ir kitais požiūriais, o svarbiausia – buvo gerai sude-rintas su įmonės veiklos procesais ir nesukėlė neigiamos darbuotojų reakcijos.

2. Autonominio integravimo metodika integruojamoms sistemoms leidžia veikti nepriklausomai: tai palengvina IS modifikavimą, migravimą į naują versiją ar net IS pakeiti-mą kita adekvačia sistema.

3. Klaidų stebėjimas, testavimas ir jų šalinimas eksplo-atavimo metu parodė, kad dažniausiai pasitaikė programa-vimo ir funkcinių reikalavimų klaidų. Iš sistemos jos buvo

Page 46: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

46

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

šalinamos palaipsniui, kol po vienerių funkcionavimo metų pavyko pasiekti priimtiną klaidų lygį. Išanalizavus siste-mos klaidas, bus numatytos gairės, kaip tobulinti kūrimo procesą tolesnės ERP plėtros metu.

LITERATŪRA

[1] UAB „Optimalūs projektai“ TSM transporto modulis [žiūrėta 2008-10-08]. Prieiga per internetą: http://www.projects.lt.

[2] Įmonės išteklių valdymas (ERP) – Kuro apskaitos sistema [žiū-rėta 2008-10-09]. Prieiga per internetą: http://www.softconsul-ting.lt/next.php?nr=6&select=prieziura_remontas&solution_nr=271.

[3] M. Themistocleous, Z. Irani, E. D. Peter. Love, Enterprise appli-cation integration: an emerging technology for integrating ERP and supply chains. ECIS, 2002, p. 1–10.

[4] M. Themistocleous, Z. Irani, R. O‘Keefe, R. Paul. ERP Pro-blems and Application Integration Issues: An Empirical Sur-vey. Information Systems Evaluation Group Department of

Information Systems and Computing, Brunel University, Uxbridge, UB8 3PH, UK, 2001, p. 1–10.

[5] O. Kerimoglu, N. Basoglu. „Optimizing the Change Manage-ment of Enterprise Resource Planning Systems Implementati-ons“. PICMET 2006 Proceedings, 9–13 July, Istanbul, Turkey (c), 2006, p. 2824–2831.

[6] M. Caridi, A. Sianesi. „SCM-ERP integration: organisational, managerial ir technological issues“. International Conference on Systems Thinking in Management, 2000, p. 124–129.

[7] P. Upadhyay, P. K. Dan. „An explorative study to identify the Critical Success Factors for ERP implementation in Indian small and medium scale enterprises“. International Conference on Information Technology, ICIT’08, 2008, p. 295–299.

[8] A. Vasconcelos, M. M. da Silva, A. Fernandes, J. Tribolet. „An Information System Architectural Framework for Enter-prise Application Integration“. Proceedings of the 37th Hawaii International Conference on System Sciences, 2004, p. 1–9.

[9] H. Cheng. An Integration Framework of ERP&SCM&CRM. Management and Service SCience, MASS’09, 2009, p. 1–4.

[10] D. Linthicum. Enterprise Application Integration. Addison-Wesley, 2000.

Page 47: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

47

Santrauka. Automatinis teksto kategorizavimas paprastai naudojamas ten, kur susiduriama su dideliu informacijos kiekiu, pavyzdžiui, web paieškos sistemose, klasifikuojant patentus, filtruojant nepageidaujamus laiškus ar nustatant plagijuojamus tekstus. Dauguma teksto kategorizavimo sis-temų kaip pagrindą naudoja klasifikatorių, kuris paprastai yra priklausomas nuo pradinių požymių atrinkimo kokybės. Dauguma populiarių požymių atrinkimo algoritmų, tokių kaip informacijos išlošimas ar bendra informacija, neatsižvel-gia į galimus ryšius tarp požymių. Dėl to gali būti atrenkami pertekliniai požymiai, kurie neprideda papildomos informa-cijos. Darbe aprašyti tekstų kategorizavimo eksperimentiniai tyrimai panaudojus populiariausius požymių atrankos meto-dus, taip pat pasiūlytas algoritmas, kuris naudoja požymių klasterizavimą požymiams atrinkti.

Reikšminiai žodžiai: teksto kategorizavimas, klasterizavimas, požymių atrinkimas.

I. ĮŽANGA

Požymių atrinkimas – svarbus teksto kategorizavimo etapas. Jo tikslas – atrinkti pradinės požymių aibės poaibį, kuris leistų kuo geriau atskirti duotas klases. Geras požy-mių atrinkimo algoritmas leidžia pasiekti didesnį klasifika-vimo greitį dėl sumažėjusio požymių skaičiaus bei geresnį klasifikavimo tikslumą dėl sumažėjusio triukšmo.

Požymių atrankos metodai skirstomi į dvi pagrindines kategorijas. Pirmajai kategorijai priklauso požymių atran-kos metodai, naudojantys klasifikatorių požymiams atrinkti [16], [17]. Klasifikatorius daug kartų mokomas su tam tikru pradinių požymių poaibiu, išrenkamas tas poaibis, su kuriuo klasifikatorius yra tiksliausias. Šis metodas leidžia pasiekti didesnį klasifikavimo tikslumą, tačiau gali būti labai lėtas, jei yra daug požymių ir / arba duomenų [15], [17]. Kita pro-blema, su kuria galima susidurti, – galimybė, jog bus pri-sitaikyta prie mokymo imties. Dėl to klasifikuojant naujus duomenis klasifikavimo tikslumas bus mažesnis. Antrajai kategorijai priklauso vadinamieji filtrai [11], [12], [13], [14]. Šie metodai atrenka požymius pagal tam tikrą funk-ciją. Paprastai jie yra greitesni už metodus, naudojančius klasifikatoriaus tikslumą, bei rečiau prisitaiko prie mokymo imties. Pagrindinis šios strategijos minusas – dauguma filtrų

neatsižvelgia į galimus ryšius tarp požymių, todėl atrinkus n geriausių požymių, dalis jų gali būti pertekliniai.

Kategorizuojant tekstus populiariausios yra informaci-jos išlošimo, chi kvadrato [1], [2], [4], [5], [7], bendrosios informacijos [1], [2, [5] bei dokumentų dažnumo [2], [5] atrankos kriterijų funkcijos. Kaip rodo patirtis, šios funk-cijos sugeba atrinkti gana neblogus požymių poaibius [1], [2], [3], tačiau kaip ir dauguma filtrų negali garantuoti, jog pasirinkti požymiai nebus pertekliniai [12], [13].

Šiuo darbu siekiama išsiaiškinti, kokią įtaką tekstų kla-sifikavimui turi pertekliniai požymiai, kaip juos identifi-kuoti, ar įmanoma juos pašalinti ir neprarasti klasifikavimo tikslumo. Pertekliniams požymiams identifikuoti ir paša-linti siūlomas algoritmas, naudojantis požymių klasteriza-vimą. Šis algoritmas lyginamas su informacijos išlošimo ir chi kvadrato požymių atrinkimo algoritmais.

II. PERTEKLINIŲ POŽYMIŲ ATRINKIMAS

A. ApibrėžimaiPožymių vektorius žymimas F, požymių reikšmių

vektorius – f, C klasės. Taip pat tarkime, jog G yra tam tikras F poaibis, f

g – jo reikšmių vektorius. Tuomet opti-

maliu poaibiu vadinamas toks poaibis, kai P(C|G = fg) ir

kuris yra lygus arba maksimaliai artimas P(C|F = f). Anot G. H. Johno, R. Kohavio ir K. Pfegerio [15], pertekliniai požymiai gali būti skirstomi į visiškai nereikalingus ir iš dalies nereikalingus. Pastarieji kartais gali pakliūti į opti-malų požymių rinkinį. Pertekliniais požymiais šiame darbe vadinami požymiai, niekada nepakliūsiantys į optimalų požymių rinkinį.

B. Metodų apžvalgaLiteratūroje išskirtini du pagrindiniai požiūriai į pertek-

linius požymius. Vienas jų perteklinius požymius identifi-kuoja dar prieš atrenkant požymius, antrasis požymių per-tekliškumą tiesiogiai įskaičiuoja į atrankos funkciją.

Kai pertekliniai požymiai identifikuojami prieš atren-kant požymius, panašiems požymiams grupuoti paprastai naudojamas hierarchinis klasterizavimas [10]. Atlikus klas-terizavimą, iš kiekvieno klasterio galima paimti pagal tam

Požymių klasterizavimas kategorizuojant tekstus

Mindaugas GvardinskasInformatikos fakultetas

Vytauto Didžiojo UniversitetasKaunas, Lietuva

El. paštas: [email protected]

Page 48: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

48

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

tikrą kriterijų geriausią požymį [10]. Šis kriterijus gali būti informacijos išlošimas, bendra informacija ar kita pavienių požymių vertinimo funkcija. Kai perteklinių požymių yra ganėtinai daug, vietoj vieno geriausio gali būti imami keli geriausi požymiai. Panašumui tarp požymių porų nustatyti dažniausiai naudojama koreliacija [10], [18]. Galima nau-doti ir kitus metodus, pavyzdžiui, sąlyginę bendrąją infor-maciją [9].

Vienas algoritmų, įskaičiuojančių požymių pertekliš-kumą tiesiogiai atrankos funkcijoje, yra MIFS algoritmas [11]. Tai godus algoritmas, kuris kiekvienos iteracijos metu stengiasi maksimizuoti kriterijų:

I (C,F) ≈ I(C;Fi) – β ∑

∈SssFI i );( (1)

Kitaip tariant, algoritmas pasirinks požymį, turintį dau-giausiai informacijos apie klases C, bet minimaliai susijusį su jau atrinktais požymiais S.

Kitas panašus algoritmas – N. Kwako ir Ch. H. Choi [12] pasiūlytas patobulintas MIFS algoritmas. Jis vietoj euristikos naudoja informacijos teorija aproksimuotus I (C; f, S), t. y. informaciją tarp klasių ir naujojo požymių rinkinio, kurį sudaro seniau parinkti S požymiai ir naujas požymis f.

Kalbant apie perteklinių požymių identifikavimą, rei-kėtų paminėti G. Wango [13] pasiūlytą algoritmą. Jis nau-doja informacijos teoriją ir bando aproksimuoti salyginę informaciją:

I(F*;C|F1, . . . , F

k) ≈ },...,1{

minki∈ I(F*;C|F

i) (2)

čia F* – naujai pridedamas požymis, F1, ..., F

k – jau

parinkti požymiai. Taip algoritmas godžiai prideda po vieną požymį F*, maksimizuojantį antrosios formulės dešiniąją pusę. Kaip ir anksčiau aprašyti algoritmai, šis metodas, didėjant požymių skaičiui, aproksimuos vis blogiau.

C. Hibridinis požymių atrinkimo algoritmasSiekiant išspręsti minėtas problemas, pasiūlyta pana-

šius požymius klasterizuoti naudojant hierarchinį klasteri-zavimą ir mokymui naudoti tik geriausius kiekvieno klas-terio požymius. Dviejų požymių panašumui matuoti buvo naudojamas bendrosios informacijos principas, kiekvienai požymių porai paskaičiavus I (F

i,F

j). Kadangi bendroji

informacija nėra metrinis dydis, todėl hierarchiniam klas-terizavimui negali būti naudojama kaip atstumas. Vis dėlto pagal [8] bendroji informacija gali būti suformuluota kaip metrinis dydis:

DCL

(Fi,F

j) = 1 –

I( , )

max ( H( ,),H( ) )

i j

i j

F F

F F (3)

čia H – požymio entropija, I – bendroji informacija tarp i-ojo ir j-ojo požymių. Taigi, nepriklausomi požymiai dabar bus nutolę maksimaliu atstumu – 1, ir priešingai, kai ben-

droji informacija tarp požymių maksimali, atstumas tarp jų bus lygus nuliui.

Grupavimui naudojamas hierarchinis klasterizavimo metodas kaip atstumą tarp dviejų klasterių naudoja mak-simalų atstumą tarp dviejų labiausiai nutolusių klasterių taškų. Tokia klasterizavimo strategija garantuoja, kad visi požymiai, esantys klasteryje, bus ganėtinai panašūs. Vietoj šios strategijos galima naudoti ir kitas (minimalaus ats-tumo, vidutinio atstumo), tačiau tokiu atveju gautų klaste-rių diametras gali būti gana didelis. Tai reiškia, jog į klas-terį pateks mažai susiję požymiai, kurie vėliau bus pašalinti kaip pertekliniai. Todėl kitų klasterizavimo strategijų buvo atsisakyta. Pasiūlytas toks požymių atrinkimo algoritmas:

1. Paskaičiuojama atstumų tarp požymių matrica.2. Požymiai klasterizuojami, kol mažiausias atstumas

tarp klasterių neviršija nustatytos ribos.3. Požymiai įvertinami pagal vieną iš standartinių

algoritmų.4. Iš įvertintų požymių paliekami tik geriausi savo

klasteryje.5. Jei požymių vis dar per daug, nustatome slenkstį ir

pašaliname likusius nereikalingus požymius. Pateikto algoritmo vykdymo laikas yra ilgas, nes

bus mėginama klasterizuoti visus požymius. To galima išvengti pradžioje panaudojus įprastinį požymių atrinkimo algorit mą darant prielaidą, jog atrinkti požymiai per daug nesidubliuos:

1. Požymiai atrenkami naudojantis vienu iš įprastinių algoritmų.

2. Paskaičiuojama atstumų tarp požymių matrica.3. Požymiai klasterizuojami, kol mažiausias atstumas

tarp klasterių neviršija nustatytos ribos.4. Iš atrinktų požymių paliekami tik geriausi savo

klasteryje.Šis algoritmas pradiniams požymiams atrinkti gali nau-

doti bet kurį požymių atrinkimo metodą, pavyzdžiui, infor-macijos išlošimą ar chi kvadratą. Atrinkus pradinius požy-mius, klasterizuojamas gautas geriausių požymių poaibis. Grupavimas būtų nutraukiamas, jei tolesnis klasterių jungi-mas duotų klasterius, kurių diametras didesnis už nustatytą slenkstį, pavyzdžiui, 0,5. Galutiniam požymių atrinkimui naudojami požymiai, priklausantys jauniausiems mazgams (klasteriams). Iš kiekvieno tokio klasterio išrenkamas geriausias požymis. Požymių kokybei vertinti naudojama ta pati vertinimo funkcija kaip ir pradiniam poaibiui parinkti. Geriausi klasterių požymiai sudaro galutinį požymių poaibį.

III. NAUDOTI DOKUMENTŲ RINKINIAI, KLASIFIKAVIMO EFEKTYVUMO VERTINIMAS

Dokumentų rinkinys Reuters-21578. Tyrimams buvo naudojama Reuters-21578 dokumentų rinkinio ApteMod versija [19]. Šis dokumentų rinkinys sudarytas iš 10 788 dokumentų, kurių 7 769 priklauso testavimo imčiai, 3 019 – mokymo imčiai. Dokumentai, kurių tekstai yra vienodi, o klasės – skirtingos, pašalinami palikus tik vieną identišką tekstą. Tokiu atveju mokymo imtis turi 7 692 dokumentus.

Page 49: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

49

MINDAUGAS GVARDINSKAS · POŽYMIŲ KLASTERIZAVIMAS KATEGORIZUOJANT TEKSTUS

Dokumentų rinkinio klasės pasiskirsčiusios labai nevie-nodai, kadangi 36,7 % dokumentų priklauso vienai klasei ir tik 0,0185 % dokumentų priklauso kiekvienai iš penkių rečiausių klasių. Kiekviena klasių turi bent po vieną doku-mentą mokymo ir testavimo imtyse. Vidutiniškai kiek-vienam dokumentui tenka 1,235 klasės, kiekvienai klasei vidutiniškai tenka 148 dokumentai, arba 1,37 % viso doku-mentų rinkinio. Išskyrę žodžių šaknis, gauname 18 221 skirtingų požymių.

Dokumentų rinkinys 20 News Groups. Šis dokumentų rinkinys sudarytas iš 18 828 dokumentų. Dalis dokumentų, kurie turi vieną žodį, yra pašalinti. Taigi lieka 18 821 doku-mentas. Kiekvienas jų priklauso tik vienai klasei. Mokymui naudojama 66 %, testavimui – 33 % atsitiktinai pasirinktų dokumentų.

1 LENTELĖ. KLASĖS KONTINGENCIJOS LENTELĖ

Ekspertassako TAIP

Ekspertassako NE

Klasifikatoriussako TAIP

a b

Klasifikatoriussako NE

c d

Ši lentelė parodo, kaip vertinamas vienos klasės tikslu-mas. Jei klasių yra daug, galimi du variantai: skaičiuojama bendra kontingencijos lentelė visoms klasėms arba skaičiuo-jama kiekvienai klasei atskirai. Gauti rezultatai sudedami ir padalijami iš bendro klasių skaičiaus. Šiame darbe pasirink-tas pirmasis variantas, nes jis geriau atspindi bendrą klasifi-katoriaus tikslumą, apskaičiuojamą pagal formulę:

F1 =

2RPR P+

, kur P = ba

a

+ ir R =

ca

a

+ (4)

IV. EKSPERIMENTAI IR REZULTATAI

Visiems eksperimentams atlikti naudotas daugiasluoks-nis neuroninis tinklas su paslėptu vidiniu sluoksniu. Tinklo mokymui buvo naudojamas standartinis klaidos atasklidos algoritmas su atsitiktiniais pradiniais svoriais. Paslėptajam sluoksniui parinkti 64 neuronai [1], mokymas vykdomas 100 iteracijų [4]. Šie neuroninio tinklo nustatymai naudoti tiek Reuters-21578, tiek 20 News Groups dokumentų rin-kiniams.

Požymių atrinkimo metodams palyginti naudotas hibri-dinis metodas kartu su chi kvadrato ir bendrosios informa-cijos metodais. Chi kvadrato kriterijus apskaičiuotas pagal formulę:

X2 = 2( )

( )( )( )( )

N AD CB

A C B D A B C D

+ + + + (5)

čia A parodo, kaip dažnai i-oji klasė ir j-asis požymis

mokymo imtyje pasitaiko kartu. B parodo, kiek kartų j-asis

požymis randamas mokymo imtyje be i-osios klasės. C

parodo, kiek kartų randama klasė, bet nerandamas požy-mis. D parodo, kiek kartų mokymo imtyje nebuvo nei i-osios klasės, nei j-ojo požymio. N – dokumentų skaičius mokymo imtyje. Vertinant kiekvieną požymį, buvo sudė-tos visos to požymio ir klasių chi kvadrato įverčių poros ir padalytos iš bendro klasių skaičiaus.

Bendroji informacija skaičiuota pagal formulę:

I(Fj,C) = - ∑ ∑

∈ ∈Cc fj j

jj

cpfp

cfpcfp

}0,1{ )()(

),(log),( (6)

čia Fj – j-asis požymis, C – klasės. Pagal (6) formulę

apskaičiuojama kiekvieno požymio ir klasių bendroji infor-macija ir atrenkama k požymių, kurie turi didžiausią krite-rijaus reiksmę.

Hibridiniam požymių atrinkimo algoritmui parinktas 0,5 klasterizavimo slenkstis. Slenksčio reikšmė nustatyta eksperimentiškai naudojant mokymo imtį. Šiam tikslui mokymo imtis buvo atsitiktinai padalyta į 10 dalių ir atlik-tas kryžminis validavimas. Ši procedūra kartota 10 kartų. Gauta slenksčio reikšmė leidžia pasiekti maksimalų klasifi-kavimo tikslumą su duota mokymo imtimi.

Prieš skaičiuojant požymių vektorius, iš dokumentų buvo pašalinti nereikšmingi žodžiai. Paprastai jie būna labai dažni, todėl praktiškai negali atskirti skirtingų klasių. Šiame darbe panaudotas tokių žodžių sąrašas, sudarytas anglų kalbai. Žodžių šaknims išskirti naudotas Porterio algoritmas. Pašalinus žodžių šaknis, požymių skaičius smarkiai sumažėjo, todėl tiek klasifikatoriui, tiek požymių atrinkimo algoritmui tenka mažiau skaičiavimų.

Požymių vektorius apskaičiuotas pagal tf-idf principą, kai kiekvieno požymio reikšmė paskaičiuojama pagal for-mulę:

w = tf log2 n

N (7)

kur tf – žodžio Tj dažnis dokumente D

i , N – dokumentų

skaičius, n – dokumentų skaičius, kur žodis Tj pasitaiko

bent vieną kartą.

2 LENTELĖ. EKSPERIMENTŲ REZULTATAI Reuters-21578

Požymių atrinkimo algoritmas Tikslumas

Bendroji informacija + klasterizavimas 86,224

Chi kvadratas + klasterizavimas 85,704

Bendroji informacija 86,263

Chi kvadratas 85,757

3 LENTELĖ. EKSPERIMENTŲ REZULTATAI Reuters-21578

Požymių atrinkimo algoritmas TikslumasF1

Atrinkta požymių

Bendroji informacija + klasterizavimas 86,180 988

Chi kvadratas + klasterizavimas 85,819 778

Bendroji informacija 86,268 988

Chi kvadratas 85,368 778

Page 50: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

50

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

LITERATŪROS SĄRAŠAS

[1] Y. Yang, X. Liu. “A re-examination of text categorization methods”. Proceedings of SIGIR-99, 22nd ACM Internatio-nal Conference on Research and Development in Information Retrieval (Berkeley, US, 1999), p. 42–49.

[2] Y. Yang, J. O. Pedersen. “A Comparative Study on Feature Selection in Text Categorization”. International Conference on Machine Learning (ICML), 1997.

[3] T. Joachims. “Text Categorization With Support Vector Machi nes: Learning With Many Relevant Features”. European Con fe rence on Machine Learning (ECML), 1998.

[4] N. Remeikis. „Statistinių frazių grupavimo ir hibridinio klasifi-katoriaus taikymas tekstinių dokumentų klasifikavimui“, VDU, Kaunas, 2006.

[5] F. Sebastiani. “Machine learning in automated text categoriza-tion”. Technical Report IEI-B4-31-1999, Consiglio Nazionale delle Ricerche, Pisa, Italy, 1999.

[6] X. B. Xue, Z. H. Zhou. “Distributional Features for Text Catego-rization”. European Conference on Machine Learning (ECML), 2006.

[7] H. Guan, J. Zhou, M. Guo. “A Class-Feature-Centroid Classifier for Text Categorization”. Proceedings of the 18th international conference on World wide web, 2009.

[8] Z. Dawy, J. Hagenauer, P. Hanus, J. C. Mueller. “Mutual Infor-mation Based Distance Measures for Classification and Content Recognition with Applications to Genetics“. ICC 2005.

[9] J. M. Sotoca, F. Pla. “Supervised feature selection by clustering using conditional mutual information-based distances“. Pattern Recognition, 2009.

[10] T. A. Knijnenburg, M. J. T. Reinders, L. F. A. Wessels. ”The selection of relevant and non-redundant features to improve classification performance of microarray gene expression data”. Eleventh annual conference of the Advanced School for Compu-ting and Imaging, 2005.

[11] R. Battiti. ”Using Mutual Information for Selecting Features in Supervised Neural Net Learning”. IEEE transactions on neural networks, 1994.

[12] N. Kwak, Ch. H. Choi. “Improved Mutual Information Feature Selector for Neural Networks in Supervised Learning”. Interna-tional Joint Conference on Neural Networks, 1999.

[13] G. Wang, F. H. Lochovsky, Q. Yang. “Feature Selection with Conditional Mutual Information MaxiMin in Text Categoriza-tion”. ACM Conference on Information and Knowledge Mana-gement, 2004.

[14] D. Koller, M. Sahami. “Toward Optimal Feature Selection”. International Conference on Machine Learning, 1996.

[15] G. H. John, R. Kohavi, K. Pfleger. “Irelevant Features and the Subset Selection Problem”. Machine Learning: Proceedings of the Eleventh International Conference, 1994.

[16] R. Kohavi, D. Sommerfield. “Feature Subset Selection Using the Wrapper Method: Overffiting and Dynamic Search Space Topo-logy”. KDD-95 Proceedings, 1995.

[17] R. Kohavi, G. H. John. “Wrappers for Feature Subset Selection”. AIJ, 1995.

[18] M. Osl, S. Dreiseitl, F. Cerquiera, M. Netzer, B. Pfeifer, C. Baumgartner. “Demoting Rendundant Features to Improve the Discriminatory Ability in Cancer Data”. Journal of Biomedi-cal Informatic, 2009.

[19] Carnegie Group, Inc. and Reuters, Ltd “Reuters-21578”. Pri-eiga per internetą: http://www.daviddlewis.com/resources/testcollections/reuters21578/.

4 LENTELĖ. EKSPERIMENTŲ REZULTATAI 20 News Groups

Požymių atrinkimo algo-ritmas

TikslumasF1

Atrinkta požy-mių

Bendroji informacija + klas-terizavimas

84,548 4624

Chi kvadratas + klasteriza-vimas

85,018 4290

Bendroji informacija 84,664 4624

Chi kvadratas 84,988 4290

Visiems eksperimentams panaudotas atsitiktinis kryž-minis validavimas, kurio imtis – 70 %, o testavimo imtis – 30 %. Validavimas atliekamas 100 kartų.

Kaip matyti iš 2 lentelės, klasterizavimą naudojan-tis požymių atrinkimo algoritmas leidžia pasiekti panašų klasifikavimo tikslumą kaip ir įprastiniai metodai. Tačiau naujasis algoritmas atrenka mažiau požymių, pavyzdžiui, pirmame hibridinio algoritmo etape naudojant chi kvadrato kriterijų, atrenkama vidutiniškai 780 požymių, o įprasto chi kvadrato atveju – 1 000 požymių, bendrosios informa-cijos – atitinkamai 988 ir 1 000. Požymių atrinkimui pritai-kius pirmąjį hibridinio algoritmo variantą, gauti rezultatai analogiški antrojo algoritmo rezultatams (2 lentelė), todėl pateikiami bendrai.

Gauti rezultatai neleidžia atsakyti į klausimą, ar tikrai naujasis algoritmas, naudodamas mažiau požymių, sugeba pasiekti tokius pačius rezultatus kaip ir kiti algoritmai, nau-dodami daugiau požymių, juo labiau, kad ir skirtumas tarp naudojamų požymių kartais visai nedidelis. Atsakymo į šį klausimą ieškota naujais eksperimentais. Šį kartą naudo-tas vienodas požymių skaičius tiek klasterizavimo algorit-mams, tiek ir įprastiems.

Kaip matyti iš 3 ir 4 lentelių, hibridinis požymių atrin-kimo algoritmas leidžia pasiekti didesnį tikslumą tik vienu atveju. Visais kitais atvejais tikslumas apytikriai vienodas. Ko gero, jį lėmė tai, jog tiek hibridinio algoritmo, tiek ir įprastų algoritmų atrenkamų požymių skaičius nedaug skiriasi nuo naudoto bazinio požymių skaičiaus, kuris Reuters-21578 ir 20 News Groups rinkiniams yra atitinka-mai 1 000 ir 5 000.

V. IŠVADOS

Šis tyrimas parodė, jog tekstams kategorizuoti nau-dojami požymių atrinkimo algoritmai dažniausiai kartu su reikalingais požymiais atrenka ir nereikalingus, pertekli-nius požymius. Jie neturi didesnės įtakos kategorizavimo rezultatams, tačiau gali pailginti mokymosi laiką. Siekiant išspręsti perteklinių požymių problemą, pasiūlytas hibridi-nis algoritmas. Skirtingai nei dauguma požymių atrinkimo metodų, hibridinis algoritmas leidžia identifikuoti bei paša-linti perteklinius požymius beveik neprarandus klasifika-vimo tikslumo.

Page 51: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

51

Santrauka. Straipsnyje aptariama Europos Sąjungos (ES)Lisabonos strategija, joje numatomi veiksniai, padėsiantys pagerinti Europos Sąjungos ekonominį augimą. Taip pat apžvelgiamas klasikinių ekonominių idėjų vystymasis ir šiuo metu populiariausi ekonominio augimo modeliai ir jų trūku-mai. Aprašomas logistinis ekonominio augimo modelis, kuris įvertina augimo ribotumą. Tolesni šios srities tyrimai gali padėti identifikuoti ekonominio augimo ribas. O tyrimų rezul-tatų pritaikymas praktikoje turėtų leisti išvengti ekonominių krizių ir ekonominių burbulų formavimosi.

Reikšminiai žodžiai: Lisabonos strategija, ekonominė logistinė analizė, ekonominio augimo ribotumas.

I. ĮVADAS

Šiuolaikinė visuomenė nebeįsivaizduojama be naujau-sių technologijų ir jų vystymo. Technologijų ir išradimų vystymas suteikia galimybes ne tik pagerinti kasdienį žmo-nių gyvenimą, patobulinti pramonę, bet tampa vis svarbes-ne politinių sprendimų ir ekonominio augimo dalimi. Šiuo metu ekonominiam augimui vertinti naudojami klasikiniai augimo modeliai: eksponentinio augimo, sudėtinių palūka-nų, endogeninio augimo ir kt. Šie modeliai analizuoja tik neribotą augimą. Tačiau ekonomikoje augimas negali būti begalinis, jį dažnai riboja tiek sistemos išorės, tiek ir vidaus veiksniai. Ekonominė logistinė analizė vertina ne tik patį augimą, bet ir jo ribotumą. Ekonominės sistemos ribas gali-ma praplėsti tik atnaujinus išteklius arba atradus jų pakaita-lus. Šiuolaikinėje visuomenėje inovacijų plėtrą ir valdymą galima laikyti tiek išteklių atnaujinimu, tiek pakaitalais.

Europos Sąjungos Lisabonos strategija laikoma inova-tyvia strategija, nes jos tikslas – iki 2010 m. Europos Są-jungos ekonomiką paversti konkurencingiausia ekonomika pasaulyje plėtojant ir vystant inovacijas.

Straipsnio objektas – inovacijų įtaka šalių ekonominiam augimui ekonominės logistinės analizės požiūriu.

Straipsnio tikslas – pristatyti pagrindinių ekonominių idėjų vystymąsi, populiariausius klasikinius ekonominio

augimo modelius, taip pat pateikti ekonominės logistinės analizės modelį ir jo taikymo galimybes Europos Sąjungos Lisabonos strategijai ir jos įtakai ES šalių ekonominiam au-gimui nagrinėti.

Straipsnio uždaviniai:• pristatyti klasikinių ekonominių idėjų vystymąsi ir

šiuo metu naudojamus klasikinius ekonominio au-gimo modelius;

• pristatyti ekonominį logistinį augimo modelį;• pritaikius ekonominę logistinę analizę, aprašyti ES

Lisabonos strategijos įtaką Europos Sąjungos šalių ekonominiam augimui.

Straipsnyje panaudota lyginamoji mokslinės literatūros analizė.

II. LISABONOS STRATEGIJA

Formuojantis naujai ekonomikai, inovacijoms nuolat skverbiantis ne tik į socialinį, bet ir ekonominį šalių vys-tymąsi, pirmą kartą nuo 1973 m. naftos krizės Europos Sąjungai susidūrus su darbo vietų kūrimo bei ekonominio augimo sunkumais, 2000 m. kovo mėnesį Lisabonoje vyko Viršūnių susitikimas. Jame ES vyriausybių vadovai nusta-tė naują Europos Sąjungos strateginį tikslą – iki 2010 m. gruodžio mėnesio Europos Sąjungos ekonomiką paversti konkurencingiausia pasaulyje. Ši strategija, pavadinta Lisa-bonos strategija, reikalauja imtis veiksmų įvairiose srityse:

• vidaus rinkos; • informacinės visuomenės;• mokslinių tyrimų;• švietimo;• struktūrinių ekonomikos reformų;• stabilios valiutos ir makroekonominės politikos [5].Šiais veiksmais siekiama sukurti palankias sąlygas

ekonominiam augimui ir darniems viešiesiems finansams. Dauguma iš šių sričių susijusios tarpusavyje: darnūs vie-šieji finansai skatina augimą, todėl sukuriama daugiau dar-bo vietų, mažesnis nedarbas reiškia mažesnes socialinio

Ekonominė logistinė analizė ir jos pritaikymas analizuojant Europos sąjungos Lisabonos

strategiją

Erika Jociūtė Vilniaus universitetas

Kauno humanitarinis fakultetasKaunas, Lietuva

El. paštas: [email protected]

Prof. Stasys GirdzijauskasVilniaus universitetas

Kauno humanitarinis fakultetasKaunas, Lietuva

El. paštas: [email protected]

Page 52: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

52

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

draudimo išlaidas – tai irgi teigiamai veikia valstybės fi-nansus [4].

Taigi pagrindinis Lisabonos strategijos tikslas – padi-dinti Europos Sąjungos augimo potencialą didinat inves-ticijas, skatinant inovacijas ir kuriant naujas darbo vietas. Veiksniai, kurie turėtų padėti įgyvendinti Lisabonos stra-tegiją, yra:

• atvirumas inovacijoms;• verslo centralizavimas;• kūrimo ir kultūros svarba;• inovacijų ir inovatyvių strategijų plėtra pasauliniu

mastu;• naujų technologijų poreikis [9].Norint įgyvendinti Lisabonos strategiją, reikia užtikrin-

ti sklandžią inovacijų plėtrą, kurią skatina komunikacija ir mokymas. Inovacijų plėtra – tai komunikacija, arba infor-macijos sklaida. Kad inovacijos būtų taikomos sėkmingai, pirmiausia reikia išpopuliarinti procesą, inovacijų taikymo bei domėjimosi jomis procesas privalo tapti natūralia esa-mos visuomenės vartojimo dalimi. Apie Lisabonos strate-giją, kaip inovacijų strategiją, turėtų žinoti ne tik aukščiau-si ES narių politikai, bet ir verslininkai, galintys pritaikyti naujausias technologijas savo įmonių veikloje.

Jau aišku, kad iki 2010 m. gruodžio mėnesio nepavy-ko įvykdyti visų tikslų, užsibrėžtų Lisabonos strategijoje. Viena iš tai nulėmusių priežasčių – visą pasaulį užklupusi ekonominė krizė, kuriai nebuvo iš anksto pasiruošta. Kitos priežastys paaiškės Europos komisijai nuodugniai įverti-nus Europos Sąjungos Lisabonos strategijos įgyvendinimą. Tačiau dar nesulaukus oficialių Europos komisijos prane-šimų apie Lisabonos strategijos vertinimą, jai tenka daug kritikos dėl vangaus įgyvendinimo ir per menkų pasiekimų. Pagrindinės priežastys:

• sunkiai sekasi vykdyti užsibrėžtus kiekybinius už-davinius;

• daugumos ES šalių narių ekonominio augimo lygis nuolat yra žemesnis nei JAV;

• Lisabonos strategija nėra gerai integruojama į na-cionalinę šalių politiką [7].

Tolesni Europos Sąjungos Lisabonos strategijos tyrimai pagal ekonominės logistinės analizės principus bei prakti-koje pritaikyti tyrimo rezultatai gali padėti nustatyti ne tik šalių ekonominio augimo ribas, jų dar nepasiekus, bet ir identifikuoti ribų praplėtimo „instrumentus“. Tyrimų re-zultatus pritaikius praktikoje pavyktų išvengti ekonominių krizių ir ekonominių burbulų formavimosi dėl ekonominio augimo ribotumo.

III. KLASIKINIŲ EKONOMINIŲ IDĖJŲ VYSTYMASIS

Ne visuomet ekonomikos augimas buvo siejamas su ino-vacijų plėtra ir valdymu. Pirmieji klasikinės ekonomikos at-stovai ekonominį augimą įsivaizdavo kaip begalinį ir nema-nė, jog jis ribojamas kokių nors vidaus ar išorės veiksnių.

Ekonominėje literatūroje nėra vienos nuomonės, kada ir kas pradėjo vystyti klasikinę ekonominę teoriją. Dar

XVII a. gyvenusio Williamo Petty (1623–1687) ekonomi-nės idėjos buvo artimos klasikų pažiūroms. Savo darbuose jis daug dėmesio skyrė vykstantiems ekonominiams reiš-kiniams aprašyti. Tirdamas ir analizuodamas ekonominius reiškinius ir mėgindamas juos paaiškinti W. Petty naudojo tiek gamtos mokslų, tiek matematinius metodus.

Dauguma ekonominės literatūros autorių klasikinės ekonomikos pradininku laiko Adamą Smithą (1723–1790). Svarbiausias jo viso gyvenimo darbas – „Tautų turto prie-žasčių ir prigimties tyrinėjimas“ (1776 m.). A. Smitho eko-nominio augimo teorija susideda iš darbo produktyvumo augimo, kurį skatina darbo padidėjimas, ribojamas rinkos dydžio, o norint palaikyti ištisinį ekonomikos augimą, gamybos plėtimą turi sąlygoti ir rinkos plėtimas. Grafiš-kai A. Smitho ekonominio augimo procesas pavaizduotas 1 pav.

1 PAV. A. SMITHO EKONOMINIO AUGIMO PROCESAS

Šaltinis: sukurta autorės pagal Čiegis R. (2006), Ekonominių teorijų istorija, 195 p.

A. Smithas analizavo ne tik ekonominį augimą ir kapi-talo sandarą, bet ir valstybės išlaidas bei pajamas, suformu-lavo ekonominės liberalizmo politikos esmę, liberalizmą ekonomikoje aiškino kaip rinkos funkcionavimo ir eko-nominės politikos principų visumą, atspindinčią valstybės kišimosi į ekonominį gyvenimą atsisakymą.

Davidas Ricardo (1772–1823) tęsė savo pirmtako ško-to A. Smitho darbus, moksliškai juos kritikavo. Palaikė ekonominio liberalizmo koncepciją ir gynė ją savo veika-luose. Analizuodamas jis taikė gamtos mokslų metodus. Svarbiausias D. Ricardo darbas – „Politinės ekonomijos ir apmokestinimo pradmenys“ (1817 m.). Kalbėdamas apie darbo užmokestį ir pajamas jis teigė, kad pajamų mažėjimą galima pristabdyti tobulinant gamyboje naudojamas maši-nas bei pritaikius mokslo pasiekimus žemės ūkyje.

Nors D. Ricardo įžvelgė žemės derlingumo ribotumą ir patarė jį įveikti pritaikius naujas technologijas, tačiau jo ekonominio augimo procesas, pavaizduotas 2 pav., yra ne-riboto augimo.

2 PAV. D. RICARDO EKONOMINIO AUGIMO PROCESAS

Šaltinis: sukurta autorės pagal Čiegis R. (2006), Ekonominių teorijų istorija, 226 p.

Page 53: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

53

ERIKA JOCIŪTĖ, STASYS GIRDZIJAUSKAS · EKONOMINĖ LOGISTINĖ ANALIZĖ IR JOS PRITAIKYMAS ANALIZUOJANT EUROPOS SĄJUNGOS LISABONOS STRATEGIJĄ

Lyginant A. Smitho ir D. Ricardo ekonominio augimo procesus, pateiktus 1 pav. ir 2 pav., galima teigti: abu mo-deliai neįvertina ekonominio augimo ribotumo. Pagrindi-nis modelių skirtumas – ekonominio proceso grąža, kurią A. Smithas savo modelyje įvardija kaip augančią, o D. Ri-cardas – mažėjančią. Būtent ekonominio proceso grąža ir yra pagrindinis šių ekonominio augimo procesų skirtumas.

Didelį indėlį į XIX a. klasikinės ekonomikos vystymą-si įnešė ir anglų ekonomistas Thomas Robertas Malthusas (1766–1834). Ryškiausia jo nagrinėta problema – ryšys tarp ekonominių procesų ir gamtos reiškinių. Savo kny-goje „Gyventojų skaičiaus dėsnio tyrinėjimas“ (1798 m.) T. Malthusas aprašė gyventojų skaičiaus teoriją ir įrody-mams panaudojo geometrinę ir aritmetinę progresijas. T. Malthuso manymu, beribį gyventojų skaičiaus didėjimą gali apriboti ir sustabdyti tik mažėjantys maisto ir gyvena-mosios vietos ištekliai.

Aiškindamas ekonomines krizes T. Malthusas pirmasis paminėjo, kad jų priežastis – perprodukcija, kadangi spar-čiai didėjant kapitalui, gaminamų gėrybių paklausa pasie-kia tokį tašką, kai būna patenkinta, ir tuomet nustoja augti anksčiau už gamybą. Kai pasiūla pralenkia paklausą, t. y. pagaminama daugiau nei reikia, prasideda krizės.

Kitas ekonomistas, įnešęs ryškų indėlį į ekonominių idėjų vystymą XIX a., – prancūzas Jeanas Batiste Say (1767–1832). Jis palaikė ir plėtojo A. Smitho mintis. Savo veikaluose pateikė ekonomines idėjas ir ekonominių reiš-kinių aiškinimus remdamasis stebėjimais, tačiau jų neįrodi-nėjo matematiniais skaičiavimais.

Dar vienas klasikinės ekonominės mokyklos atstovas – anglas Johnas Stuartas Millas (1806–1873). Jis analizavo gamybos ir paskirstymo dėsnius, pagrindinio kapitalo vertę skyrė kapitalui pagaminti sunaudoto darbo vertę.

Tyrinėdamas prekybines krizes J. S. Millas nurodė: grei tai kristi kainos turėtų tol, kol pasiekia buvusį (iki grei-to kilimo) lygį, bet jos krenta žemiau, nes kiekvienas pati-ria nuostolių. Skolinamasi trumpam laikotarpiui ir beveik už bet kokį procentą. Todėl apibendrintai galima teigti: per prekybinę krizę kainų lygis krenta žemiau už įprastinį tiek, kiek padidėjo prieškrizinio spekuliacijos periodu; kadangi rinka yra ne begalinė, patenkama į kredito spąstus: rinkai persipildžius, skolintas kapitalas auga žymiai greičiau nei nuosavas.

Karlas Marxas (1818–1883) šiuo metu laikomas eko-nomistu, veikusiu pagal klasikinės ekonomikos taisykles ir mėginusiu sukurti naują, alternatyvią ekonominę sistemą, kuri remtųsi klasikine ekonomika. Svarbiausias K. Marxo darbas – „Kapitalas“ (1867), jame išdėstyta kapitalistinė gamybos istorijos teorija, kuri davė pradžią marksistinei ekonominei teorijai. Nors K. Marxo ekonominė teorija yra nuosekli, tačiau pagrindinis trūkumas – ji neturi ekonomi-nio modelio ir yra labai politizuota. Išskiriama daug mark-sistinės ekonomikos trūkumų, bet dabartinis ekonominis mokslas naudoja K. Marxo terminologiją ir toliau tyrinėja jo aprašytus dėsnius bei ekonominio vystymosi tendenci-jas.

Josephas Aloisas Schumpeteris (1883–1950) savo dar-buose taikė neoklasikinę teoriją, puikiai paaiškinančią kai-

nų judėjimą rinkos sistemoje, bet ir nurodė rimtą jos trūku-mą – statiško požiūrio vyravimą tiriant ūkinius procesus. Jis aiškiai išskyrė augimą ir plėtrą. J. A. Schumpeterio tei-gimu, augimas apima palaipsnį gamybos plėtimosi proce-są – stengiantis pagaminti kuo daugiau to paties produkto bei naudojant tuos pačius gamybos metodus. Ekonominę plėtrą jis apibūdino kaip dinamiškesnį ir viską apverčiantį procesą, per kurį ne tik gamybos, bet ir produktų, rinkų ir organizacijų šakų esamos priemonės pakeičiamos moder-nesnėmis. J. A. Schumpeterio nuomone, esminis ekonomi-nės plėtros požymis – ne didėjantis kapitalo kaupimas, o esamų veiksnių sujungimas naujam panaudojimui. Todėl, kai ekonomika funkcionuoja visiško užimtumo lygiu, vie-nintele jos augimo galimybe tampa išradimai ir inovacijos, skatinantys kokybinius jos pokyčius. Plėtoti inovacijas ne tik gamyboje, bet ir kitose srityse, trukdo finansavimo kliūtys, kurias J. A. Schumpeteris pasiūlė šalinti su finan-sinių tarpininkų pagalba. J. A. Schumpeteris pabrėžė, kad realiai rinkose neegzistuoja nei tobulos konkurencijos, nei tobulos monopolijos. Rinka yra lyg jų abiejų hibridas. Vis dėlto, anot jo, siekis užimti monopolinę padėtį rinkoje ska-tina ne tik gauti monopolinį pelną, bet ir vystyti inovaci-jas. Inovacijos reikalauja ne didžiulių investicijų, bet ilgo jų atsipirkimo laikotarpio. Dėl šios priežasties monopolinį pelną J. A. Schumpeteris grindžia ne ypatingomis teisėmis ir privilegijomis, o inovacijomis. Jo manymu, monopolinis pelnas – tai inovacijų padarinys, atlygis už techninį ir orga-nizacinį novatoriškumą.

Pasak J. A. Schumpeterio, konkurencija – mechaniz-mas, siejantis tiek privačius, tiek ir visuomeninius interesus ekonominei pažangai ir visuomenės gerovei didinti. Tačiau autorius suabsoliutino stambių bendrovių pasirengimą ino-vacijoms manydamas, kad diegiamos inovacijos – vienin-telė priemonė išsikovoti monopolinę padėtį rinkoje ir gauti monopolinį pelną.

Taigi J. A. Schumpeteris pirmasis aprašė ekonomikos poreikį plėsti ribas funkcionuojant visiško užimtumo fazė-je Ir patarė tai daryti inovacijomis. Jo manymu, inovacijų plėtrą skatina monopolija ir konkurencija ūkio šakose. Bet šiuolaikinės ekonomikos atveju poreikis skatinti inovaci-jas atsiranda dėl sumažėjusio ekonominio augimo ir naujų technologijų skverbimosi į visas žmonių gyvenimo sritis.

Ryškų pėdsaką vystant ekonomines idėjas paliko žymus anglų ekonomistas Johnas Maynardas Keynesas (1883–1946). Teorinė ir praktinė jo veikla prilyginama XIX a. A. Smitho ir D. Ricardo klasikinės ekonomikos darbams. Svarbiausiame savo veikale „Bendra užimtumo, palūkanų ir pinigų teorija“ jis įrodė, kad tobula konkurencija rinkoje negali garantuoti visiško užimtumo, jei valstybė neregu-liuoja kai kurių ūkio procesų. Pasak J. M. Keyneso, valsty-bės vaidmuo ūkiniame gyvenime turi būti aktyvus, o krizės laikotarpiu valstybė turi didinti paklausą aktyvindama ga-mybą ir investuodama bei mažindama nedarbą. Jis teigė, kad visuomenės nedarbo lygis priklauso nuo bendrosios paklausos efektyvumo, kuris apima du veiksnius: vartoto-jišką paklausą ir investicijų paklausą.

J. M. Keyneso nuomone, ekonominio nuosmukio perio-dais būtina stengtis suaktyvinti ūkio veiklą, skatinti investi-

Page 54: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

54

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

Ch. Romerio (1986, 1990), R. E. Lucaso (1988), P. Aghiono ir P. Howitto (1992). Pasak S. Girdzijausko, endogeni-nio augimo teorija atsirado dėl matematinio modeliavimo poveikio. F. Nilio (2002) modelyje augimo ribas nulėmė natūralių išteklių stoka, daranti įtaką ekonominiam augi-mui ir tausojimui. Augimo veiksnys modelyje – tarpinio sektoriaus technikos pažanga, kuri pasireiškia inovacijų plėtojimu. Inovacijos gerina produktų kokybę, senesnius produktus paverčia nepatraukliais, o kraštutiniu atveju – ir nevartojamais.

Endogeniniai augimo modeliai laikomi vienais pa-grindinių ekonominio augimo modeliavimo požiūrių. Jie rodo, kad augimas gali vystytis bet ribų, be tokiu atve-ju jis nėra staigus. Vieni iš pirmųjų endogeninio augimo modelius pritaikė K. Suzuki (1976) ir M. J. Kamienas bei N. L. Schwartzas. Tai rodo, kad augimas įmanomas naudo-jant net ir senkančius išteklius. Endogeniniai augimo mo-deliai ekonominį augimą susiejo su technologine pažanga ir inovacijomis.

Vėlesni evoliuciniai augimo ir kiti ekonominio augimo modeliai patobulino ankstesniuosius kokiu nors įtaką eko-nominiam augimui turinčiu aspektu.

Visi ekonominio augimo modeliai rodo augimo pagrin-dą bei įvertina augimo pobūdį, apibrėžia pagrindines augi-mą sąlygojančias komponentes ir jų ryšius. Galima teigti, kad visi šie augimo modeliai nusako begalinį augimą. Vis dėlto „realiomis sąlygomis produktas negali gana ilgą laiką didėti vienodu tempu. Didėjantis produktas yra ribojamas išorės ir vidaus veiksnių“ [6].

Ribotas augimas paprastai išreiškiamas logistine lyg-timi. Šie modeliai ypatingi tuo, kad juose naudojama logistinė lygtis įvertina augimo ribotumą. Pagrindinę lo-gistinių augimo modelių mintį galima nusakyti taip: kol populiacija yra santykinai maža ir turi daug išteklių, tol populiacijos augimo greitis yra didelis. Tačiau populiaci-jai padidėjus, o ištekliams sumažėjus, jos augimo greitis sparčiai mažėja [6].

V. EKONOMINIS LOGISTINIS AUGIMO MODELIS

Populiacijos augimo logistinį modelį 1847 m. pristatė P. Verhulstas. Logistinėje ekonominėje analizėje terminas lo-gistika siejamas su aprūpinimu ir išteklių naudojimo ribo-tumu. Nuolat didėjantis kapitalas ne tik sutinka stiprėjantį išorės pasipriešinimą, bet ir pats sudaro sau konkurenciją. Pradinis kapitalo didėjimo tempas uždaroje sistemoje, tu-rinčioje ribotus išteklius, laipsniškai mažėja, kol smarkiai sulėtėja ir visai sustoja. Ši savybė literatūroje vadinama ribiniu kapitalo efektyvumu. „Ribinis efektyvumas – tai pelno norma, kurios tikimasi iš papildomo investavimo. Didėjant investicijų kiekiui ribinis investavimo efektyvu-mas mažėja. Taip yra todėl, kad pradinės investicijos re-alizuotos esant palankiausioms sąlygoms ir dėl to duoda didelę pajamų normą, o vėlesnės investicijos yra ne tokios efektyvios ir teikia tolygiai mažesnes pajamas“ [10].

Atlikus matematinius pertvarkymus, ribinio kitimo bū-simoji kapitalo vertė išreiškiama taip [6]:

cijų augimą, mažinti paskolų ir palūkanų normas kreditams ir atvirkščiai – ekonominio pakilimo periodais mažinti ūkinę veiklą, stabdyti investicijų augimą, didinti paskolų ir palūkanų normas kreditams.

J. M. Keynesas, kaip ir J. A. Schumpeteris, ekonomi-nio augimo ribas siūlo taip pat plėsti inovacijomis ir nau-jomis technologijomis. Pagrindinis abiejų idėjų skirtu-mas – J. A. Schumpeteris siūlo inovacijas plėtoti visiško ekonominio užimtumo metu, o J. M. Keynesas – tik ekono-minio nuosmukio metu. Be to, J. A. Schumpeteris inovaci-jas siejo su monopoline rinka ir konkurencija, o J. M. Key-nesas siūlė valstybėms su inovacijomis išeiti iš nepalankios investicijos ekonominės padėties.

Taigi keičiantis ekonominei situacijai pasaulyje keitėsi ir ekonominės idėjos, bet tik nedaugelis ekonomistų pami-nėjo ekonominio augimo ribotumą. Ir šiuo metu dauguma ekonominių augimo modelių vertina tik begalinį augimą, bet neatsižvelgia į vidaus ir išorės veiksnius, kurie jį ribo-ja. Modeliuose neaprašyti veiksniai, padėsiantys praplėsti ekonominio augimo ribas.

IV. KLASIKINIŲ EKONOMINIO AUGIMO MODELIŲ APŽVALGA

Klasikinių ekonominio augimo modelių yra daug ir įvairių, modelio sąvoka įvairiuose šaltiniuose apibrėžiama skirtingai. A. Račkauskas savo knygoje „Ekonometrijos įvadas“ modelį apibrėžia kaip „originalo atvaizdą, tapatų su pasirinktu struktūros lygmeniu arba pasirinktomis funk-cijomis“. S. Girdzijauskas knygoje „Logistinė kapitalo valgymo teorija: determinuotieji modeliai“ (2006) modelį apibrėžia taip: „Tai dirbtinis darinys, vaizduojantis realiai egzistuojantį objektą ar reiškinį“ [6]. Remdamiesi šiais modelio apibrėžimais, ekonominį modelį galime apibūdin-ti kaip vienos tikrovės dalies atvaizdavimą, kuriame galima pritaikyti įvairius pokyčius ir pamatyti jų rezultatą.

Augimo teorijos tikslas – sukurti tokį modelį, kuriuo būtų galima išsiaiškinti pagrindinius to augimo veiksnius. Dažniausiai šie modeliai skirti augimo tempams visos ša-lies mastu nagrinėti [6].

Šiuo metu ekonominiam augimui tyrinėti taikomas T. R. Malthuso eksponentinio augimo modelis. Autorius pirmasis suprato, kad kiekviena rūšis potencialiai gali augti pagal geometrinę progresiją. Šiuo metu eksponentinis mo-delis nagrinėjamas aiškinantis sudėtines palūkanas. Pagrin-dinė jo ypatybė – augimo greitis yra proporcingas kapitalo dydžiui. Dėl šios priežasties kapitalas didėja natūraliai ir augdamas duoda nuolat didėjantį prieaugį. Eksponentinį augimą galima išreikšti:

dK i Kdt

= ⋅ (1)

čia K – kapitalo dydis, laiko momentu t; t – laiko momen-tas; i – kapitalo augimo greičio koeficientas.

Endogeninio augimo teorijų antplūdis prasidėjo nuo

Page 55: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

55

ERIKA JOCIŪTĖ, STASYS GIRDZIJAUSKAS · EKONOMINĖ LOGISTINĖ ANALIZĖ IR JOS PRITAIKYMAS ANALIZUOJANT EUROPOS SĄJUNGOS LISABONOS STRATEGIJĄ

)1)1((1

)1(

0

0

−+⋅++⋅

= n

n

iSiK

K (2)

čia 0K – pradinis kapitalo kiekis, 0S – pradinis prisoti-

nimo koeficientas, išreiškiamas esamos produkto reikšmės (K) ir maksimalios produkto reikšmės (K

m) santykiu; n –

daugiklis, parodantis laiko pokytį.

Paprastojo augimo atveju reikšmės nuolatos nepaliauja-mai didėja, o ribinio augimo atveju augimas vyksta palaips-niui ir artėja prie tam tikros ribos.

Ištekliams artėjant prie ribos, dabartinė kapitalo vertė gali pasiekti kokias norima dideles reikšmes. Pasiekus ar peržengus šią ribą, sistema tampa nestabili. „Mažėjant ište-klių normai, kapitalo dabartinė vertė didėja, o perėjus į nei-giamų reikšmių sritį ir artėjant prie trūkio taško, kapitalo dabartinė vertė gali pasiekti kiek norima dideles reikšmes. <...> Dėl bazinių kapitalo išteklių prisotinimo atsirandantis ryškus kapitalo dabartinės vertės įdėjimas sukelia finansi-nėje sistemoje kainų burbulų susiformavimą. Tam lemiamą įtaką turi išteklių ribotumas: mažėjant ištekliams – didėja kapitalo dabartinė vertė. Nuosekliai artėjant prie išteklių ribos, kapitalo kaupimas tampa neribotas. Tačiau jei ištek-liai atsinaujina arba randami jiems alternatyvūs, kainos staigiai krenta, nes, kaip rodo logistinis modelis, nedideli nykstančių išteklių pasikeitimai sukelia didelius kainų šuo-lius“ [6].

Tiek ekonomikos, tiek gamtos įvairios sistemos yra baigtinio dydžio. Sistemų ribas galima įsivaizduoti kaip maksimalų galimą investuoti kapitalą, kurį sistema sugebės efektyviai pasisavinti. Tai vadinama kapitalo talpa. Kapi-talo vystymosi talpa, arba ribinis kapitalas, – tai augimo riba, kurią kiekvienu konkrečiu atveju suformuoja konkreti investicinė aplinka. Maksimalią kapitalo talpą galima pra-plėsti vystant technologijas. Ribų praplėtimą galima ilius-truoti, pavyzdžiui, mobiliųjų telefonų rinka. Kol parduoda-mi tik senesnio modelio telefonai, jų prekyba palaipsniui mažėja ir pelnas, pasiekęs tam tikrą ribą, nustoja augęs. Bet vos tik pasirodo naujas modelis, prekyba vėl atgyja ir suda-ro sąlygas pelnui didėti. 3 pav. pateiktas rinkos talpos prieš inovacijas ir po jų dydžio palyginimas.

3 PAV. RINKOS TALPOS PRIEŠ IR PO INOVACIJŲ PALYGINIMAS

Šaltinis: sudaryta autorės.

Aptariant 3 pav. galima teigti, kad naujų technologijų atsiradimas automatiškai praplečia kapitalo ribas ir suda-ro palankias sąlygas ekonominiam augimui. Vadinasi, kuo daugiau investuojama į inovacijas, šiuo atveju – naujas technologijas, tuo labiau galima išplėsti ekonominio augi-mo ribas ir išvengti ekonominių krizių.

Kaip minėta, Europos Sąjungai susidūrus su ekonomi-nio augimo kliūtimis, 2000 m. Lisabonoje vykusiame Eu-ropos Sąjungos viršūnių susitikime buvo nuspręsta imtis priemonių, kurios padėtų pagerinti ir atgaivinti ES ekono-mikos augimą. Pagrindinėmis priemonėmis, turinčiomis praplėsti Europos Sąjungos ekonomikos ribas, įvardijamos inovacijos, jų taikymas ir plėtojimas įvairiose Europos Są-jungos šalių veiklos srityse.

Norint išsiaiškinti inovatyvios Lisabonos strategijos įtaką Europos Sąjungos šalių ekonominiam augimui ir vys-tymuisi, pritaikytas ekonominio logistinio augimo modelis, kadangi tik šis ekonominio augimo modelis atsižvelgia į rinkos ribotumą ir leidžia inovacijomis praplėsti ekonomi-nio augimo ribas. Ekonominė logistinė analizė atskleidė iki šiol nežinomus du ekonominius paradoksus [6]:

1. Prisotinus rinkos talpą, padidėja ekonominis efekty-vumas;

2. Didėjant rinkos prisotinimui, atsiranda skolų arba kredito spąstai.

Esant atvirai rinkai, šie paradoksai nepasireiškia. Jų vei-kimas – viena svarbiausių krizių priežasčių. Todėl ekono-minis logistinis modelis, pritaikytas ES šalių ekonomikos augimo analizei, leis identifikuoti šalių ekonomikos augi-mo ribas ir veiksnius, kurie galėtų šį augimą praplėsti.

VI. IŠVADOS

1. Pirmųjų klasikinių ekonominių idėjų autoriai aprašė tik begalinį ekonominį augimą, bet neįvertino jį ribojan-čių veiksnių. Tik XX a. pradžioje J. A. Schumpeteris ir J. M. Keynesas pastebėjo, kad ekonomikos augimą riboja įvairūs veiksniai, o tas ribas praplėsti galima inovacijo-mis.

2. Ekonominio logistinio augimo modelis analizuoja ribotą ekonominį augimą, o šiuo metu naudojami endoge-ninio ir eksponentinio augimo modeliai analizuoja tik be-galinį augimą. Ekonominis logistinis ekonominio augimo modelis atsižvelgia į veiksnius, kurie padeda praplėsti eko-nominio augimo ribas. Pagrindiniu ribų praplėtimo veiks-niu įvardijamos inovacijos ir jų valdymas.

3. Europos Sąjungai susidūrus su ekonominio augimo kliūtimis, nuspręsta imtis veiksmų, kurie paskatintų ES ekonomikos augimą. Šiam tikslui pasirašyta Europos Są-jungos Lisabonos strategija, pagal kurią inovacijos ir inves-ticijos į jas turėtų paskatinti Europos Sąjungos ekonomikos vystymąsi. Tačiau strategija kol kas neveiksminga, nes įgy-vendinama vangiai ir neužtikrintai.

Page 56: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

56

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

LITERATŪRA

[1] R. Balvočiūtė. Ekonominės minties istorija. Šiauliai: Šaulių uni-versiteto leidykla, 2007, 119 p.

[2] Z. Bodie, A. Kane, A. J. Marcus. Essentials of Investments. McGraw-Hill, 2007, p. 984.

[3] R. Čiegis. Ekonominių teorijų istorija. Vilnius: Vilniaus univer-sitetas, 2006, 732 p.

[4] Europos parlamentas. Lisabonos strategija: daugiau ir geresnių darbų konkurencingesnėje Europoje. 2004.

[5] European Commission. The Lisbon European council – an agenda of economic and social nenewal for Europe. Briussel, 28 Fabruary, 2000.

[6] S. Girdzijauskas. Logistinė kapitalo valdymo teorija; de ter mi-nuo tie ji metodai, Vilnius: VU leidykla, 2000, p. 232.

[7] V. Nakrošis, E. Barcevičius. „Europos sąjungos Lisabonos stra-tegijos įgyvendinimas Lietuvoje: Tarp Vilniaus ir Briuselio“. Politologija, 2007/3.

[8] A. Račkauskas. Ekonometrijos įvadas. Vilnius, 2003, p. 157.

[9] OECD. Revising the Lisbon Strategy through the OECD Inno-vation Strategy. January, 2009.

[10] P. Christopher. Business and maroeconomics, 1995, p. 304.

Page 57: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

57

Santrauka. Vartotojo sąsaja – svarbi programinės įrangos dalis, reikalinga norint perduoti sistemai informaciją iš varto-tojo bei vykdyti jos funkcijas. Daugeliu atveju, iš UML kalba aprašytos sistemos specifikacijos būtų galima automatiškai ar automatizuotai generuoti grafinę vartotojo sąsają – pradinį būsimos sistemos prototipą. Šiame darbe siūlomas sprendi-mas remiasi trimis UML diagramomis (panaudojimo atvejų, klasių ir veiklų) ir jose aprašytos informacijos transforma-vimu į grafinės vartotojo sąsajos elementus.

Reikšminiai žodžiai: UML, grafinė sąsaja, metamodeliai.

I. ĮVADAS

Kuriant informacines sistemas (IS), dažnai siekiama kuo anksčiau vartotojui pademonstruoti būsimos sistemos prototipą. Proceso kūrimo pradžioje dažniausiai tai būna tik grafinė vartotojo sąsaja, bet jai sukurti reikalingos papildo-mos priemonės ir papildomas sistemos projektuotojų darbas. Sistemos projektuotojai turi kurti ir sistemos reikalavimų spe-cifikaciją bei projekto modelį, o jiems aprašyti dažnai naudo-jama UML (angl. Unified Modeling Language) kalba. Dau-geliu atveju, iš UML kalba aprašytos sistemos specifikacijos būtų galima automatiškai ar automatizuotai generuoti grafinę vartotojo sąsają – pradinį būsimos sistemos prototipą.

Informacinių sistemų kūrimo procesai padeda sistemų inžinieriams identifikuoti kompiuterizuojamus panaudo-jimo atvejus, išanalizuoti verslo problemas ir spręsti jas sukūrus informacinę sistemą. Kuriant tokią sistemą, labai svarbu surinkti, specifikuoti ir išanalizuoti užsakovo pateik-tus reikalavimus. Funkciniams reikalavimams aprašyti daž-niausiai naudojami įvairūs UML diagramų tipai (panaudo-jimo atvejų, klasių, veiklos, sekos ir kt. diagramos). Šiose diagramose aprašytą informaciją ir būtų galima panaudoti grafinės vartotojo sąsajos prototipui sudaryti.

II. VARTOTOJO SĄSAJOS GENERAVIMO BŪDAI IR ĮRANKIAI

Vartotojo sąsaja – svarbi programinės įrangos dalis, rei-kalinga norint perduoti sistemai informaciją iš vartotojo bei

vykdyti jos funkcijas. Tai vienintelė sistemos dalis, kurią mato vartotojas ir su kuria valdo sistemą. Vartotojo sąsajos prototipas naudingas šiais IS kūrimo etapais:

• reikalavimų analizės ir specifikavimo – pagal var-totojo pateiktus reikalavimus pademonstruoja būsi-mos sistemos veikimo principus;

• projektavimo ir realizavimo – realizuojant sistemą, naudojamas jau sukurtas grafinės sąsajos prototi-pas, be to, prototipas susietas su projekto modeliais ir jų realizacija;

• palaikymo – specifikuotas ir aprašytas prototipas, susietas su realizacija, palengvina tolesnį sistemos tobulinimą.

Vartotojo sąsajos sudėtines dalis galima aprašyti meta-modeliu, kuriame fiksuojama, kokie elementai sudaro var-totojo sąsają ir kaip jie susiję tarpusavyje. Vienas tokių vartotojų sąsajos metamodelių pavyzdžių pateiktas [1]. Čia aprašomos vartotojo sąsajos saugumo problemos, o sąsa-jos metamodelis padeda susieti vartotojo sąsajos elemen-tus su saugumą užtikrinančiais elementais. Šiame darbe, generuojant vartotojo sąsajos prototipą, saugumo tema nėra nagrinėjama, bet [1] pateiktas metamodelis naudingas kaip formalus grafinės sąsajos struktūros aprašas. Grafiniai elementai išskaidyti į tam tikras grupes pagal jų tipus ir atliekamus veiksmus. Šių elementų elgsena aprašoma pri-skiriant veiksmus.

Straipsnyje vartotojo sąsajos prototipui sudaryti rei-kalingą informaciją siūloma surinkti iš UML diagramų, kurios sudaromos kuriant informacinę sistemą. Sistemų projektuotojai su UML sumodeliuoja pagrindinius siste-mos procesus, funkcionalumą, numatomą struktūrą, klases, jų atributus, operacijas ir ryšius.

UML – vieninga modeliavimo ir specifikacijų kūrimo kalba, skirta specifikuoti, atvaizduoti ir konstruoti objek-tinių programų dokumentus [2]. Naudodama įvairias dia-gramų rūšis, ji pateikia sintaksinius ženklus, apibūdinan-čius visus pagrindinius sistemos vaizdus.

UML 2.0 [3] apibrėžiama 13 diagramų (išskaidytų į dvi didesnes šakas: vaizduojančias sistemos elgseną ir struktūrą), kurios drauge sudaro bendrą sistemos vaizdą su reikalingais aspektais. Šiame straipsnyje siūlomas

Grafinės vartotojo sąsajos generavimas iš UML diagramų

Tadas Karlonas, Lina JankauskaitėInformacijos sistemų katedra, Informatikos fakultetas

Kauno technologijos universitetasEl. paštas: [email protected], [email protected]

Page 58: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

58

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

sprendimas – generuoti vartotojo sąsają naudojant informa-ciją, aprašytą UML panaudojimo atvejų, klasių ir veiklos diagramose.

A. Vartotojo sąsajos sudarymo įrankiai Šiuo metu sukurta keletas įrankių, palengvinančių

sudaryti grafinę vartotojo sąsają. Vienas jų – MagicDraw 16.6. – siūlo specifinį diagramų tipą – vartotojo sąsajos modeliavimo diagramą. Naudojantis pagrindiniais sąsajų elementais: mygtukais, meniu, sąrašais, tekstiniais laukais, lentelėmis, pasirinkimo elementais, nuorodų, slaptažodžių laukais ir t. t., – pagal šią diagramą [4] galima sudaryti vartotojo sąsajos prototipą ir susieti ją su atitinkamomis to paties projekto klasėmis. Nors ši diagrama palengvina sis-temų projektuotojų darbą, bet pagrindinis jos trūkumas – iš atskirų elementų vartotojo sąsajos diagrama suprojektuo-jama rankiniu būdu, taigi reikalauja papildomų projektuo-tojo darbo sąnaudų, be to, gali būti išsaugoma ir peržiūrima tik kaip paveikslėlis arba interneto sąsajos prezentacija.

Oracle Forms Builder [5] įrankis leidžia generuoti var-totojo sąsają. Oracle Forms Builder siejasi su sukurta Ora-cle (ar kita) duomenų baze ir The Forms Runtime įrankiu bei daugybe grafinių elementų leidžia sukurti formas, kurios parodo, įveda ar redaguoja tos duomenų bazės duomenis. Vartotojo sąsajos formos kuriamos trigerių pagrindu – jie modifikuojami, taigi dirbant šiuo įrankiu reikia ne tik pro-jektavimo, bet ir programavimo žinių.

The User Interface Generator yra IBM® InfoSphere Master Data Management (MDM) Workbench kompo-nentas [6], kuriuo galima sudaryti vartotojo modelį (angl. User model), tikslų bei užduočių modelius, kurie reikalingi norint sugeneruoti grafinę vartotojo sąsają. Sukūrus šiuos modelius, galima panaudoti juos internetinei sąsajai kurti naudojantis papildomu The User Interface Generator įran-kiu. Nė vienas iš aptartų įrankių nesuteikia galimybės gene-ruoti vartotojo sąsajos prototipo iš UML diagramų, kurios sudaromos kuriant informacinės sistemą.

B. Vartotojo sąsajos generavimo metodaiVartotojo sąsajos generavimui siūlomi įvairūs spren-

dimai ir metodai. [7] siūlomas sprendimas skirtas būtent tinklo paslaugų sistemoms. Tinklo paslaugos (angl. web services) gali būti iškviestos viena kitos arba vartotojo, bet skiriasi šių iškvietimų pobūdis. Kad galėtų iškviesti tinklo paslaugas, vartotojas turi matyti grafinę vartotojo sąsają. Jai generuoti autoriai siūlo naudoti WSDL (angl. Web service description language) aprašymo kalbą kartu su papildo-mais grafinės sąsajos aprašymais.

Vartotojo sąsają siūloma generuoti ir naudojant XUL (angl. XML-based User-interface Language), XML (angl. eXtensible Markup Language) ir Gecko biblioteką [8]. Sudarius XUL ir XML failus, jie nuskaitomi ir įrašomi į atmintį. Kiekvienam XUL elementui priskiriamas tam tikras dizaino elementas.

[9] siūlo grafinę vartotojo sąsają generuoti iš šių UML diagramų: panaudojimo atvejų, klasių, bendradarbiavimo ir būsenų. Papildomi apribojimai kuriamai sistemai aprašomi

OCL (angl. Object Constraint Language) kalba [9]. Klasių diagramą autorius siūlo naudoti sistemos struktūrai apra-šyti ir ryšių tarp sistemos klasėms identifikuoti. Panaudo-jimo atvejų diagrama yra susijusi su sistemos vartotojų ir sistemos sąveika, todėl ja aprašomas sistemos kontekstas, funkcionalumas ir elgsena. Bendradarbiavimo diagrama naudojama identifikuoti kiekvieno panaudojimo atvejo vykdymo scenarijui. Šią funkciją taip pat gali atlikti ir sekų diagrama. Būsenų diagrama parodo objektų būsenų seką įvairiais vykdymo etapais. Ji gali būti sujungta su objektų klasėmis, kurių būsenos kinta dinamiškai.

[10] siūlo vartotojo grafinę sąsają generuoti naudojant aprašytus šablonus. Išsirinkus atitinkamus parametrus, sugeneruojama standartinio stiliaus grafinė sąsaja.

Taigi egzistuojantys vartotojo sąsajos generavimo metodai dažniausiai:

• remiasi ne UML diagramomis, o jau su realizacija susietais būsimos sistemos aprašais [7], [8], [10];

• naudoja UML diagramas, bet reikalauja daug papil-domos informacijos (pvz., OCL aprašų [9]), kurią kartais sudėtingiau aprašyti, negu sukurti pačią gra-finę sąsają.

III. GRAFINĖS VARTOTOJO SĄSAJOS GENERAVIMO ALGORITMAS

Šiame darbe siūlomas sprendimas remiasi trimis UML diagramomis (panaudojimo atvejų, klasių ir veiklų) ir jose aprašytos informacijos transformavimu į grafinės vartotojo sąsajos elementus. Taigi pradiniai darbe siūlomo algoritmo duomenys – tai UML diagramos, o rezultatas – grafinės vartotojo sąsajos elementai, iš kurių galima sudaryti sąsa-jos vaizdą. Ir pradiniams algoritmo duomenims, ir rezul-tatui aprašyti naudojami metamodeliai, kuriuose saugoma reikalinga informacija – naudojamų UML diagramų meta-modelis ir grafinės vartotojo sąsajos metamodelis. UML diagramų metaklasės transformuojamos į langų metaklases ir galiausiai jos atvaizduojamos grafiškai sudarant sąsajos langus su diagramose numatytais elementais (1 pav.).

1 PAV. VARTOTOJO SĄSAJOS GENERAVIMO PAGRINDINIAI ETAPAI

C. Pradiniai algoritmo duomenys – naudojamų UML diagramų metamodelisPagal UML 2.0 metamodelio aprašymą diagramoms,

naudojamoms kuriant grafinę vartotojo sąsają, sudarytas metamodelis.

UML metamodelį sudaro trys didesnės elementų kategorijos [4]: klasifikatoriai (angl. classifier), įvy-kiai (angl. events) ir elgsenos (angl. behaviors). Kadangi UML 2.0 metamodeliai yra universalūs ir gali būti nau-dojami įvairiausiomis situacijomis, 2 pav. pavaizduotos atrinktos UML metamodelio panaudojimo atvejų, klasių ir

Page 59: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

59

TADAS KARLONAS, LINA JANKAUSKAITĖ · GRAFINĖS VARTOTOJO SĄSAJOS GENERAVIMAS IŠ UML DIAGRAMŲ

veiklų klasės bei klasės, susijusios su šiomis diagramomis. Tai duomenys, naudojami vartotojo sąsajos generavimui.

2 PAV. UML METAMODELIS

Pagrindinės klasės, naudojamos pasiūlytame algorit me, – UseCase, Class, Property, Activity, Activity-Node, ActivityEdge. 2 pav. pavaizduotų ir algoritme naudo-jamų metaklasių išsamesnis aprašas pateiktas 1 lentelėje.

Iš panaudojimo atvejų metaklasių išsaugomas panau-dojimo atvejo pavadinimas, kuris, generuojant grafinę vartotojo sąsają, virs lango pavadinimu. Klasės apibū-dina sistemos langų elementus, taigi reikia išsaugoti kla-sių pavadinimus, taip pat klasių atributų pavadinimus ir tipus. Veiklų informacija, atspindinti langų navigaciją, – tai jų pavadinimai ir tarpusavio ryšiai. Išsaugomi duomenys aprašyti 2 lentelėje.

Kadangi veiklos diagrama nurodo grafinės vartotojo sąsajos langų navigaciją, kai, pavyzdžiui, panaudojimo atvejų diagramoje yra tik vienas panaudojimo atvejis, ji nėra būtina. Visais kitais atvejais, kai yra keletas panau-dojimo atvejų ir grafinėje vartotojo sąsajoje reikia sukurti kelis langus, veiklos diagramoje būtina atvaizduoti langų atidarymo eiliškumą.

1 LENTELĖ. Į SISTEMĄ ĮVEDAMI DUOMENYS IR JŲ PAAIŠKINIMAS

Metaklasė Atributas PaaiškinimasUseCase name: string – pa-

naudojimo atvejo pavadinimas

Panaudojimo atvejis aprašo sistemos įvykių specifikaciją.

Nurodoma, ką sistema gali atlikti ir kokie veikėjai daly-

vauja dirbant su sistema.Class name: string – kla-

sės pavadinimasClass apibūdina objektų,

turinčių panašias ypatybes, rinkinį. Tai tam tikras klasifi-katorius su atributais, priklau-somybėmis ir operacijomis.

Property /default: string – atributo reikšmė

Property atspindi klasės atri-butus arba atributų rinkinius.

DataType datatype: string – atributo tipas

Tai tipas, pagal kurį identi-fikuojama tam tikro atributo reikšmė. Naudojamas pro-gramuojant duomenų tipui

atpažinti.Activity-

Nodename: string – veik-

los pavadinimasAbstrakti klasė, numatanti

veiklų žingsnius.ActivityEdge source: string – esa-

mos veiklos identifi-kacinis numeris

target: string – veik-los, į kurią nukrei-

piama esama veikla, identifikacinis

numeris

Abstrakti klasė, aprašanti dviejų veiklų tarpusavio ryšį.

Activity Nėra Parametrizuoto elgesio speci-fikacija, aprašanti veiklą.

D. Grafinės vartotojo sąsajos metamodelisŠiame darbe grafinės sąsajos elementams aprašyti

naudojamas [1] pasiūlytas grafinės sąsajos metamodelis (3 pav.) Grafinė vartotojo sąsaja išskaidoma į atskirus gra-finius elementus, kurie vaizduojami konteineryje. Šis ele-mentas taip pat priskiriamas prie grafinių elementų, kaip ir mygtukai, įrašai, informacijos įrašas, tekstiniai laukai, pasirinkimų elementai, sąrašo įrašas. Pats grafinės sąsajos langas ir informacijos sąrašas nėra laikomi grafiniais ele-mentais dėl savybės turėti savo elementus.

Grafinės sąsajos metaklasių detalesnis aprašas pateiktas 2 lentelėje.

3 PAV. GRAFINĖS VARTOTOJO SĄSAJOS METAMODELIS [1]

Page 60: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

60

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

2 LENTELĖ . GRAFINĖS VARTOTOJO SĄSAJOS METAMODELIO KLASIŲ APRAŠAS

Pavadinimas Aprašymas

Window Elementas, galintis turėti kitų grafinių elementų. Langai vaizduojami medžio hierarchija.

Container Abstraktus elemento tipas. Gali turėti kitų elemen-tų.

Widget Grafinis elementas.WidgetAction Aprašo trigerių inicijuotus veiksmus.ComboBox Grafinis elementas, turintis ComboEntry.

ComboEntry Grafinis elementas, atspindintis ComboBox ele-mento egzempliorius.

Button Grafinis elementas, inicijuojantis veiksmą.Label Grafinis elementas, naudojamas informacijai pa-

teikti. Vartotojas negali keisti šios informacijos.Entry Informacijos įrašas.

TextField Tekstinis laukas.CheckBox Grafinis elementas, skirtas sprendimui pasirinkti.

Galimi keli pasirinkimai.RadioButton Grafinis elementas, skirtas sprendimui pasirinkti.

Galimas tik vienas pasirinkimas.

IV. GRAFINĖS VARTOTOJO SĄSAJOS GENERAVIMO ALGORITMO APRAŠYMAS

Transformavimo iš UML diagramų į vartotojo sąsajos prototipą algoritmo principai pateikti 4 pav. Algoritmas susideda iš kelių žingsnių. Pirmiausiai transformuojami panaudojimo atvejai. Kiekviena panaudojimo atvejo meta-klasė UseCase atitinka grafinės sąsajos metaklasę Window.

Lango pavadinimas (metaklasės Window atributas name) gaunamas iš metaklasės UseCase atributo name.

Kitas žingsnis – transformuoti klasių diagramos ele-mentus – klases (metaklasė Class) ir jų atributus (metaklasė Property). Klasių (Class) atributai (Property) transformuo-jami į atitinkamus lango elementus (kuriuos apibendrina metaklasė Widget) pagal jų tipą. Šiuos lango elementus ati-tinka metaklasės Label, Entry, TextField, CheckBox, Radio-Button, ComboBox. Atributo vardas (metaklasės Widget atributas name) gaunamas iš Property metaklasės atributo default, o tipas nustatomas iš DataType metaklasės. Taip patikrinus visas klases, tų klasių ir jų atributai transfor-muojami į GUI elementų metaklases. Ryšys tarp klasės ir panaudojimo atvejo nustato, kurie atributai kuriam langui priklauso. Transformuojamas Class – UseCase ryšys į ryšį tarp Windows – Widget metaklasių.

Veiklos diagramų elementai – veiklos (metaklasė ActivityNode) transformuojamos į grafinės sąsajos elemen-tus mygtukus (metaklasė Button). Mygtuko pavadinimas (klasės Button atributas name) gaunamas iš AcivityNode atributo name. Navigavimo planas, nurodantis, kurį kitą langą atidaryti, gaunamas iš veiklos ryšių (metaklasė Acti-vityEdge). Ryšiai gaunami iš klasės ActivityEdge atributų source ir target. Kiekviena veikla (klasė AcitivityNode) susieta su panaudojimo atveju.

Atlikus diagramų metaklasių transformavimą į langų metaklases, pastarosios gali būti vaizduojamos į vartotojo sąsajos elementus, sudarant grafinį vartotojo sąsajos proto-tipo vaizdą.

5 pav. pateiktas algoritmo veikimą demonstruojantis pavyzdys su dviem panaudojimo atvejais („Prisijungti“ ir

4 PAV. UML METAMODELIO KLASIŲ TRANSFORMACIJA Į GUI METAMODELIO ELEMENTUS

Page 61: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

61

TADAS KARLONAS, LINA JANKAUSKAITĖ · GRAFINĖS VARTOTOJO SĄSAJOS GENERAVIMAS IŠ UML DIAGRAMŲ

„Registruotis“), dviem klasėms („vartotojas“ ir „duome-nys“) ir dviem veiklomis („Prisijungti“ ir „Registruotis“). Iš šios informacijos, laikydamiesi pasiūlyto algoritmo prin-cipų, gausime grafinę vartotojo sąsają, pavaizduotą 5 pav. dešinėje pusėje.

V. ALGORITMO REALIZACIJA

Šiame darbe pasiūlyto algoritmo realizacija susieta su CASE įrankiu MagicDraw. Projektuotojui siūloma sistemą aprašančias diagramas sudaryti MagicDraw įrankiu. Šis įrankis diagramų informaciją išsaugo XML formatu. Taigi MagicDraw pakete sukurto sistemos projekto XML failas įkeliamas į šiame darbe realizuotą grafinės vartotojo sąsa-jos generavimo sistemą.

Diagramų informacijai nuskaityti naudojamas SAX (angl. Simple API for XML) – įvykiais grindžiamas XML dokumento nuskaitymas. Taip nuskaitant dokumentą, iškviečiamos funkcijos prieš pradedant ir baigiant skaityti dokumentą, taip pat prieš pradedant ir baigiant skaityti ele-mentą. SAX metodu reikiama informacija iš dokumento nuskaitoma neįkėlus viso dokumento į atmintį.

XML dokumente informacija imama iš šių elementų: packagedElement, node, supplier, client, edge, owned-Attribute ir referenceExtension. Taip pat naudojamas atri-butas xmi:type elemento tipui nustatyti.

3 LENTELĖ. PACKAGEDELEMENT ELEMENTO TIPAI IR JŲ ATLIEKAMŲ VEIKSMŲ APRAŠAS

packagedElement tipas

Atliekamas veiksmas

uml:UseCase Panaudojimo atvejis išsaugomas į masyvą.uml:Class Sukuriamas klasės objektas, į kurį bus sura-

šyti atributai ir klasės pavadinimas.uml:Activity Nurodoma programai, kad toliau reikės

saugoti veiklos diagramos elementus node. uml:Usage Nurodoma programai, kad toliau reikės

išsaugoti veiklos ryšius su panaudojimo atveju. Šiame pakete saugojami veiklos ir

panaudojimo atvejo ryšiai.

Jeigu elemento pavadinimas atitinka packagedElement, tikrinamas jo tipas. Pagal tai parenkamas atliekamas veiks-mas. Elementų tipai ir su jais susiję veiksmai pateikti 3 len-telėje.

Elemento node tipai ir su jais susiję veiksmai pateikti 4 lentelėje.

4 LENTELĖ. NODE ELEMENTO TIPAI IR JŲ ATLIEKAMŲ VEIKSMŲ APRAŠAS

node tipas Atliekamas veiksmas

uml:CallBehaviorAction Išsaugomas veiklos pavadinimas.

uml:InitialNode Išsaugomas veiklos diagramos pradžios elementas.

uml:ActivityFinalNode Išsaugomas veiklos diagramos pabaigos elementas.

Pagal elemento pavadinimą atliekami veiksmai pateikti 5 lentelėje.

5 LENTELĖ. ELEMENTAI IR JŲ ATLIEKAMŲ VEIKSMŲ APRAŠAS

Elemento pavadinimas Atliekamas veiksmas

supplier arba client Išsaugomas ryšys tarp veiklos ir panaudo-jimo atvejo.

edge Išsaugomas veiklos diagramos ryšys tarp elementų.

ownedAttribute Pridedamas klasės atributas prie jau sukur-to klasės objekto.

referenceExtension Išsaugomas sukurto atributo tipas.

Nuskaičius failą, kiekvienas elementas filtruojamas pagal stereotipus ir grąžinami tik tie elementai, kuriems buvo priskirti atitinkami stereotipai. Panaudojimo atvejus žymi Window, klases WindowAttribute, o veiklas – Button stereotipai. Po filtravimo duomenys įgauna UML metamo-delio duomenų struktūrą.

Pagal IV skyriuje aprašytą algoritmą UML metaklasės transformuojamos į grafinės sąsajos metaklases, kurios, sukū-rus sąsajos langus, atvaizduojamos grafiniais elementais.

Iš pradžių sukuriami vartotojo sąsajos dialogai, ati-tinkantys nuskaitytus grafinės sąsajos langus. Į kiekvieną

5 PAV. TRANSFORMACIJA IŠ DIAGRAMŲ Į PROGRAMOS LANGUS

Page 62: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

62

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

dialogą sukeliami lango elementai, patikrinus jo tipą. Kiek viena programavimo kalba skirtingai aprašo grafinius elementus, todėl būtina tikrinti grafinės sąsajos elementą pagal tipą. Atvaizdavus grafinius elementus sąsajos lange, įkeliami mygtukai. Kiekvienam mygtukui nustatomas veiksmas, kuris nurodo, kokį kitą langą atidaryti.

Vartotojo sąsajos generavimo algoritmas realizuo-tas Java programavimo kalba kaip atskira programa, kuri naudoja informaciją, gautą iš MagicDraw įrankiu sukurto XML failo. Vienas sukurtos programos langų pateiktas 6 pav. Šiame lange pavaizduotas papildomų sąsajos savy-bių redagavimas.

VI. IŠVADOS

1. Kurdami programinę įrangą sistemos projektuoto-jai sudaro UML diagramas, aprašančias sistemos funkci-onalumą, elgseną, struktūrą ir t. t. Šias diagramas galima panaudoti sistemos prototipo automatiniam generavimui. Tai naudinga ne tik projektuotojams, bet ir užsakovams, kuriems būsimą sistemą stengiamasi pademonstruoti kuo ankstesniu kūrimo etapu. Naudojant grafinės vartotojo sąsajos generavimo algoritmą, nereikėtų papildomo pro-jektuotojų ir kitų specialistų darbo ir priemonių vartotojo sąsajos prototipui sudaryti.

2. Pastebėta, kad analizuotų egzistuojančių sprendimų vartotojo sąsajos generavimas yra sudėtingas ir užima daug laiko diagramoms aprašyti, be to, reikalauja daug papildo-mos informacijos arba specialių aprašų.

3. Pagal šiame straipsnyje pasiūlytą algoritmą sukurta sistema naudoja minimalų reikalingų diagramų (panaudo-jimo atvejų, klasių bei veiklų) kiekį ir neperkrauna varto-tojo reikalavimais įvesti daug papildomos informacijos.

4. Ateityje planuojama algoritmą pritaikyti interneti-nei vartotojo grafinei sąsajai generuoti ir pateikti sistemos vartotojui sugeneruotos grafinės sąsajos programinį kodą tolesniam darbui. Tobulinant ir plečiant sistemos galimy-bes, reikėtų išplėsti naudojamus grafinės sąsajos elemen-tus, įtraukti meniu, užduočių juostas ir kitus sudėtingesnius grafinius elementus.

LITERATŪRA

[1] D. Basin, M. Clavel, M. Egea, M. Schlapfer. “Automatic Genera-tion of Smart Security-Aware”, ETH Zurich, Switzerland.

[2] “Unifiede Modeling Language Superstructure Specification”, Version 2.0. Dokumento Nr. ptc/03-08-02. OMG, 2003.

[3] “OMG Unified Modeling LanguageTM” (OMG UML), Super-structure, Version 2.2.

[4] No Magic, Inc “MagicDraw User Manual”, 2010.

[5] M. Adler, A. Bers, C. Broxton, M. Caccamo, K. Chu, F. Rovitto. “Developer/2000: Guidelines for Building Applications”. Prieiga per internetą: http://download.oracle.com/docs/pdf/A50994_2.pdf, 1997.

[6] W. Jones, J. Limburn. “Build a user model with Rational Software Architect and the User Interface Generator”. Prieiga per internetą: http://www.ibm.com/developerworks/library/ar-modelingguide /index.html?S_TACT=105AGX01&S_CMP=LP, 2009.

[7] J. He, I. L. Yen. “Adaptive User Interface Generation for Web Ser-vices”. IEEE International Conference on e-Business Engineer-ing.

[8] N. Aloia, C. Concordia, M. T. Paratore. “Automatic GUI Genera-tion for Web Based Information Systems”.

[9] M. Elkoutbi, I. Khriss, K. Keller. “User Interface Prototyping using UML Specifications”.

[10] G. Polak, J. Jarosz. “Automatic Graphical User Interface Form Generation Using Template Haskell”. Department of Computer Science University of Science and Technology in Krak´ow.

6 PAV. SUKURTOS SISTEMOS LANGAI

Page 63: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

63

Abstract. There are many research works, which boast the benefits of semantic technologies. Nevertheless, the spread of these technologies is observed mainly in the scientific society and in some special domains, but not in everyday life. The main problem for pervasion of these technologies is the neces-sity of creating ontology for particular domains. Ontology creation is the main responsibility of information technology staff, because ontology specification languages are too sophis-ticated for business users. The existing OMG SBVR specifica-tion – Semantics of Business Vocabulary and Business Rules – enables to specify domain using limited natural language. The main goal of the paper is to introduce the research, devoted for transforming SBVR to OWL for using limited natural lan-guage in semantic technologies.

Keywords: SBVR, Semantics of Business Vocabulary and Business Rules, OWL, Web Ontology Language, transformation, semantic technologies.

I. INTRODUCTION

Semantic technologies separate data storing from ap-plication code and give a possibility for computers as well as people to understand and share semantics in a real time. These technologies also enable addition of new data sources or links between software applications as easy as it would be to draw new link in the model.

Unfortunately, these technologies are not mature yet to the certain level that we could notice strong benefits of them in everyday life. One of the problems for spreading these technologies across the world and make noticeable in every-day life is necessity of having good ontology for the selected domain. Nowadays ontologies are constructed using com-prehensive tools and ontology specification languages that are too difficult for business users. Therefore, creation of ontology is the main responsibility of information technolo-gy staff. Object Management Group (OMG), a consortium, originally aimed at setting standards for distributed object-oriented systems, have created the SBVR specification that provides opportunity to describe business vocabulary and business rules using templates of limited natural language, which is understandable for business users. Therefore, we

are investigating a possibility of transforming SBVR to OWL for enabling business users to describe ontologies using limited natural language.

II. PROBLEMS IN SEMANTIC TECHNOLOGIES AND RESEARCH GOALS

The main problem for the worldwide spread of seman-tic technologies is the fact that semantic technologies lay on ontologies. Ontology languages like Resource Description Framework (RDF) and Web Ontology Language (OWL) are the families of World Wide Web Consortium (W3C) specifications that have been developed to meet challenges of the Semantic Web [12]. Despite the fact that recommen-dations for ontology languages are prepared a couple of years ago [12, 1], they have not massively penetrated into everyday business applications. Construction of ontologies is still in the responsibility of information technology staff but not users themselves. Domain experts and end-users often do not have qualifications in ontology formulation logic.

Semantic technologies will gain their benefits when domain experts with no strong computer science know-ledge will be able to define ontology of the domain they are proficient in. Web Ontology Language OWL is easily “understandable” for computing systems that can process and reuse OWL ontologies. The disadvantages of OWL are comprehensive structures, because only IT professionals can construct them. It is too difficult for business users to construct ontologies using OWL.

SBVR specification consists of business vocabulary and vocabulary of business rules. SBVR concepts and formula-tions use templates of limited natural language, thus do-main experts are able to construct them. SBVR like OWL is aimed to be applied for computer processing [10], but it cannot be directly used in semantic technologies as is. This is the main disadvantage of SBVR.

The main goal of this research is application of busi-ness vocabulary for ontology development by creating the method for transforming SBVR into OWL and finding the

Analysis of Possibilities for Representing SBVR Business Vocabularies in Web Ontology Language

Jaroslav Karpovič, Lina NemuraitėDepartment of Information Systems

Kaunas University of Technology (KTU)Kaunas, Lithuania

E-mail: [email protected], [email protected]

Page 64: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

64

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

technological solution for it. To the best of our knowledge, currently such transformation does not exist. This task will gain the particularly importance when application of busi-ness vocabularies will become available for the wide range of business users.

III. RELATED WORKS

There are many research and development works regar-ding application of ontologies and automation of business rules in the world. The OMG organization pays serious at-tention to research in this field. Worldwide and European conferences related to the topic of ontologies and business rules take place every year. Moreover, these topics are in-cluded in nearly every conference related with computer science applications.

Lithuania keeps up with global trends in this field. The doctoral thesis about transformation of Protégé on-tology axioms written in Protégé Axiom Language (PAL) to Object Constraint Language (OCL) was defended in Vilnius Gediminas Technical University (VGTU) [5]. The research in the field of ontologies is prosecuted in the De-partment of Information Systems of Kaunas University of Technology. One of them is a method for transforming domain ontology, described in OWL, into relational da-tabase [17].

Another research devoted for automatic ontology ex-traction from database scheme and applying the extracted ontology in semantic search is described in [7]. Method and architecture of a tool for automatic ontology generation ba-sed on relational database schema and additional metadata was proposed in [8]. As a confirmation of the suggested method, prototype of semantic search engine was created that has shown the benefit of semantic search against tradi-tional keywords-based search.

The possibility to fill the gap between SBVR and Se-mantic Web is noticed worldwide [2, 3, 9, 15]. The possi-bility to bring SBVR business rules to the Semantic Web is analyzed in [3]. Authors suggest a translation from SBVR to OWL and REWERSE Rule Markup Language, howe-ver, no further research in this direction was made. Another paper [2] analyzes possibility to translate SBVR specifica-tion to the OWL+SWRL knowledge base with intention to check business rules consistency.

IV. OWL AND CONTROLLED NATURAL LANGUAGES

A. OWLThere are several ontology specification languages de-

fined. Most of broad-used ontology modeling languages are RDF and OWL. RDF is very simple modeling language, thus it is not able to cover most of SBVR concepts.

The Web Ontology Language (OWL) is a family of knowledge representation languages for authoring onto-logies. OWL specification includes the definition of three

variants of OWL with different levels of expressiveness: OWL Lite, OWL DL and OWL Full.

OWL Lite originally intended to support classificati-on hierarchy and simple constraints. It was created with a hope to develop simpler tools for ontology manipulation. Time has shown that oversimplified constructions are not so convenient. OWL DL is designed with intention to pro-vide maximum possible expressiveness and full machine processing at the same time. OWL Full was designed to preserve some compatibility with RDF Schema, but it is based on semantics dissimilar to OWL DL or OWL Lite, so it is hardly possible that any software would be able to support OWL Full. After all, OWL DL is the best variant for automatic transformations.

OWL is good for machine processing, but this language appears not very convenient when there are needs to model constructions of natural languages. Maybe next versions of OWL standard will add some additional functionality and techniques for this purpose. However, it could be that this is philosophical question at all.

Newly defined OWL2 standard [11] has some differen-ces and possibly is more convenient to cover SBVR con-cepts, but additional research in this field is needed.

B. Controlled Natural Language in the Semantic WebTo solve the mentioned gap between semantic tech-

nologies and business staff, some ideas are possible. One vision is to use Controlled Natural Languages (CNL) and then transform them to Semantic Web ontology langua-ges.

The problem there lies in fact that different scientific groups are developing their own Controlled Natural lan-guages, but none of them is accepted as a standard. Some of Controlled Natural Languages, applicable in semantic technologies, are:

− Attempto Controlled English (ACE);− Ordnance Survey Rabbit;− Sydney OWL Syntax (SOS);− Semantic parameterization;− Structured English – the language used in SBVR.

All of mentioned languages are logic-based, i.e. they have formal syntax and semantics, and can be mapped to some formal language. All of these languages have their advantages and limitations. The first three (ACE, Rabbit and SOS) were analyzed in [13] with intention to use them for transformations from CNL to OWL ontology. However, in the result of the research authors conclude that none of these languages is suitable for semantic representation out of the box. According the authors, the biggest problem of all analyzed languages is the representation of mathema-tical constraints such as transitivity. In the University of Tartu the doctoral thesis was defended devoted for using Attempto Controlled English as a Semantic Web Language [6]. It is worth to mention that none of these CNLs except of SBVR is adopted as a standard.

Page 65: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

65

JAROSLAV KARPOVIČ, LINA NEMURAITĖ · ANALYSIS OF POSSIBILITIES FOR REPRESENTING SBVR BUSINESS VOCABULARIES IN WEB ONTOLOGY LANGUAGE

V. THE SKETCH OF TRANSFORMATION FROM SBVR INTO OWL

In January 2008, OMG Consortium adopted Seman-tics of Business Rules and Business Vocabulary (SBVR) as standard [14]. This was the first OMG specification created with intention to incorporate natural languages in modeling. SBVR is an integral part of the OMG’s Model Driven Architecture (MDA) [4] and represents natural language specifications in formal logic, so these specifi-cations can be machine-processed. From that time, many research works in transformation from and to SBVR have started. For example, in Lithuania, Department of Infor-mation Systems in Kaunas University of Technology and Vilnius Gediminas Technical University collaborated in joint project, which goal was to extract UML class models from business vocabularies and business rules based on SBVR standard [10].

At the start of analysis for representing SBVR business vocabularies in OWL, SBVR and OWL concepts were ana-lyzed. SBVR specification [14] suggests matching of some main SBVR concepts with OWL concepts. Some of these mappings are listed in Table 1.

TABLE 1. OMG SUGGESTED MATCH OF SBVR AND OWL TERMS

SBVR Term OWL Term (or equivalent expression)fact OWL statement (s, p, o) interpreted as being true;

individualfact type

(binary fact type)Class description defining RDF property or OWL

object property (note: may only apply to OWL Full)

fact type(n-ary fact type

where n>2)

fact type has fact type role

(binary fact type)

The range of an rdf:Property or owl:ObjectProperty; alternatively may be speci-fied using a restriction on the property in OWL

fact type role RDF/OWL subject or object

VI. EXAMPLES OF TRANSFORMATION FROM SBVR INTO OWL

In this section, we show examples of transforming SBVR concepts into OWL ontology.

SBVR object type should be transformed into OWL class (Figure 1).

FIGURE 1.SBVR OBJECT TYPE TRANSFORMATION

The corresponding OWL class expression in XML form is shown in Figure 2. Note, that rdfs:label is optional and is used only to show, how different naming conventions could be rendered.

<owl:Class rdf:ID=”Wine”> <rdfs:label xml:lang=”en”>wine</rdfs:label></owl:Class>

FIGURE 2.OWL CLASS DEFINITION

Transformation of a fact type is done using OWL object property (Figure 3) or range of owl:ObjectProperty (when using generalized fact type like has, see Figure 4).

FIGURE 3. SBVR FACT TYPE TRANSFORMATION USING OBJECTPOPERTY

FIGURE 4. SBVR FACT TYPE TRANSFORMATION USING RANGE OF OBJECTPROPERTY

One more solution for representing SBVR “fact type has fact type role” construction is to use the owl:restriction. In Figure 5, a possible representation of SBVR fact type from Figure 3 is shown.

FIGURE 5. SBVR FACT TYPE TRANSFORMATION USING CLASS RESTRICTIONS

It looks like the connection between hasColor restric-tion (OWL) and SBVR fact type role wine_color is lost in the example shown in Figure 5. Although, the restriction is bound to the property which has the reference to the appro-priate class (Figure 6).

Cardinality of restrictions can be saved if it is necessary. There are just some examples shown in Figures 1-6 to dem-onstrate the possibility of such transformation.

Page 66: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

66

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

time has limitations to maintain only binary association fact types.

VIII. CONCLUSIONS

1. Ontology definition languages are too sophisti-cated for domain experts who should be actual end-users of ontology creation tools. Therefore different scientific groups develop they own Controlled Natural Languages, CNLs, but none of them is accepted as standard, except the SBVR. SBVR could be used as initial language in ontology creation process.

2. Although there is declared that SBVR is compa-tible with OWL in OMG specification, there is no method and tool to perform SBVR to OWL transformations at this time. OMG specification defines OWL equivalents for some of SBVR concepts, though this list is not finished and requires additional research.

3. Several additional problems were discovered du-ring this research. These problems must be solved in next stages of research that will involve detailed analysis of SBVR and OWL 2 concepts and semantics pursuing the comprehensive transformation between both languages for filling the gap between domain experts and semantic tech-nologies.

REFERENCES

[1] T. Berners-Lee, J. Hendler, O. Lassila. “The Semantic Web”. Scientific American, 2001, vol. 284, No. 5, p. 34–43.

[2] P. Ceravolo, C. Fugazza, M. Leida. “Modeling Semantics of Business Rules”. In: Digital EcoSystems and Technologies Conference, 2007. DEST ‘07. Inaugural IEEE-IES. Feb. 21–23, 2007. Cairns, Australia, p. 171–176.

[3] B. Demuth, H. B. Liebau. “An Approach for Bridging the Gap Between Business Rules and the Semantic Web”. Lecture Notes in Computer Science / Advances in Rule Interchange and Appli-cations. Book chapter, vol. 4824/2007, 2007. Springer Berlin/Heidelberg, Germany, p. 119–133.

[4] S. Hendryx. “Model-Driven Architecture and the Semantics of Business Vocabulary and Business Rules”. [online] [last acces-sed: Oct. 2009]. Prieiga per internetą: http://www.semanticcore.org/Docs/MDA%20and %20SBVR%20v2.pdf.

[5] D. Kalibatienė. “Ontologijų naudojimo verslo taisyklių rinkiniui formuoti tyrimas”. Doctoral thesis. Vilnius Gediminas Technical University, 2009.

[6] K. Kaljurand. “Attempto Controlled English as a Semantic Web Language”. Doctoral thesis, Dec. 2007. University of Tartu.

[7] J. Karpovič. “The Process of the Ontology Generation for the Semantic Search Engine on the Basis of Database Scheme”. Masters work, Kaunas University of Technology, 2007.

[8] J. Karpovič, V. Taujanskas. “Ontologijų išgavimo įrankio archi-tektūra” = “Architecture for Ontology extraction Tool”. In Infor-macinės technologijos 2006, Kaunas: D. 1. Vilniaus universiteto leidykla, 2006, p. 77–83.

[9] M. H. Linehan. “Ontologies and Rules in Business Models”. In EDOC Conference Workshop, 2007. EDOC ‘07. Eleventh Inter-national IEEE. Oct. 15–16, 2007. Annapolis, MD, p. 149–156.

<owl:Class rdf:ID=”Wine”>(...) <owl:Restriction> <owl:onProperty rdf:resource=“#hasColor“/> (...) </owl:Restriction>(...)</owl:Class><owl:ObjectProperty rdf:ID=“hasColor“> <rdfs:range rdf:resource=“#WineColor“/></owl:ObjectProperty><owl:Class rdf:ID=“WineColor“></owl:Class>

FIGURE 6.OWL CLASS RESTRICTION STRUCTURE

VII. DISCOVERED PROBLEMS

Several problems occurred during the analysis stage. One of discovered problems is the absence of categoriza-tion and segmentation in OWL. The second one is related with the representation of n-ary relations.

A. Categorization schemas and segmentation in the OWLThe problem lies in uncertainty about the possibility in

specification of categorization schemas and segmentation in the OWL. Possible solution for this problem is a usage of OWL2 DisjointUnion for representing SBVR segmentation schemas and ObjectUnionOf for presenting categorization schemas [11]. These propositions are not clear yet, because OWL2 is a fairly new standard and not all software is able to maintain it.

B. N-ary relations on the Semantic webIt is possible to define association fact types with multi-

ple roles in SBVR. OWL presents only binary properties. W3 Consortium suggests several solutions to solve or pass-thru this problem [16]. One of suggestions is to introduce a new class for a relation and the second one suggests using lists for arguments in a relation.

Suggestions are proposed, but they do not solve the pro-blem when queries or business rules must be constructed using natural language (or subsets of limited natural langua-ge). These suggestions are applicable for OWL, UML or ER languages, but if the goal is the “understanding” of natural language, they are not suitable for all cases, because such constructions sometimes will appear unnatural.

Another possible solution is to represent some roles of SBVR n-ary fact types as “properties of OWL properties”. OWL (first standard specification) has no such possibility, but OWL2 lets us declare properties and classes with the same name. This possibility was called Punning in OWL2 specification.

Regardless to all mentioned possibilities, additional analysis is needed to solve this problem. N-ary associati-ve fact types are not clearly elaborated in SBVR specifi-cation and much of SBVR-manipulating software at this

Page 67: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

67

JAROSLAV KARPOVIČ, LINA NEMURAITĖ · ANALYSIS OF POSSIBILITIES FOR REPRESENTING SBVR BUSINESS VOCABULARIES IN WEB ONTOLOGY LANGUAGE

[10] L. Nemuraite, L. Ceponiene, G. Vedrickas. “Representation of Business Rules in UML&OCL Models for Developing Infor-mation Systems”. Lecture Notes in Business Information Pro-cessing / The Practice of Enterprise Modeling. Book chapter, vol. 15, 2008. Springer Berlin Heidelberg, Germany, p. 182–196.

[11] “OWL 2 Web Ontology Language”. New Features and Ratio-nale: World Wide Web Consortium (W3C) Recommendation, Oct. 2009. [online] [last accessed: Jan. 2010]. Prieiga per inter-netą: http://www.w3.org/TR/owl2 -new-features/.

[12] “OWL Web Ontology Language”. Guide: World Wide Web Consortium (W3C) Recommendation, Feb. 2004. [online] [last accessed: Sept. 2009]. Prieiga per internetą: http://www.w3.org/TR/owl-guide/.

[13] R. Schwitter, K. Kaljurand, A. Cregan, C. Dolbear, G. A. Hart. “Comparison of three Controlled Natural Languages for OWL 1.1”. In OWL: Experiences and Directions (OWLED 2008) [online] [last accessed: Oct. 2009]. Prieiga per internetą:

http://www.webont.org/owled/2008dc/papers/owled2008dc_paper_4.pdf.

[14] “Semantics of Business Vocabulary and Business Rules (SBVR), Version 1.0: Formal specification”, v1.0. Object Management Group (OMG), Jan. 2008. [online] [last accessed: Sept. 2009]. Prieiga per internetą: http://www.omg.org/spec/SBVR/1.0/PDF.

[15] S. Spreeuwenberg, R. Gerrits. “Business Rules in the Semantic Web, are there any or are they different?” Lecture Notes in Com-puter Science / Reasoning Web. Book chapter, 2006. Springer Berlin/Heidelberg, Germany, p. 152–163.

[16] “Defining N-ary Relations on the Semantic Web”. W3C Wor-king Group Note, Apr. 2006. [online] [last accessed: Mar. 2010]. Prieiga per internetą: http://www.w3.org/TR/swbp-n- aryRelations/.

[17] E. Vyšniauskas, L. Nemuraitė. “Transforming ontology repre-sentation from OWL to relational database”. Informacinės tech-nologijos ir valdymas. Kauno technologijos universitetas. Kau-nas, 2006, vol. 35, No. 3A, p. 333–343.

Page 68: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę
Page 69: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

69

Abstract. This paper is devoted to find Poiseuille typesolution for second grade fluid flow in an infinitechannel. It is proved that the solution, constructedusing Galerkin’s method, converges and is unique. Aswell the form of the solution is presented.

Keywords: Second grade fluid flow, Galerkin’s method,Poiseuille type solution, Volterra integral equation.

I. INTRODUCTION

In this work we analyze one of mathematical

models arising in non-Newtonian fluid mechanics.

We shell discuss Poiseuille type solution of second

grade fluid flow in an infinite channel. We treat

only incompressible and homogeneous fluids and do

not consider thermal behavior. In fact, the equation

governing the flow of second grade fluid can be

viewed as a model problem for a large class of

viscous fluids with polymer additives and viscoelastic

liquids with ”short memory” [10], [9].

In the incompressible and homogeneous fluids of

second grade the Cauchy stress is given by

where is the coefficient of viscosity; is the in-

determinate part of the stress due to the constraint of

incompressibility; and are material coefficients

which are usually called the normal stress moduli; the

kinematical tensors and are defined through

[9]

u u

u u

If all motions of the fluid are required to satisfy

the Clausius-Duhem inequality and the assumption

that the specific Helmholtz free energy of the fluid

be a minimum when the fluid is locally at rest (i.e.

u ), then it immediately follows that

[3]

Since the fluid is assumed to be incompressible, it

can undergo onely isochoric motion and thus

u

Second grade fluid flow has been solved in such

papers: [2], [1], [4], [5], [6], [7]. In mentioned works

the problem was analyzed using the fixed point

or decomposition methods. In this work we solve

the problem using Galerkin’s method and look for

Poiseuille type solution [8].

II. CONSTRUCTION OF THE PROBLEM

We look for the solution in certain two-

dimensional the infinite channel

, where , with

denoting the width of the channel.

Using preliminaries, described in the introduction

we get the problem of second grade fluid flow:

u u u u u N uu

u u

where N u u u u u uand are two given positive constants.

We solve this problem with a flux condition

through a cross section of the channel :

Let us assume, that the velocity u is in-

dependent of the coordinate and has the form

Abstract. This paper is devoted to find Poiseuille type solu-tion for second grade fluid flow in an infinite channel. It is proved that the solution, constructed using Galerkin’s met-hod, converges and is unique. As well the form of the solution is presented.

Keywords: Second grade fluid flow, Galerkin’s method, Poiseuille type solution, Volterra integral equation.

Poiseuille type solution of the second grade fluid flow in an infinite channel

Neringa KlovienėŠiauliai UniversityŠiauliai, Lithuania

e-mail: [email protected]

Page 70: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

70

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

u Suppose that the compati-

bility condition

is valid.

III. FINDING POISEUILLE TYPE SOLUTION

Definition. The solution of the system , hav-ing the form

U

and satisfying the flux condition , is calledPoiseuille type solution. Here is arbitraryfunction.

Substitute expressions , into the system

,

where In function is

given, while and are unknown and have

to be found so, that the solution satisfies the

flux condition.

Let and are eigenfunctions

and eigenvalues of Sturm Liouville problem

From there

Eigenfunctions in the space forms

the basis, which can be orthonormalisated:

where - is the symbol of Kroneker. When

is integrated by parts, the result is

The constant function belongs to the

space .Therefor, it can be expressed by the

Furje series:

where and

The approximate solution of

problem is found changing the function by

the finite sum :

The solution depends on the right-

side function which has to satisfy the flux

condition .

We look for in the form:

Substituting the sum in to the equation

yields:

Let us multiply the equation by

apply and integrate over the interval

:

Page 71: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

71

NERINGA KLOVIENĖ · POISEUILLE TYPE SOLUTION OF THE SECOND GRADE FLUID FLOW IN AN INFINITE CHANNEL

In order to satisfy the initial condition

, we require that

Solving and substituting in we

get:

Consider now the flux condition

i.e. the function is the solution of the first

type Volterra integral equation:

Let us do a supposition that there exist the deriva-

tive of . Then differentiating both sides of the

equation , we get the second type Volterra

integral equation

where the kernel is determinated by the

formula

This kernel convergence, so we can pass in the

formula to the limit

If the changes

are made, than the equation ( ) can be written as

Volterra integral equation of the second type

For the reason that the sum con-

verges, the kernel belongs to the space

. Therefore, if

then there exists a unique

solution of the integral equation

and there holds the estimate:

If the right-hand side belongs to and

conditions

holds, then derivatives of the solution

also satisfies the integral equation

with the right-hand side Therefore

and Obviously,

if then

Page 72: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

72

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

IV. CONCLUSION

Definition. The couple of functionsis

called a generalized solution of problem (3.3),

if and satisfies

the integral identity

for allTheorem. Let and the necessary

compatibility condition is valid

Then there exist the unique solutionof problem .

Proof. Pair of functions ,

constructed in section 3, is the solution of prob-

lem (3.3). From the construction of the solu-

tion it is obvious that is infinite dif-

ferentiating. Therefor there exists a subsequence

, such that

,

weakly converge in and weakly

converge in

We can pass to a limit . For all the

flux condition (3.7.3) is valid. Hence this condition

remains valid for the limit function .

Now we prove the unique of the solution. Let

be a generalized solution of problem

(3.3). Take in (4.1) :

Since we get:

Therefore and from we get

.

REFERENCES

[1] D. Cioranescu, E. H. Quazar. ”Existence and uniquenessfor fluids of second grade”. Nonlinear Partial DifferentialEquations, Ceollege de France Seminar, Pitman, No. 109,p. 178 – 197, 1984.

[2] D. Cioranescu, E. H. Quazar. ”Existence and uniquenessfor fluids of second grade”. Note CRAS, No. 298, Serie I,p. 258 – 287, 1984.

[3] J. E. Dunn, R. L. Fosdick. ”Thermodynamics of fluids ofthe differential type”. Submited for publication.

[4] J. E. Dunn, R. L. Fosdick. ”Thermodynamics, stabilityand boundedness of fluids of complexity two and fluidsof second grade”. Arch. Rational Mech. Anal., No. 56, p.191 – 252, 1974.

[5] R. L. Fosdick, K. R. Rajagopal. ”Anomalous features inthe model of second oreder fluids”. Arch. Rational Mech.Anal., No. 70, 3, p. 1 – 46, 1979.

[6] G. P. Galdi, M. Grobbelaar-Van Dalsen, N. Sauer. ”Exis-tence and uniqueness of classical solution of the equationof motion for second grade fluid”. Arch. Rational Mech.Anal., No. 124, p. 212 – 237, 1993.

[7] G. P. Galdi, A. Sequeira. ”Further existence results forclassical solution of the equation of a second grade fluid”.Arch. Rational Mech. Anal., No. 128, p. 297 – 312, 1994.

[8] K. Pileckas. ”Navje - Stokso lygciu matematine teorija”.Vilnius, 2007.

[9] R. S. Rivlin, J. L. Ericksen. ”Stress deformation relationsfor isotropic materials”. Arch. Rational Mech. Anal., 4, p.323 – 425, 1955.

[10] C. Truesdell, W. Noll. ”The nonlinear field theories ofmechanics”. Handbuch der Physik, III/3, Springer-Verlag,Heidelberg, 1965.

REFERENCES

[1] D. Cioranescu, E. H. Quazar. “Existence and uniqueness for flu-ids of second grade”. Nonlinear Partial Differential Equations, Ceollege de France Seminar, Pitman, No. 109, p. 178–197, 1984.

[2] D. Cioranescu, E. H. Quazar. “Existence and uniqueness for flu-ids of second grade”. Note CRAS, No. 298, Serie I, p. 258–287, 1984.

[3] J. E. Dunn, R. L. Fosdick. “Thermodynamics of fluids of the differential type”. Submited for publication.

[4] J. E. Dunn, R. L. Fosdick. „Thermodynamics, stability and boundedness of fluids of complexity two and fluids of second grade”. Arch. Rational Mech. Anal., No. 56, p. 191–252, 1974.

[5] R. L. Fosdick, K. R. Rajagopal. “Anomalous features in the model of second oreder fluids”. Arch. Rational Mech. Anal., No. 70, 3, p. 1–46, 1979.

[6] G. P. Galdi, M. Grobbelaar-Van Dalsen, N. Sauer. “Existence and uniqueness of classical solution of the equation of motion for second grade fluid”. Arch. Rational Mech. Anal., No. 124, p. 212-237, 1993.

[7] G. P. Galdi, A. Sequeira. „Further existence results for classical solution of the equation of a second grade fluid”. Arch. Rational Mech. Anal., No. 128, p. 297–312, 1994.

[8] K. Pileckas. „Navje – Stokso lygciu matematine teorija“. Vil-nius, 2007.

[9] R. S. Rivlin, J. L. Ericksen. “Stress deformation relations for isotropic materials”. Arch. Rational Mech. Anal., 4, p. 323–425, 1955.

[10] C. Truesdell, W. Noll. “The nonlinear field theories of mecha -nics”. Handbuch der Physik, III/3, Springer-Verlag, Heidel-berg, 1965.

Page 73: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

73

Santrauka. Straipsnyje analizuojami duomenų išgavimo iš paskirstytų duomenų bazių ir perkėlimo į centrinę saugyklą procesai ir perkeliamų duomenų struktūros, siekiant page-rinti šių procesų veikimo charakteristikas. Procesai tobuli-nami įmonei pereinant prie naujų integravimo technologijų – taip gaunamas didesnis reinžinerijos efektas. Pateiktas empi-riniu būdu gautas bendrinių duomenų atskyrimo šablonas, kurį galima taikyti panašiems duomenų integravimo spren-dimams.

Reikšminiai žodžiai: ETL, duomenų integravimas, projektavimo šablonai.

I. ĮVADAS

Sparčiai besikeičiančiame pasaulyje atsiranda poreikis iš esamų duomenų greitai gauti rezultatus, be to, pasitikėti rezultatais svarbu kaip niekada anksčiau. Efektyvus duo-menų integravimas tapo efektyvaus sprendimų priėmimo pagrindu.

Duomenų integravimas pasireiškia vis didėjančiu poreikiu dalytis didėjančiais duomenų kiekiais. Plečiantis GNT įmonei, jos padaliniai įsikuria skirtingose Europos šalyse. Didėjant duomenų kiekiui, atsiranda poreikis turėti juos vienoje duomenų bazėje, kad būtų galima atlikti ana-lizę ir panaudoti jos rezultatus verslo sprendimams priimti. Šio darbo tikslas – greitas, efektyvus, tikslus duomenų perkėlimas, kurį siekiama atlikti taikant naujas duomenų integravimo technologijas. Šiam tikslui buvo analizuojami duomenų integravimo metodai, reinžinerijos principai bei naujų technologijų pritaikymo galimybės atliekant įmonės duomenų integravimo posistemio reinžineriją.

Duomenų perkėlimas iš operacinių duomenų bazių į analizei skirtas saugyklas vykdomas ETL (angl. Extract, Transform, Load) procesais, kurie leidžia paimti duomenis iš įvairių šaltinių, pakeisti jų formatus, pašalinti neteisingus ar tuščius duomenis ir atlikti kitas operacijas. Šie procesai jungiami į grandines, kurių vykdymo laikas yra ilgas, todėl paprastai tai atliekama naktį, kad iki darbo pradžios būtų galima perskaičiuoti visas vartotojams reikalingas ataskai-tas.

Šiame darbe spręsti uždaviniai, kaip perkelti ETL

procesus į naujai pasirinktą technologinę platformą nenu-traukus duomenų integravimo proceso. Ėmus naudotis naujomis technologijomis, pasinaudota reinžinerijos idėja, kuri teigia: pereinant prie naujos technologijos, tikslinga pakeisti ir optimizuoti procesus, jei to reikia. Reinžinerijos metu buvo pastebėta, kad perkeliamų duomenų detalumas skiriasi ir juos galima atskirti. Eksperimentai, per kuriuos buvo stebimos ETL procesų charakteristikos, patvirtino: atskirti duomenys perkeliami daug greičiau. Ši galimybė pagerinti ETL procesus buvo apibendrinta ir aprašyta kaip bendrinių duomenų atskyrimo šablonas.

II. DUOMENŲ INTEGRAVIMO POSISTEMIS

Duomenų integravimo posistemio proceso esmė – per-kelti ir sujungti informaciją apie produktus, esančius skir-tingose šalyse, į centrinę duomenų bazę, kad būtų galima atlikti verslui aktualią analizę. Siekiant užtikrinti duomenų korektiškumą, perkeliant identifikuojami produktų infor-macijos skirtumai tarp tarpinės (ORACLE) ir Centrinės DB. Integravimo procesu gauti duomenys vartotojams pateikiami ataskaitų pavidalu.

Duomenų integravimo (DI) procesas sujungia duome-nis iš penkių šaltinių, kurie realizuoti MS SQL Server 2000 ir MS SQL Server 2005 duomenų bazių valdymo sistemose (DBVS). Galimų integravimo technologijų analizė parodė, kad GNT perspektyviausia pasirinkti MS SQL Server integ-ravimo paslaugas (angl. SQL Server Integration Services) SSIS. 1 pav. pateikta UAB „GNT“ duomenų integravimo posistemio architektūra.

1 PAV. GNT DUOMENŲ INTEGRAVIMO SISTEMOS ARCHITEKTŪRA

Bendrinių duomenų atskyrimo šablonas ir jo taikymas UAB „GNT Lietuva“ ETL procesuose

Indrė KungytėInformacijos sistemų katedra

Kauno technologijos universitetasEl. paštas: [email protected]

vadovė Lina NemuraitėInformacijos sistemų katedra

Kauno technologijos universitetasEl. paštas: [email protected]

Page 74: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

74

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

Duomenys registruojami lokaliose duomenų bazėse, kurių lentelių struktūra yra vienoda. Duomenų sąra-šas generuojamas užklausa, formuojama iš penkių len-telių: „Produktas“, „Gamintojas“, „Produkto grupė“, „Darbuotojas“, „Tiekėjas“ (2 pav.).

2 PAV. PERKELIAMŲ DUOMENŲ ESYBIŲ KLASIŲ MODELIS

III. DUOMENŲ PERKĖLIMO (ETL) PROCESAI

ETL yra platforma, leidžianti išgauti, transformuoti ir perkelti duomenis arba jų kopijas iš daugialypių plat-formų ir duomenų šaltinių į vieną ar daugiau saugyklų. Naudingiausia perkelti tik tuos duomenis, kurie reikalingi sistemos funkcionalumui. Papildomi, nereikalingi, duo-menys užimą disko vietą ir atmintį [4], [5], [6]. 3 pav. pavaizduoti duomenų integravimo proceso ETL elemen-tai.

3 PAV. TIPINIS DUOMENŲ PERKĖLIMO PROCESAS

IV. SKIRTINGO DETALUMO DUOMENŲ INTEGRAVIMO ŠABLONAS

Įmonėje atliktos duomenų integravimo procesų anali-zės metu pastebėta, kad kiekviena perkeliama lentelė turi bendrinę ir detalią informaciją. Pagrindinė informacija yra unikali viename padalinyje, bet pasikartoja kituose pada-liniuose. Detali informacija yra unikali tiek vieno įmonės padalinio, tiek visos įmonės atžvilgiu.

Po šių empirinių pastebėjimų buvo sudarytas skirtingo detalumo duomenų atskyrimo šablonas. Pagal šablonų sudarymo principus, šablonas turi būti aiškus, tikslus, išsa-mus, suprantamas programuotojui, vartoti atitinkamos sri-ties sąvokas ir būti nedviprasmiškas [1], [2], [3]. Tiriamos įmonės atveju šablonas privalo būti lankstus ir gebėti len-gvai įtraukti į jau veikiantį duomenų perkėlimo procesą naują duomenų šaltinį. Tai tikslinga dėl tiriamos įmonės plėtimosi į kitas šalis. Naujas duomenų šaltinis turi būti įtraukiamas paprastai, be trikdžių, nereikalauti bendradar-biaujančių objektų koregavimo, taip pat turi būti galimybė lengvai papildyti perkėlimo procesą naujais etapais, kurie padėtų spręsti kitokio tipo problemas.

V. BENDRINIŲ IR DETALIŲ DUOMENŲ ATSKYRIMO ŠABLONAS

Šiame skyriuje pateiktas sukurto šablono aprašymas, sudarytas pagal literatūroje nurodomus šablonų struktūros principus [2].

Tikslas. Duomenų integravimo procesą padaryti lankstų naujo duomenų šaltinio įtraukimo ir pašalinimo atžvilgiu, sumažinti integravimo procesų vykdymo laiką.

Problema. Komplikuotas naujo duomenų šaltinio įtraukimas į duomenų integravimo procesą. Naujo šal-tinio atsiradimas reikalauja modifikuoti daugelį susietų objektų. Ilga perkėlimo vykdymo trukmė vėlina duomenų perkėlimą į galutinę saugyklos vietą. Tai sutrikdo sinch-roninį duomenų krovimą, dėl kurio gaunami nekorektiški duomenys.

Problema atsiranda dėl netobulos perkeliamų duomenų lentelės struktūros. Kiekvienas įrašas turi tiek skirtingų laukų, kiek yra duomenų šaltinių. Atsiradus naujam duo-menų šaltiniui, lentelę reikia papildyti naujais laukais ir sukurti naują perkėlimo procesą. Sudėtinga ir atvirkštinė situacija, kai reikia naikinti egzistuojantį šaltinį ir pašalinti iš faktinės lentelės atitinkamus laukus.

Sprendimas. Problema išsprendžiama perorganizavus galutinės lentelės struktūrą. Informaciją, gautą iš duomenų šaltinių, reikia suskirstyti į dvi dalis: pagrindinę ir detalią. Sugrupuota informacija saugoma skirtingose lentelėse.

Taikymas. Modelis taikomas duomenų perkėlimo pro-cesuose, kai galima išskirti bendrinę ir detalią informa-ciją.

Rezultatas. Informacijos suskirstymas leidžia įtraukti ar pašalinti reikiamą duomenų šaltinių skaičių. Dėl atskyrimo sutrumpėja duomenų perkėlimo laikas.

Pavyzdys. Duomenų integravimo procesu perkeliama

Page 75: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

75

INDRĖ KUNGYTĖ, LINA NEMURAITĖ · BENDRINIŲ DUOMENŲ ATSKYRIMO ŠABLONAS IR JO TAIKYMAS UAB „GNT LIETUVA“ ETL PROCESUOSE

informacija apie produktus, esančius trijuose skirtinguose šaltiniuose. Produkto informaciją sudaro produkto kodas, produkto pavadinimas, produkto vadybininkas (4 pav.).

4 PAV. PRODUKTO INFORMACIJA SKIRTINGUOSE DUOMENŲ ŠALTINIUOSE

Gauti duomenys sujungiami į vieną lentelę (5 pav.).

5 PAV. PRODUKTO INFORMACIJA, ĮRAŠYTA Į GALUTINĘ DB LENTELĘ

Kadangi produkto pavadinimas ir kodas visuose duo-menų šaltiniuose yra vienodas, šiuos duomenis laikome pagrindiniais. Produkto vadybininkai – detali informacija, nes skirtinguose padaliniuose už tą patį produktą atsakingi skirtingi asmenys. Ši informacija yra unikali padalinio lygiu. Įvedame papildomą padalinio požymį ir išsaugome duomenis naujose lentelėse (6 pav.).

6 PAV. PRODUKTO DUOMENYS ATSKIRTI IR ĮRAŠYTI Į GALUTINES DB LENTELES

Atsiradus naujam duomenų šaltiniui, į detalios produkto informacijos lentelę įsirašytų papildoma eilutė, nereikėtų DB lentelių struktūros koregavimo.

VI. ŠABLONO TAIKYMAS UAB „GNT LIETUVA“ ĮMONĖS ETL PROCESUOSE

7 pav. pateikta GNT esybių klasių modelio dalis, kurioje pavaizduota bendrinė ir detali vieno iš penkių integruojamų šaltinių (Suomijos) informacija.

8 pav. pateiktas duomenų integravimo (DI) posistemio metaduomenų modelis, sudarytą iš duomenų integravimo procesų ir jiems nustatytų laiko grafikų, kuriuos sužadina

trigeriai, sukurti integravimo paslaugų SSIS įrankiu. Visi DI procesai atlieka tam tikrą duomenų perkėlimą ir apdoro-jimą [5]. Kiekvienas DI procesas turi griežtą laiko grafiką ir trigerį. Su laiko ir įvykių agentais sudaromos DI procesų sekos, kurios užtikrina nuoseklų, taisyklingą duomenų kro-vimą į centrinę duomenų bazę. DI procesų visuma sudaro įmonės duomenų integravimo sistemą.

8 PAV. DUOMENŲ INTEGRAVIMO SISTEMOS PROCESŲ METADUOMENŲ MODELIS

Skirtingo detalumo duomenų integravimo šablonas taikomas duomenų perkėlimo į buferines DB lenteles etape. Gauti duomenys suskirstomi į dvi dalis: bendrinę ir detalią. Bendrinę produktų informaciją sudaro šie laukai: produkto kodas, gamintojo kodas, produkto pavadinimas, gamintojas, produkto grupė. Visuose įmonės padaliniuose ši informacija yra vienoda. Detali informacija sudaryta iš šalies kodo, produkto kodo, produkto vadybininko kodo,

7 PAV. ATSKIRTOS BENDRINĖS IR DETALIOS PRODUKTO DUOMENŲ STRUKTŪROS

Page 76: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

76

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

Eksperimento vykdymas. Atlikta 20 bandymų su kie-kvienu projektu. Siekiant išvengti serverio apkrovimo ir skirtingų duomenų rinkinių įtakos rezultatams, bandy-mai buvo atliekami vykdant projektus tuo pačiu metu su tais pačiais duomenimis. Bandymų rezultatai sekundėmis pateikti 10 pav.

Analizė ir interpretavimas. Duomenų perdavimo laiko vidurkio, dispersijos, nuokrypio ir pasikliovimo intervalų įvertinimai x , s2, s ir d apskaičiuoti pagal formules:

∑=

=n

iix

nx

1

,1 ∑

=

−−

=n

ii xx

ns

1

22 ,)(1

1 (1)

∑=

−−

=n

ii xx

ns

1

2)(1

1 , n

td ns

1)/2,( −= , (2)

čia pasikliovimo lygmuo α= 0,05, bandymų skaičius n = 20, Stjudento kvantilis ,025,0(=− tt n 1)/2,( 19) = 2,093. Įvertinimų rezultatai pateikti 1 lentelėje.

1 LENTELĖ. EKSPERIMENTE APSKAIČIUOTI ĮVERTINIMAI

Įvertinimas 1 projektas

(senas)2 projektas (I naujas)

3 projektas (II naujas)

x 464 392 195

s2 469,6 140,1 11,8s 21,7 11,8 3,9d 10,16 5,53 1,83

Eksperimento rezultatai rodo, kad įvertintas perkėlimo laiko vidurkis 2 projekto ir 3 projekto atvejais yra daug mažesnis, atitinkamai mažesni ir dispersijos, standartinio nuokrypio ir pasikliovimo intervalo įvertinimai, vadinasi, įvertinimo rezultatai geresni ir stabilesni.

Nulinę hipotezę H0 galima atmesti, jei t0 > tα/2, n+m-2, čia

mnS

yxt

p11

0

+

−= , (3)

2)1()1( 22

−+

−+−=

mnSmSn

S yxp , (4)

2xS ir 2

yS yra atskirų bandymų variacijos.

11 PAV. EKSPERIMENTE TIRTŲ PROCESŲ DUOMENŲ PERDAVIMO LAIKŲ VIDURKIAI IR JŲ PASIKLIOVIMO INTERVALŲ RIBOS

tiekėjo kodo, kategorijos tipo. Įmonės padaliniuose šie duomenys yra skirtingi, nes kiekvienas padalinys turi savo darbuotojus, tiekėjus ir produktų kategorijas, į kurias pro-duktai patenka pagal pardavimų skaičiaus ir kainos santykį. Atskirta informacija saugoma skirtingose DB lentelėse, kurios jungiamos per produkto kodą. 9 pav. pateikta atskir-tos informacijos schema.

9 PAV. ATSKIRTA BENDRINĖS IR DETALIOS INFORMACIJOS STRUKTŪRA

VII. BENDRINĖS IR DETALIOS INFORMACIJOS ATSKYRIMO ŠABLONO TAIKYMO EKSPERIMENTAS

Eksperimento tikslas – išanalizuoti patobulintus duo-menų integravimo procesus ir įsitikinti, ar jie pagreitėjo, bei įvertinti duomenų perdavimo laiką prieš šablono pritai-kymą ir po jo.

Eksperimento planas. Eksperimentas vykdomas realioje įmonės aplinkoje, jame dalyvauja duomenų integravimo sistema ir programuotojas. Analizuojami 3 nepriklausomi kintamieji – 1 projektas (senas DI procesas), 2 projektas (DI procesas, pritaikius šabloną, 1 naujas) ir 3 projektas, kai šablonas buvo pritaikytas naujoje technologinėje SSIS aplinkoje (2 naujas). Priklausomas kintamasis – duomenų perdavimo laikas, apimantis duomenų įkėlimą, sujungimą ir perskirstymą pagal duomenų detalumą. Atliekamas duo-menų transformavimas yra elementarus ir visus tiriamus projektus veikia vienodai.

Tikrinamos dvi nulinės ir dvi alternatyvios hipotezės „1 projektas – 2 projektas“ ir „1 projektas – 3 projektas“ procesų atžvilgiu.

Nulinės hipotezės H0: bendrinių ir detalių duomenų atskyrimo šablono pritaikymas nesumažino duomenų per-davimo laiko, t. y. μprojektas1= μprojektas2, μprojektas1= μprojektas3.

Alternatyvios hipotezės Ha: skirtingo detalumo duo-menų integravimo šablono pritaikymas sumažino duomenų perdavimo laiką: μprojektas1 > μprojektas2, μprojektas1 > μprojektas3.

10 PAV. EKSPERIMENTO REZULTATAI

Page 77: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

77

INDRĖ KUNGYTĖ, LINA NEMURAITĖ · BENDRINIŲ DUOMENŲ ATSKYRIMO ŠABLONAS IR JO TAIKYMAS UAB „GNT LIETUVA“ ETL PROCESUOSE

Pirmą nulinę hipotezę galima atmesti, nes t0=12,7, t0,025;38=2,024 ir t0 < t0,025;38; antrą nulinę hipotezę tuo labiau galima atmesti, kadangi t0=68,0; t0,025;38=2,024 ir t0 < t0,025;38.

Remiantis eksperimentu galima teigti, kad bendrinių ir detalių duomenų atskyrimas pagreitino duomenų integra-vimo procesą 45,4 %, o kartu dėl pritaikytos SSIS techno-logijos gautas 81,99 % pagreitėjimas. Seno ir naujo pro-cesų vidurkiai ir jų pasikliovimo intervalai pavaizduoti 11 pav.

VIII. IŠVADOS

1. Atlikta GNT ETL procesų analizė parodė, kad perke-liamos duomenų struktūros turi pasikartojančių duomenų, kuriuos galima atskirti ir patobulinti perkėlimo procesą. Ši analizė taip pat atskleidė aktualias problemas: tikslinga sukurti tokius perkėlimo procesus ir duomenų struktūras, kad būtų lengva jas papildyti įtraukus naujus duomenų šal-tinius.

Nustatyta galimybė atskirti bendrinius ir detalius integ-ruojamų šaltinių duomenis buvo aprašyta kaip bendrinių ir detalių duomenų atskyrimo šablonas, kurį galima taikyti panašiems duomenų integravimo sprendimams.

Atliktas eksperimentas parodė, kad šablono taikymas GNT įmonėje sutrumpino proceso trukmę 45,4 %, o dėl

kartu pritaikytos SSIS technologijos gautas 81,99 % sutrum-pėjimas. Duomenų integravimo procesas tapo lankstesnis, į jį bus galima paprasčiau įtraukti naujus duomenų šaltinius.

LITERATŪRA

[1] C. Alexander, S. Ishikawa, M. Silverstein, M. Jacobson, I. Fiksdahl-King, S. Angel, A Pattern Language. “Christopher Alexander’s Pattern Language”, 1999, “IEEE Transactions on Professional Communication”, vol. 42, No. 2, p. 117–122.

[2] W. Eckerson, C. White. “Evaluating ETL and Data Integration platforms”,101communications LLC, United States, 2003. Pri-eiga per internetą: http://mimage.hummingbird.com/alt_content/binary/pdf/ collateral/mc/etlreport.pdf.

[3] K. Hathi. “An Introduction to SQL Server 2005 Integration Ser-vices”. 2005. Prieiga per internetą: http://www.microsoft.com/technet/prodtechnol/sql/2005/intro2is.mspx

[4] A. D. Jhingran, N. Mattos, M. Pirahesh. “Information Integra-tion, a Research agenda”, IBM System, 2002, No. 4. Prieiga per internetą: http://researchweb.watson.ibm.com/journal/sj/414/jhingran.pdf

[5] B. Mains. “Using SQL Server Integration Services (SSIS) Con-trol Flow in SQL Server 2005”, 2007. Prieiga per internetą: http://dotnetslackers.com/articles/sql/UsingSQLServerIntegra-tionServicesSSIS.aspx.

[6] S. Shankar, A. Kini, D. DeWitt, J. Naughton. “Integrating data-bases and workflow systems”, SIGMOD Record, 2005, No. 3, p. 5–1.

Page 78: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę
Page 79: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

79

Anotacija. Įvairių projektų valdymo procesas kasdien tampa vis sudėtingesnis, todėl norint jį visiškai kontroliuoti reikia papildomų priemonių. Šiame darbe nagrinėjamas statinių projektavimo įmonės projektų valdymo procesas ir jam val-dyti sukurta informacinė sistema.

Reikšminiai žodžiai: projektų valdymas, informacinė sistema, procesų brandos modelis CMM.

I. ĮVADAS

Straipsnyje aprašyta konkrečioje statinių projektavimo įmonėje, kuri užsiima kelių, geležinkelių, tiltų, visuome-ninės paskirties ir kitų objektų projektavimu, sukurta pro-jektų valdymo sistema, apimanti visus bendrovės projekta-vimo procesus. Sistemos tikslas – pagerinti bei paspartinti pagrindinės veiklos, t. y. projektavimo proceso, valdymą.

Išanalizuotas įmonės projektų valdymo procesas, nu-statytos pagrindinės jo problemos ir rizikos, atliktas šio proceso įvertinimas pagal procesų brandos vertinimo mo-delį CMM (angl. Capability Maturity Model), aprašytą ISO 15504-2 standarte [4].

Išnagrinėjus proceso trūkumus, priimtas sprendimas sukurti sistemą, kuri padėtų jų išvengti. Nors yra nema-žai projekto valdymo įrankių, iš kurių populiariausi – MS Project ir MS Project Server [3], jų analizė parodė, kad universalūs projektų valdymo įrankiai neatitinka statinių projektavimo procesui keliamų reikalavimų. Pavyzdžiui, jie nesuteikia projektų vadovams galimybių matyti, valdyti ir kontroliuoti tik jiems skirtas darbų dalis, matyti ir regis-truoti ankstesnių projektų darbų klaidas.

Eksperimento metu buvo atlikta esamo ir sukurto pro-cesų lyginamoji analizė bei naujo proceso įvertinimas pa-gal procesų brandos vertinimo modelį CMM.

Tiriant esamą procesą ir sudarant naują, remtasi lite-ratūros šaltiniais [1], [2], [6], kuriuose aprašomi projektų valdymo metodai ir rizikos; taip pat išanalizuoti šaltiniai, susiję su procesų brandos vertinimo modeliu [4], [5] ir pro-jektų valdymo sistemomis [3].

II. SENAS STATINIŲ PROJEKTAVIMO ĮMONĖS PROJEKTO VALDYMO PROCESAS

A. Esamas projektų valdymo procesasProjekto valdymo proceso, vykstančio statinių projek-

tavimo įmonėje, eiga pateikta 1 pav. Iš jo matyti, kad pra-džioje dalyvaujama konkurse (arba užsakymas gaunamas apklausos būdu). Užsakovui pateikiama medžiaga apie objektą.

1 PAV. ESAMAS PROJEKTO VALDYMO PROCESAS

Statinių projektų valdymo informacinė sistema

Arvydas LeikusKauno technologijos universitetas

Kaunas, LietuvaEl. paštas: [email protected]

Page 80: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

80

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

Pagrindiniai projekto duomenys – paskaičiuota sąma-ta. Jeigu konkursas laimimas, pasirašoma sutartis, kurioje nurodomi pagrindiniai duomenys apie projektą. Pasirašius sutartį, paskiriamas projekto vadovas. Jis suskirsto projektą į darbus, išskirsto jiems pinigus ir priskiria atsakingus as-menis, kurie atsako už jiems priskirtą projekto darbą ir yra vadinami projekto dalies vadovais.

Projekto dalies vadovas gali priskirti darbuotojus-vykdy-tojus, kurie atliks priskirtus darbus. Paskirsčius darbus prasi-deda projekto vykdymas. Atliekami tyrinėjimai, projektuoja-mas objektas. Pabaigus darbus atliekamas sąlygų derinimas. Taip pat vykdoma projekto kontrolė, tačiau ji taikoma ne vi-sam projektui, o atliekama direktoriaus įsakymu patvirtinta tvarka. Projekto vadovas priskiria atitinkamos srities darbuo-tojus, kurie tikrina numatytus patikrai darbus.

Pabaigus visus projektavimo darbus, projektas atiduo-damas užsakovo ekspertams. Ekspertai pateikia ekspertizės protokolą bei projekto vertinimą. Jeigu randama klaidų, kurių projekto vadovas negali pateisinti arba apginti savo sprendimų, projektas grąžinamas taisyti.

Šio proceso vykdymas bendrovėje turi nemažai trūku-mų:

• Vadovybė / Skyriaus vadovas neturi tikslaus sąrašo, kiek projektai vadovai užimti fiziškai ir finansiškai, t. y., už kiek projektų šiuo metu projekto vadovas yra atsakingas ir ar neviršija nustatytos projektų su-mos. Jei nėra apkrovimo grafiko, sunku tinkamai pasirinkti projekto vadovą. Projektų darbų finansi-nio pasiskirstymo ataskaitos gaunamos tik ketvir-čio pabaigoje;

• Vykstat ilgalaikiams projektams (trunkantiems 1–2 metus arba ilgiau) gali būti tikslinamas pava-dinimas, galutinė projekto atlikimo data. Šiuo metu problema yra ta, kad ne visi projekto dalyviai apie tai sužino laiku. Dėl to atskirai ruošiamų projektų dalių pavadinimai būna neteisingi, vėluojama, pri-reikia papildomų išlaidų;

• Šiuo metu projekto vadovai pateikia žodines už-duotis (darbus) ir jos nėra dokumentuojamos. O do-kumentuojamos užduotys yra lokalios ir nesusietos tarpusavyje. Taip pat nėra kitų projektų dalyvių ap-krovimo grafikų, todėl jie neturi galimybės derinti savo užimtumo. Darbams nesuteikiami prioritetai, todėl užduotis ne visada gauna asmuo, galintis ge-riausiai atlikti tą darbą;

• Projektų klaidos neskelbiamos, nerūšiuojamos ir neanalizuojamos, todėl skirtingi projekto vadovai neišvengia tų pačių klaidų.

Esti dviejų tipų klaidos: projekto valdymo ir projekto kokybės. Projekto valdymo klaidos – jau minėtas pavadini-mų nesutapimas, datų ir terminų neatnaujinimas, nepraneši-mas apie finansinių pakeitimus ir kitos. Šias klaidas tikrina užsakovas. Radus neatitikimų, projektas gali būti atmestas.

Projekto kokybės klaidas fiksuojama ekspertų išvados. Šios klaidos susijusios su techniniais sprendimais, pavyz-džiui, panaudotos netinkamos medžiagos, parinktas netin-kamas sprendimas ir panašiai.

B. Projektų valdymo proceso įvertinimasNorint formaliai nustatyti esamo proceso galimybes, šis

procesas buvo vertinamas pagal galimybių brandos modelį CMM [5], aprašytą ISO 15504-2 standarte [4].

Proceso gebėjimas apibrėžtas pagal šešių lygių skalę, kuri kinta nuo žemiausio lygio, Nevykdomo, iki aukščiau-sio lygio, Optimizuoto. Ši skalė reiškia didėjančias įgy-vendinto proceso galimybes.

Procesų brandos lygiai: • 0 lygis: Nevykdomas. Procesas nėra įgyvendintas

arba nepavyksta pasiekti proceso tikslų;• 1 lygis: Vykdomas. Įgyvendintas procesas pasiekia

savo tikslus;• 2 lygis: Valdomas. Įgyvendintas procesas yra val-

domas, t. y. suplanuotas, stebimas ir pritaikytas;• 3 lygis: Apibrėžtas. Anksčiau apibūdintas Valdo-

mas procesas dabar įgyvendintas naudojant api-brėžtą procesą, kuris sugeba pasiekti savo proceso rezultatus;

• 4 lygis: Nusakomas. Anksčiau apibūdintas Api-brėžtas procesas dabar veikia be apibrėžtų ribų ir gali numatyti savo rezultatus;

• 5 lygis: Optimizuojamas. Anksčiau apibūdintas Nusakomas procesas be perstojo tobulinamas, kad tinkamai įgyvendintų einamuosius ir numatytus verslo tikslus.

Visi lygiai turi atributus, pagal kuriuos vertinamas pro-cesas:

• N – Nepasiekiamas įvykdyta 0–15 % • P – Retai pasiekiamas įvykdyta 15–50 % • L – Dažnai pasiekiamas įvykdyta 50–85 % • F – Pasiekiamas visada įvykdyta 85–100 % Tiriamo projektų valdymo proceso gebėjimų įvertini-

mas pateiktas 1 lentelėje.

1 LENTELĖ. SENO PROCESO GEBĖJIMO LYGIO VERTINIMAS

Lygis Proceso atributas Įverti nimas

1 lygis PA 1.1. Proceso atlikimo atributas F2 lygis PA 1.1. Proceso atlikimo atributas

PA 2.1. Proceso atlikimo valdymo atributasPA 2.2. Darbo produktų valdymo atributas

FPP

Nustatėme, kad šis procesas yra 1 lygio, t. y. įgyvendin-tas procesas pasiekia savo proceso tikslą. Patobulintą proce-są būtų galima pervesti į gretimą aukštesnį lygį.

C. Realizavimo galimybių analizėIeškant galimybių kompiuterizuoti statinių įmonės pro-

jektų valdymą, išanalizuota viena populiariausių programų MS Project ir jos priedas MS Project Server [3].

MS Project – labiausiai paplitęs paketas projektų val-dymui aprašyti, jį stebėti ir kontroliuoti. Jis taip pat tinka visiems projektų tipams – tiek informaciniams, tiek kito-kiems – valdyti.

Page 81: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

81

ARVYDAS LEIKUS · STATINIŲ PROJEKTŲ VALDYMO INFORMACINĖ SISTEMA

MS Project savybės: • galimybė išskirstyti projektą į darbus;• paskirstyti finansus projekto darbams;• priskirti vykdytojus darbams;• kontroliuoti projekto eigą naudojant Gantt diagra-

mas;• matyti vykdytojų darbų grafiką konkrečiam projek-

tui;• peržiūrėti ataskaitas apie atliktus ir dar vykdomus

darbus.MS Project paketas netinkamas dėl to, kad:• nėra galimybės palyginti kitų projektų darbų;• nėra projekto vadovo apkrovimo grafiko, nes val-

domas tik vienas projektas;• nėra galimybės prisegti papildomų failų su duome-

nimis apie projektą;• projekto dalies vadovai negali kontroliuoti savo

apkrovimo grafiko, jeigu dalyvauja keliuose pro-jektuose (pvz., gavęs kelis darbus iš skirtingų pro-jektų, geologas neturi galimybės jų abiejų atlikimo datų įvesti į vieną grafiką);

• programa yra anglų kalba;• visi vartotojai mato tuos pačius duomenis, t. y. pro-

grama negali atrinkti tik konkrečiam vartotojui rei-kalingų duomenų (grafikų ir pan.);

• yra daug papildomų funkcijų, todėl paprastam var-totojui (ne informatikui) valdyti gana sudėtinga.

Kai kurias papildomas funkcijas turi MS Project Server:• stebėti visus projektus, įkeltus į serverį;• paskirstyti resursus keliems projektams.Tačiau MS Project Server taip pat nėra tinkamas dėl to,

kad:• nėra galimybės prisegti papildomų failų su duome-

nimis apie projektą;• programa yra anglų kalba;• visi vartotojai mato tuos pačius duomenis, t. y. pro-

grama negali atrinkti tik konkrečiam vartotojui rei-kalingų duomenų (grafikų ir pan.);

• yra daug papildomų funkcijų, todėl paprastam var-totojui (ne informatikui) valdyti gana sudėtinga.

Darbuotojų apklausa dėl MS Project paketo

0 %10 %20 %30 %40 %50 %60 %70 %80 %90 %

100 %

Gali greitai įsisavinti Reikia anglų kursų Nedirbs arba užtrukslabai ilgai

2 PAV. DARBUOTOJŲ APKLAUSOS REZULTATAI

Bendrovėje buvo atlikta apklausa siekiant išsiaiškinti, ar verta pradėti mokymus dirbti su paketu MS Project. Re-zultatai pateikti 2 pav.

Diagrama rodo, kad tik 10 % procentų darbuotojų gali įsisavinti kitų gamintojų programinę įrangą, skirtą projekto valdymui. Apie 40 % anglų kalbos žinios yra menkos ir jiems gali padėti mokymai. Likusi dalis labai ilgai užtruks įsisavinti arba nedirbs su paketu, todėl procesas nebus vi-siškai vykdomas. Anglų kalbos bei MS Project paketo mo-kymo kursai yra mokami, dėl to būtų daug išlaidų visiems darbuotojams pamokyti.

MS Project ir visos kitos sistemos turi vieną pagrindi-nę problemą – priskirtas projekto vadovas valdo tik vieną projektą ir projekto valdymas neišeina iš projekto vykdymo ribų, t. y. nėra galimybės matyti visų projektų, palyginti jų, matyti visų projektų dalyvių užimtumo. MS Project Server suteikia šią galimybę, bet turi trūkumą – matomi visi pro-jektai, jų negalima atrinkti, t. y. nėra vartotojų pasiskirsty-mo. Visi turi tas pačias teises ir gali matyti visų projektus. Taip pat MS Project Server atneštų papildomų išlaidų, pa-prastam vartotojui sudėtinga jį diegti ir valdyti.

III. PROJEKTŲ VALDYMO ROCESO DALYVIŲ PROBLEMOS

Pagrindiniai proceso dalyviai – vadovybė, projekto va-dovas, projekto dalies vadovas, vykdytojas, projekto koor-dinatorius, skyriaus vadovas. Šiuo metu vartotojams atsi-randa šios problemos:

• vadovybė neturi tikslaus projekto vadovų apkrovi-mo grafiko;

• vartotojams neoperatyviai atnaujinami duomenys apie projektą. Taip projektas ima vėluoti;

• projekto vadovai neturi galimybės dokumentuoti užduočių (saugoti DB);

• projekto vadovai neturi galimybės peržiūrėti savo grupės (skyriaus) darbuotojų apkrovimo grafikų;

• projekto dalies vadovai negali peržiūrėti savo grafi-ko, jo kontroliuoti;

• projekto vadovai neturi galimybės peržiūrėti anks-tesnių klaidų, todėl dažnai daro tas pačias klaidas.

IV. PATOBULINTAS STATINIŲ PROJEKTAVIMO ĮMONĖS PROJEKTO VALDYMO PROCESAS

Norint panaikinti šiuos trūkumus, reikia keisti projekto valdymo procesą. Buvo sudarytas naujas projektų valymo procesas, pavaizduotas 3 pav. [1], [2]. Kad procesas tin-kamai funkcionuotų, jam sukurta projektų valdymo infor-macinė sistema, kuri padeda išvengti minėtų problemų ir valdyti visą procesą.

Visi pasirašytos sutarties duomenys saugomi duomenų bazėje. Visa informacija įvedama vieną kartą, projektas turi vieną pavadinimą.

Pagal duomenų bazės duomenis vadovybės atstovas / skyriaus vadovas gali matyti visus tuo momentu vykdomus projektus, jų projektų vadovus bei finansus, taip pat papil-

Page 82: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

82

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

Visi veiksmai išdėstomi į kalendorinius darbų grafikus, kurių kiekvienas įrašas susideda iš dviejų eilučių: a) plani-nės, kurią sąlygoja sutartis ir užduotys; b) faktinės, kurią užpildo atsakingas projekto vykdytojas. Jam matoma pro-jekto vykdymo eiga.

Žemesnio lygio vartotojai (projekto dalies vadovai) gali matyti tik savo grafiką ir darbus, už kuriuos jie atsakingi, o aukštesnio lygio vartotojas (projekto vadovai) mato visus vartotojų grafikus.

Skyriaus vadovas mato savo skyriui priskirtus objektus, gali kontroliuoti darbuotojų užimtumą ir skyriaus finansus.

Vadovybės atstovas ar skyriaus vadovas gali sekti darbų eigą, matyti darbų pasiskirstymą tarp grupių ir skyrių, pa-stebėti kritines ir pozityvias vietas.

Visi projekto vadovai bendroje duomenų bazėje turi pateikti ekspertų protokolą (.pdf ar .doc formatu) ir nuro-dyti reikšmingas ir nereikšmingas klaidas. Šią informaciją analizuoja priskirtas vadovybės atstovas, aptaria techninėse tarybose ir kas ketvirtį pateikia klaidų analizę bendrovės serveryje, kuris prieinamas visiems projekto dalyviams.

V. PROJEKTŲ VALDYMO SISTEMA

D. Sistemos reikalavimaiKuriamai projektų valdymo sistemai buvo keliami šie

reikalavimai:• sistema turi leisti valdyti (įvesti, koreguoti, šalinti)

darbo, finansų, žmogiškuosius resursus;• projektas, darbai ir visa kita susijusi informacija

turi būti įvedama tik vieną kartą, susieta ir lengvai pasiekiama;

• informacija (ataskaitos, grafikai) turi būti atrenka-ma ir paskirstoma vartotojams pagal lygius (pro-jekto vadovas / koordinatorius, projekto dalies va-dovas, skyriaus viršininkas ir t. t.);

• projektų kontrolę gali vykdyti ne tik projekto va-dovas, bet ir skyriaus viršininkas, vadovybės atsto-vas;

• sistema turi leisti saugoti ir peržiūrėti projektų do-kumentus: sutartis, aktus, ekspertizės išvadas;

• sistema turi leisti registruoti projektų kokybės klai-das;

• turi būti galimybės vykdyti projektų paiešką, klaidų peržiūrą.

E. Sukurta sistemaStatinių projektavimo projektų valdymo sistema sukurta

taikant PHP bei Javascript kalbas. Duomenims saugoti pa-sirinkta MySQL duomenų bazė. Sistema gali naudotis ne tik organizacijos viduje esantys skyriai, bet ir padaliniai, esantys už organizacijos ribų, t. y. kituose miestuose. Ji pasiekiama per intranetą. Sistema nereikalauja jokių papildomų diegi-mų, užtenka vartotojo kompiuteryje įdiegtos naršyklės.

Vartotojas, norėdamas prisijungti prie sistemos, turi tu-rėti prisijungimo duomenis bei tam tikrą prisijungimo tei-sių lygį: vadovybė, projekto vadovas ir t. t.

domą informaciją apie projekto vadovo grupės galimybes atlikti darbą (su kokia programine įranga dirbama, kokia patirtis ir pan.). Atlikus įvertinimą, vadovybės atstovas ar skyriaus vadovas teikia ataskaitą, kokį projektų vadovą geriausiai pasirinkti tuo momentu. Įsakymu paskiriamas projekto vadovas / vadovai. Duomenų bazėje prie objek-to atsiranda įrašas su paskirtu projekto vadovu ir įsakymo numeriu.

Projekto koordinatorius gali pakoreguoti pasikeitusį pavadinimą arba datas. Šie duomenys neperrašo senų įrašų, bet yra matomi šalia. Projektų vadovas turi galimybę maty-ti tik jam priskirtus projektus. Jis paskiria užduotis (darbus) vykdytojams (projekto dalių vadovams).

Užduotys, pateikiamos kitų skyrių darbuotojams, pa-tenka į šių vykdytojų grafiką, pavyzdžiui, vienam projekto dalies vadovui pateikiami keli darbai – taip jis gali pats de-rinti savo darbus su pateiktais terminais.

Projekto vadovas mato savo grupės darbuotojų užimtu-mą ir gali parinkti labiausiai tinkamą projekto autorių.

Projekto dalies vadovas gali matyti tik tas projekto da-lis, už kurias yra atsakingas. Jeigu projekte dalyvauja dau-giau dalyvių, jis turi įvesti jų pavardes ir darbus, sudaryti kalendorinį grafiką, jį kontroliuoti

3 PAV. PROJEKTO VALDYMO PROCESAS PO ATLIKTOS ANALIZĖS

Page 83: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

83

ARVYDAS LEIKUS · STATINIŲ PROJEKTŲ VALDYMO INFORMACINĖ SISTEMA

Vykdymo pradžioje pasirašoma sutartis ir projektas už-registruojamas. Vadovybė paskiria ir užregistruoja projekto vadovą. Pagal sutartį projektas išskirstomas į darbus ir pri-skiriami vykdytojai jiems atlikti.

Prisijungęs projekto vadovas mato jam priskirtus objek-tus. Projekto vadovas gali būti ir projekto koordinatoriumi, ir projekto dalies vadovu. Todėl jų visų pradinis puslapis yra vienodas, be jie gali matyti tiek jiems atrinktus duomenis.

Projektų vadovas gali peržiūrėti savo objektus, darbus ir darbų vykdytojus, objekto dokumentus (sutartis, aktus ir t. t.), taip pat paskirstymo ataskaitą su finansiniais duome-nimis, t. y. kiek ir kokiam vykdytojui skirta pinigų darbams atlikti (4 pav.).

Projekto vadovas atlieka projekto kontrolę stebėdamas objekto grafiką (5 pav.).

5 PAV. OBJEKTO GRAFIKAS

Jame matomi visi darbai bei jų planinis ir faktinis vyk-dymas. Grafiko tipas yra pasirenkamas. Jis gali būti vaiz-duojamas mėnesiais, savaitėmis arba dienomis. Grafike matyti, kokie resursai (darbuotojai ) panaudoti darbui atlik-ti ir kiek laiko skirta jų darbams atlikti pagal pasirinktą tipą. Grafike taip pat atsispindi, kiek pinigų skirta kiekvienam darbui. Ši funkcija veikia mėnesių pjūviu.

Prie darbų paskirstymo projekto vadovas gali planuoti darbo resursus, t. y. priskirti konkrečius darbuotojus.

2 LENTELĖ. PROCESŲ VYKDYMO REZULTATAI

Proceso pava-dinimas

Esamas proceso veiksmas Naujas proceso veiksmas

Sutartis • Sutarties iniciatorius dokumentą perduoda finansų skyrių (FS), kuris paruošia kopijas ir perduoda projekto vykdytojams, jie suveda duomenis į finansų DB. • Laikas: Užtrunka kelias val.• Klaidos: Kopijos gali nepasiekti PV. • Projektuojant gali keistis projekto vykdytojas, ir sutarties kopija turi pasiekti naują PV.

• Sutarties iniciatorius dokumentą perduoda FS ir FS įve-da duomenis į DB, kurios informaciją mato visi atsakingi projekto vykdytojai ir bet kada gali pasitikrinti duomenis arba atsispausdinti prisegtą sutartį. • Laikas: Keliolika minučių. Visi, kam suteiktos teisės, mato informaciją.

Įsakymas • Kopijos perduodamos finansų skyriui ir PV. FS įrašo atsa-kingą asmenį savo DB.

• Procesas analogiškas, tik prisegtą įsakymą (jo papildy-mą) galima pasitikrinti ir atsispausdinti.

Projekto darbų paskirstymas

• PV word arba excel lentelėje paskirsto darbus ir popierines kopijas perduoda FS, PDV, gali naudotis elektroniniu paštu. • Laikas: darbų skirstymas ir kopijų perdavimas. • Klaidos: pakeitimas arba pataisymas – visas darbas atlieka-mas iš naujo. • Informacija projekto vykdytojus pasiekia pavėluotai

• PV mato priskirtas pagal sutartį pinigų sumas bei vykdy-mo datas ir pratęsia darbų skirstymą. FS ir visi PDV mato, kas kam priskirta. • Laikas: Laikas, kurį sugaišta PV, skirstydamas darbus. • Visi projekto dalyviai mato savo darbus.

Projekto už-duočių paskirs-

tymas

• PV paruošia užduotis ir popierines kopijas perduoda FS, PDV, gali naudotis elektroniniu paštu. • Laikas: užduočių ruošimas, parašų rinkimas ir kopijų per-davimas. • Pamirštamos užduotys.

• PV paruošia užduotis ir visi PDV mato, kokius darbus ir pagal kokius reikalavimus reikia atlikti. • Laikas: Laikas, kurį sugaišta PV, ruošdamas užduotis. • Visi projekto dalyviai mato savo užduotis.

Projekto finan-sinių resursų paskirstymas

• PV skaičiuoja finansų skirstymą, SV kontroliuoja, derina FS. • Klaidos: Skirstant dalyvauja 3–4 dalyviai. • Suderintos ir pakoreguotos sumos gali „negrįžti“ pas PV.

• PV paskirsto finansus ir tai mato bei gali kontroliuoti visi, kam suteiktos teisės, tačiau pakeitimus gali atlikti tik PV.

Projekto žmo-giškųjų resursų paskirstymas

• PV žodžiu sudaro projekto vykdymo grafikus projekto vyk-dytojams.• Nėra galimybės derinti projekto vykdytojų darbų grafikų.

• PV sistemoje sudaro projekto vykdymo grafikus projek-to vykdytojams. • Užimtumo optimizavimas. Darbo grafikų derinimas.

Kontrolė sky-riaus lygmeniu

• FS rengia ataskaitas skyriams, PV rengia ataskaitas apie detalų darbų skirstymą popierine forma. • Laikas: FS ir PV laikas. Gauna ataskaitas kartą per mėnesį.

• Skyriaus vadovas mato sistemoje darbus, kuriuos vykdo vadovaujamas skyrius. • Laikas: Niekas negaišta laiko. Bet kuriuo metu matoma situacija.

Kontrolė įmo-nės vadovybės

lygmeniu

• Ataskaitą ruošia PV, SV ir FS. • Laikas: Kelios dienos. • Klaidos: Daug dalyvių, galimos klaidos, neatitiktys.

• Vadovybė gali sekti projekto vykdymo eigą sistemoje, gau-ti projektų vykdytojų ataskaitas iš įvairių sistemos duomenų.• Informacija visada teisinga.

4 PAV. PROJEKTO VADOVO OBJEKTŲ LANGAS

Page 84: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

84

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

Projekto dalies vadovas savo ruožtu irgi mato tik jam skirtus darbus, gali peržiūrėti su darbu susijusius dokumen-tus, planuoti savo darbo resursus, t. y. priskirti konkrečius darbuotojus darbams atlikti.

Skyriaus vadovas mato visus savo skyriaus objektus bei darbus, už kuriuos atsakingas jo vadovaujamas skyrius. Jis gali peržiūrėti darbų paskirstymo ataskaitas, grafikus ir taip kontroliuoti savo skyriaus veiklą.

Prisijungęs vadovybės atstovas gali peržiūrėti kiekvie-no skyriaus apkrovimo grafikus (planinius) ir nuspręsti, kurį projekto vadovą geriausia parinkti objektui.

VI. ATLIKTAS EKSPERIMENTAS

Norint įsitikinti naujo proceso efektyvumu, procesai buvo palyginti, naujas procesas įvertintas pagal proceso brandos vertinimo modelį CMM, atlikta kokybės analizė norint išsi-aiškinti padarytų klaidų skaičių. Ateityje planuojama atlikti vartotojų apklausą, kad būtų galima išsiaiškinti, ar juos ten-kina sukurtos sistemos funkcionalumas, patogumas ir kita.

A. Procesų palyginimasBuvo pasirinkti du projektai. Vienas vykdytas pagal

seną procesą, kitas – pagal naują. Sistemos veikimo stebė-jimo rezultatai pateikti 2 lentelėje.

B. Kokybės analizėAtliekant šį eksperimentą, buvo stebimos projekto val-

dymo klaidos ir projekto kokybės klaidos pagal skirtingus procesus vykdomuose projektuose. Stebėjimas vyko pas-taruosius du mėnesius. Stebėjimo rezultatai pateikti 3 ir 4 lentelėse.

3 LENTELĖ. PROJEKTO VALDYMO KLAIDŲ STEBĖJIMO REZULTATAI

Mėnuo / Klaidų skaičius Esamas procesas Naujas procesas2010 m. vasaris 10 12010 m. kovas 8 2

4 LENTELĖ. PROJEKTO KOKYBĖS KLAIDŲ STEBĖJIMO REZULTATAI

Mėnuo / Klaidų skaičius Esamas procesas Naujas procesas2010 m. vasaris 7 42010 m. kovas 12 5

Iš lentelių matyti, kad klaidų sumažėjo. Pagrindinės projekto valdymo klaidos vykdant naują procesą radosi dėl sistemos valdymo žinių trūkumo.

C. Naujo proceso vertinimasNaujai sudaryto projektų valdymo proceso brandos ver-

tinimas pateiktas 5 lentelėje.Pagal atliktą eksperimentą nustatyta: dėl sukurtos sis-

temos statinių projektavimo įmonės projektų valdymo gebėjimas pakilo į 2 lygį, t. y. procesas yra valdomas. Jis suplanuotas, stebimas ir pritaikytas, tačiau dar nėra visiškai apibrėžtas.

5 LENTELĖ. NAUJO PROCESO BRANDOS LYGIO VERTINIMAS

Lygis Proceso atributas Įvertinimas

1 lygis PA 1.1. Proceso atlikimo atributas F2 lygis PA 1.1. Proceso atlikimo atributas

PA 2.1. Proceso atlikimo valdymo atributasPA 2.2. Darbo produktų valdymo atributas

FFF

3 lygis PA 1.1. Proceso atlikimo atributasPA 2.1. Proceso atlikimo valdymo atributasPA 2.2. Darbo produktų valdymo atributasPA 3.1. Proceso apibrėžimo atributasPA 3.2. Proceso paplitimo atributas

FFFPP

IŠVADOS

1. Apibendrinant sukurtą sistemą ir jos stebėjimo duo-menis, galima teigti, kad sukurta statinių projektavimo įmonės projektų valdymo sistema leidžia:

• bendradarbiauti projektų grupės nariams;• kaupti su projekto vykdymu susijusią informaciją,

naudojamą operatyviam darbų eigai valdyti ir patir-čiai perduoti;

• pasiekti projekto informaciją per intranetą visiems dalyviams ir padaliniams, esantiems už organizaci-jos ribų;

• prieiti prie visų projekto dokumentų;• atlikti greitą projekto ar darbų paiešką;• kaupti informaciją apie klaidas ir padaryti šią infor-

maciją prieinamą sistemos vartotojams.2. Dėl sukurtos sistemos projektų valdymo procesas sta-

tinių projektavimo įmonėje tapo valdomas, t. y. suplanuo-tas, stebimas ir pritaikytas. Be to, nors procesas toli gražu dar nevaldomas optimizuojamu lygiu, sistemoje įgyvendin-tas grįžtamo ryšio principas, t. y. galimybė stebėti kokybės klaidas ir taip išvengti panašių klaidų kartojimo ateityje.

3. Procesui tobulinti numatytas sistemos patogumo įvertinimo tyrimas. Parengtos anketos projekto valdymo sistemos vartotojams. Bus aiškinamasi, ar vartotojus ten-kina sukurtas funkcionalumas, ar buvo sunku įsisavinti su-kurtos sistemos funkcijas, ar prireikė papildomų žinių, ar pakanka informacijos, ar patogu naudotis sukurtu įrankiu, ar gaištama mažiau laiko projektui valdyti ir t. t.

LITERATŪRA

[1] D. F. Cooper, S. Grey, G. Raymond, P. Walker. Project Risk Management Guidelines. Wiley Publishing, Inc., 2005.

[2] J. Charvat. Project Management Methodologies. Wiley Publish-ing, Inc., 2003.

[3] E. Marmel Microsoft Office Project 2007 Bible. Wiley Publis-hing, Inc., 2007.

[4] Measurement framework for process capability. International standart ISO IEC 15504-2, 2003, p. 12–17.

[5] A. Mikuckas, A.Venčkauskas, I. Mikuckienė. „Įmonės infor-macinės sistemos vertinimo imitacinis modelis“. Informacijos mokslai, 34 tomas, Vilniaus universitetas, 2005, p. 130–135.

[6] A Guide to the Project Management Body of Knowledge The 3rd Edition PMBOK, Project Management Institute, Inc. 2004, p. 35–71.

Page 85: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

85

Santrauka. Straipsnyje apibrėžiama virtualaus gido sąvoka. Išskiriami pagrindiniai kūrimo etapai bei sudedamosios dalys. Apžvelgiama virtualaus gido nauda. Aptariamas virtu-alių turų bei gidų kūrimo technologijų tyrimas, pritaikymo galimybės skirtingose panaudojimo sferose. Straipsnyje apžvelgiamas gido universalumas bei diegimo paprastumas, taip išskiriami virtualių gidų kūrimo kriterijai. Straipsnyje lyginami Papervision3D bei Away3D įrankiai, nustatomi esmi-niai skirtumai.

Reikšminiai žodžiai: virtualus gidas, Away3d, atviras kodas (open source), virtualus turas, internetas.

I. ĮVADAS

Spartus internetinių technologijų vystymasis nulėmė tokių paslaugų kaip sąskaitų apmokėjimas ar apsipirkimas internetu galimybę. Paslaugų, teikiamų internetu, sritis per paskutinius kelerius metus ypač išsiplėtė. Šiuo metu galima ne tik užsisakyti prekę ar apmokėti sąskaitą, bet ir užpildy-ti paskolos paraišką, klausytis nuotolinių kursų, virtualiai keliauti. Dėl to vartotojui individualiai tenka prisitaikyti bei perprasti kiekvieną sistemą. Virtualaus gido diegimas į tokią sistemą žymiai palengvina vartotojo mokymosi pro-cesą. Virtualus gidas padeda sutelkti dėmesį į naudojamą objektą, o vykdant jo nurodymus greičiau pasiekiamas tiks-las. Virtualus gidas gali ne tik reklamuoti prekę ar pristatyti paslaugą, bet ir būti vedliu atliekant įvairias operacijas: ap-siperkant internetinėje parduotuvėje, atsiskaitant už paslau-gas per elektroninę bankininkystę.

Tobulėjant kompiuterinei technikai, kuriamos ir naujos disciplinos. Viena tokių disciplinų – žmogaus ir kompiu-terio sąveika (Human-computer interaction). Ši disciplina apima žmogaus santykį su kompiuteriu, interaktyvių siste-mų kūrimą, tyrimą bei jų panaudojimą žmonių poreikiams. 1 pav. pateikta schema atspindi procesus bei objektus, kurie įeina į kompiuterinės sistemos kūrimą.

Komunikacija – vienas svarbiausių veiksnių tarp žmo-gaus ir kompiuterio. Tradiciškai komunikacija vyksta per įvesties įrenginius, grafinius objektus, rečiau – dialogą. Šioje srityje galima įdiegti virtualų pagalbininką – vedlį,

kuris palengvintų komunikaciją, nes būtų žymiai panašes-nis į savo pašnekovą-žmogų. Virtualūs gidai psichologiškai teigiamai nuteikia vartotoją, nes žmogaus prigimtis – ben-drauti su į save panašiu.

Toks agentas, net ir turėdamas gana mažai funkcijų, žy-miai palengvina žmogaus komunikavimą su kompiuteriu. Tai aktualu žmonėms, kurie pirmą kartą naudojasi kompiu-teriu, taikomąja programa ar vykdo internetinę operaciją.

Kuriant vedlį, labai svarbu atsižvelgti į žmogaus ir kompiuterio sąveikos mokslo išskirtus interaktyvių siste-mų kūrimo etapus [1]. Svarbu sukurti logišką ir visuotinai priimtą objektą. Vartotojui nebūtina žinoti ir matyti vedlio techninių duomenų bei sandaros. Labai svarbu pažinti var-totoją, t. y., kam kuriamas produktas [2].

1 PAV. ŽMOGAUS IR KOMPIUTERIO SUDERINAMUMAS [1]

Vartotojas gali būti vertinamas pagal skirtingus kriteri-jus: amžių, išsilavinimą, pomėgius, lytį, religiją, profesiją ir kt. Didžiausiam dėmesiui pritraukti reikia sukurti situaciją labiausiai atitinkantį vedlį. Sėkmingai įvykdžius etapus su-kuriamas bei vizualizuojamas nustatytas vedlio prototipas.

Apžvelgus virtualius turus ir gidus matyti, kad jie gali būti labai įvairūs tiek pagal paskirtį, tiek pagal technolo-gijas. Tyrimo pagrindas – virtualių turų technologijų tyri-mo [3] praktinis rezultatas – virtualus turas. Tyrimo tiks-las – nustatyti paplitusius atviro kodo įrankius, kuriuos

Virtualaus gido kūrimo technologijų tyrimas

Viktorija Makaršinaitė, Rytė ŽiūrienėGrafinių sistemų katedra

Fundamentinių mokslų fakultetasVilniaus Gedimino technikos universitetas

Vilnius, LietuvaEl. paštas: [email protected], [email protected]

Page 86: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

86

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

galima pritaikyti kuriant virtualų gidą, o rezultatas būtų su-derinamas su minėtuoju virtualiu turu. Tyrimas atliekamas siekiant nustatyti virtualiam turui tinkamiausią gido tipą (tiek kūrimo įrankių, tiek vizualaus patrauklumo atžvilgiu), įvertinus suformuluotus virtualaus gido kriterijus.

Vizualizuojant objektą svarbu atitikti keliamus reika-lavimus. Mūsų atveju kriterijai yra šie: kad objektą būtų paprasta patalpinti, jis būtų šabloniškas, lengvai koreguoja-mas bei atnaujinamas; suderinamumas; pritaikymas inter-nete, t. y. greitai užkraunamas, atitiktų tradicinių įskiepų (angl. plugin) reikalavimas, būtų galimybė derinti jį su vir-tualiu turu

Virtualaus gido pritaikymas pagyvins tradicinį infor-macijos pateikimo būdą. Šiems būdams priskiriama gausi tekstinė informacija, pagalbos vartotojui puslapiai, daž-niausiai užduodamų klausimų skyreliai.

II. SITUACIJOS ANALIZĖ

Virtualus gidas kartu su turu idealiai tinka reprezenta-cinei veiklai. Informatyvumas bei patrauklumas efektyviai pritraukia daugiau vartotojų. Virtualus turas išlaiko varto-tojo susidomėjimą, o virtualus vedlys glaustai ir aiškiai pa-teikia reikiamą informaciją.

A. Virtualus turasVirtualus turas – efektyviausia ir įtikinamiausia infor-

macijos pateikimo priemonė, suteikianti pojūtį, tarytum iš tiesų būtumėte toje erdvėje. Kitaip nei vaizdo failai, turai užima mažiau vietos internete ir yra interaktyvesni, taigi greičiau pasiekiami. Virtualiu turu sutaupomas laikas bei išlaidos.

Virtualus turas – esamos vietovės kompiuterinė simu-liacija, dažniausiai komponuojama iš panoraminių nuotrau-kų. Tai gali būti nuorodų ar vaizdo failų seka [4]. Virtualūs turai taip pat gali turėti ir kitus multimedijos elementus: garso efektus, muziką [5], pasakojimą, tekstą [6]. Kitaip nei realiam turui, virtualiam užtenka personalinio kompiu-terio bei interneto prieigos.

Terminas virtualus turas dažnai vartojamas medijai, kuri susideda iš foto- ar vaizdo elementų, apibrėžti.

B. Virtualaus gido sąvoka.Visuotinai priimto virtualaus gido sąvokos apibrėžimo

nėra. Skirtinguose šaltiniuose virtualūs gidai aprašomi kaip turistiniai lankstinukai [7], virtualūs turai [8] ar nuotrau-kų galerijos. Virtualaus gido sąvoka gali apimti virtualaus agento ar vedlio [9], animuoto personažo [10] apibrėžimus. Literatūros šaltiniai animuotą personažą apibrėžia kaip kal-bantį bei judantį grafinį objektą. Virtualus agentas labiau nukreiptas į produkto reklamavimą, jam nebūdinga palai-kyti dialogą. Vedlys atlieka pagalbininko vaidmenį, nurodo veiksmų seką. Toliau vartosime virtualaus gido ar vedlio terminą. Straipsnyje nagrinėjamos virtualaus gido kūrimo galimybės bei įrankių pasirinkimas. 2 pav. pavaizduoti keli virtualūs gidai.

Pats paprasčiausias virtualus gidas gali būti dvimatis, kadrais sukurtas žmogaus veidas ar animacinis veikėjas (2 pav. b, c). Tokie objektai labiausiai paplitę internete dėl paprasto diegimo bei universalumo. Vizualiai patraukliausi animuoti personažai yra trimačiai objektai, pasižymintys dideliu judesių kiekiu bei emocijų išraiška (2 pav. a).

Virtualus gidas yra aktualus, nes leidžia sutaupyti lėšas samdant darbuotoją (pvz., prekės reklamavimas telefonu). Virtualus gidas dirba visą parą, septynias dienas per savai-tę. Sukūrus vieną gidą (kaip šabloną), galima išplėsti nau-dojimo galimybes [11]. Nesunku atnaujinti gido teikiamą informaciją. Tai efektyvus, dėmesį prikaustantis mokymo ar informavimo būdas. Internetinėje erdvėje pastebimi įvai-rių virtualių gidų tipai. Skiriasi ne tik jų pateikimas, bet ir kūrimo technologijos bei įrankiai.

2 PAV. VIRTUALIŲ GIDŲ PAVYZDŽIAI: A) VIRTUALUS AGENTAS [8]; B) TRIUŠIS BOBAS SUKURTAS AWAY3D TECHNOLOGIJA [9]; C) VIRTUALUS

VEDLYS [8]

Apskritai kuriant virtualių gidą, darbas skirstomas į dvi dalis – į grafinį vizualizavimą ir intelekto įgyvendinimą (3 pav.). Šiame darbe didesnis dėmesys skiriamas grafi-niam vizualizavimui.

3 PAV. ANIMUOTO PERSONAŽO KŪRIMO ETAPAI

Personažo vizualizacijos procese labai svarbus objekto dirbtinis intelektas. Sutinkami ir labai „protingi“ virtualūs pagalbininkai, kurie geba palaikyti pokalbį. Tai reiškia, kad modelis turi dirbtinį intelektą ir pagal pateiktą teiginį atitin-kamai parenka atsakymo ar klausimo variantą. Toks agen-tas dirba ekspertinės sistemos pagrindu [12].

Dažniausiai vartotojo užduodami klausimai ribojami klausimų sąrašu, kad būtų palaikomas logiškas vartotojo ir gido dialogas. Tokiu atveju virtualaus gido intelektas pri-

Page 87: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

87

VIKTORIJA MAKARŠINAITĖ, RYTĖ ŽIŪRIENĖ · VIRTUALAUS GIDO KŪRIMO TECHNOLOGIJŲ TYRIMAS

klausys nuo užprogramuotų klausimų duomenų bazės. Jei kuriamas animuotas veidas, tuomet reikia atsižvelgti į kal-bos bei lūpų sinchronizaciją.

Kitas animuoto personažo pavyzdys – modelis, geban-tis išreikšti emocijas per kūno judesį. Toks modelis atrodo įspūdingai, kadangi dialogas palydimas emocingais rankų mostais ar veido išraiška (4 pav.).

4 PAV. ANIMUOTAS PERSONAŽAS SU RANKŲ GESTAIS [12]

Šio modelio kūrimo procesas labai ilgas, nes reikia su-kurti ne tik dinamišką objektą, bet ir suderinti tą dinamiką su pokalbiu.

Toliau pateikta schema (5 pav.) iliustruoja anksčiau mi-nėto virtualaus gido (4 pav.) kūrimo procesą. Toks vedlys turės veikimo scenarijų, veido išraiškų šablonus, galės ju-dėti. Dažniausiai tokiam vedliui reikalingas specifinis gro-tuvas.

5 PAV. „PROTINGO“ VEDLIO KŪRIMO SCHEMA [13]

Internetinėje erdvėje sutinkami virtualūs gidai gali būti nufilmuoti ir pateikti kaip vaizdo failai. Šiems failams bū-dinga didelė rezoliucija, bet tokio vedlio funkcionalumas labai ribotas. Pasirinkus virtualaus gido tipą, jo dirbtiniam intelektui įgyvendinti tektų sugaišti daug laiko kuriant vaizdo failus.

Atlikus situacijos analizę nuspręsta: virtualiam turui galima pritaikyti dviejų tipų gidus. Pirmąjį nesudėtinga realizuoti anksčiau minėta technologija, kuri priimtina dėl paprastumo t. y. kuriamas nesudėtingas šabloniškas gidas, kurio dinamiškumas įgyvendinamas kadrais. Toks gidas būtų statiškas ir užimtų tik pasakotojo poziciją. Antras gidas pasižymėtų judrumu bei intelektu. Intelektas būtų įgyvendinamas per vartotojo užduodamus klausimus. Var-totojo klausimynas būtų apribotas, nes labiau dominanti sritis – grafiškai įgyvendinti gidą, o ne jo intelektą.

III. VIRTUALIŲ TURŲ BEI VEDLIŲ KŪRIMO TECHNOLOGIJOS

Tiriant virtualių turų technologijas atliktas praktinis dar-bas į vieną sujungia skirtingų tipų bei kūrimo technologijų virtualius turus. 6 pav. vaizduoja virtualaus turo struktūrą. Visas virtualus turas kurtas Flash terpėje.

6 pav. I ir II dalys žymi interaktyvius žemėlapius-meniu (7 pav.). Virtualus turas apima visus tyrime išskirtus virtu-alių turų tipus: walk-through turą, interaktyvią galeriją su tekstine informacija (8 pav.), o pritaikius atviro kodo Pa-pervision3D biblioteką suprogramuotos trimatė nuotraukų galerija (9 pav.) bei virtuali panorama (10 pav.).

6 PAV. VIRTUALAUS TURO STRUKTŪRA

7 PAV. INTERAKTYVUS MENIU

8 PAV. INTERAKTYVI GALERIJOS VEIKIMO FRAGMENTAI

Page 88: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

88

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

jų ir Flash), reikia nuolat investuoti į jų atnaujinimus. Taigi įvairios organizacijos tik išloštų naudodamos atviro kodo programas.

IV. PAPERVISION3D BEI AWAY3D TYRIMAS

Šios dvi atviro kodo bibliotekos iškirtos dėl to, kad Pa-pervision3D naudota anksčiau kuriant minėtą virtualų turą, o Away3D biblioteka sukurta Papervision3D pagrindu. Dėl savito kūrėjo poreikių įgyvendinimo Away3D ėmė sparčiai skirtis nuo savo pirmtako Papervision3D, nors ir turėjo tas pačias bibliotekas. Taip Away3D įgijo unikalių savybių, ku-rių Papervision3D nerealizuoja. Tai perspektyviniai tekstū-rų iškraipymai, flat-shading tekstūros, pelytės judesių seki-mas kiekvienam objektui (didesnis interaktyvumas), rūko filtras ir kt. Šios bibliotekos puikiai tinka kurti objektus, kurie bus keliami į internetą – tai vienas iš įrankių pasirin-kimo kriterijų.

A. Papervision3DPapervision3D yra atviro kodo variklis, skirtas kurti tri-

mačius vaizdus Flash platformose. 2007 m. Papervision3D sukūrė maža komanda. Didelį indėlį įneša kasmet didėjanti vartotojų bendruomenė (MIT licencija) [15].

Papervision3D – tai biblioteka, parašyta ActionScript3 programavimo kalba, kuri leidžia atvaizduoti trimačius objektus. Parpervision3D gali kurti tokius primityvus kaip tuščią trimatį objektą, plokštumą, sferą, cilindrą, kūgį, ro-dyklę. Šios bibliotekos pritaikymas leidžia uždėti tekstūras. Tekstūromis gali būti vaizdai, standartinė Flash animacija MovieClip‘ai (be to, išsaugoma animacijos galimybė) bei vektoriniai atvaizdai. Papervision3D moka valdyti primi-tyvo posūkio kampus bei koordinates, tarp jų ir Z ašimi. Papervision3D geba atlikti dinaminius skaičiavimus, ku-rios atvaizdo dalys turi būti arčiau, kurios – toliau. Šiuo skaičiavimu nustatoma slėpti ar rodyti poligonus vengiant atvaizdo konflikto. Papervision3D geba dirbti su tekstūrų glodinimu, leidžia dinamiškai įjungti ir išjungti glodinimą, optimizuojant procesoriaus pakrovimą.

Su Papervision3D bibliotekomis negalima kurti didelių trimačių kompiuterinių žaidimų, nes nepalaikomas greitas darbas su dideliu kiekiu objektų [16]. Biblioteką sudaro šios pagrindinės klasės: Viewport3D, Scene3D, Camera3D (gali būti alternatyvos), BasicRenderEngine (gali būti al-ternatyvos).

B. Away3DŠiuo metu Away3D yra visiškai veikiantis 3d varikliu-

kas Flash technologijoms. Away3D gali būti laisvai naudo-jamas projektams, kurie ribojami griežtesniais pralaidumo kriterijais. Away3D nesukelia problemų kuriant reklami-nius skydelius, miniatiūras ir kitus objektus, jei failo dydis yra prioritetas. Tačiau didžiausias naujosios versijos priva-lumas – greitis. Palyginti su senąja biblioteka, naujoji net iki keturių kartų didina kadrų per sekundę greitį. Didesnis kadrų per sekundę skaičius reiškia, kad atsiranda galimybė

9 PAV. TRIMATĖ GALERIJA, SUKURTA PAPERVISION3D

10 PAV. SFERINĖS PANORAMOS FRAGMENTAS (PAPERVISION3D)

Dažniausiai virtualūs gidai kuriami Adobe Flash pro-grama. Tai paprastas, greitas ir patogus būdas realizuoti idėją, lengva objektus įkelti į internetą bei vartotojui prieiti prie gido. Adobe Flash sukurti virtualūs gidai nepasižymi dinamišku judėjimu ekrane, atliekamų veiksmų gausa. To-kie gidai būna dvimačiai.

Pritaikius atviro kodo įrankį Away3D to paties Flash terpėje, galima įgyvendinti 3D gana interaktyvų virtualų gidą [10].

Daugeliui gali kilti klausimas, kam su Flash progra-muoti primityvius, grafinius objektus bei kt., kai jau yra sukurtos atitinkamos technologijos ar programos, nereika-laujančios didelių pastangų.

Viena iš priežaščių naudoti Flash tiek kuriant virtualų turą, tiek ieškant tinkamų gido kūrimo įrankių – jo užda-rumas. Turima omenyje, kad šiai programai sukurta mažai atviro kodo bibliotekų ar įrankių. Dar prieš kelerius metus su Flash nebuvo įmanoma sukurti trimačio objekto, nes šis paketas nepalaikė tokios funkcijos. Taigi specifiniams po-reikiams tenkinti buvo kuriami įrankiai, leidžiantys pasiek-ti norimą tikslą (konkrečiai, įgyvendinti trimatį objektą).

Šiuo metu galimybę manipuliuoti Flash funkcijo-mis suteikia atviro kodo bibliotekos Papervision3D, Away3d, Sandy, WireEngine3D [14]. Tyrime dalyvavo Papervision3D bei Away3d bibliotekos.

Labai aktualus ir atviro kodo plėtojimas, naudingas tiek visai visuomenei, tiek individualiam asmeniui. Atviro kodo programos bei įrankiai suteikia galimybę nemokamai nau-dotis technologijomis. Atviro kodo programų naudojimas leidžia dalytis asmeniniais ir bendradarbiavimo laimėji-mais bei programomis, kurios kitu atveju būtų mokamos. Kad galėtumėte naudotis komercinėmis programomis (tarp

Page 89: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

89

VIKTORIJA MAKARŠINAITĖ, RYTĖ ŽIŪRIENĖ · VIRTUALAUS GIDO KŪRIMO TECHNOLOGIJŲ TYRIMAS

kurti daugiau daugiakampių, didesnį turinio pasiekiamumą lėtesnėms mašinoms, dėl to kitoms Flash pritaikymo sri-tims lieka didesnis duomenų apdorojimo kiekis [17].

Away3D palaikomas savybes sudaro: skeleto animaci-ja; peržiūros srities karpymas; pelės įvykiai; visi standar-tiniai primityvai, kameros bei medžiagos; klasių šablonai lengvam ir greitam paleidimui; grafinis vektorių ir šriftų palaikymas; įvedimo tikrinimo palaikymas; geometrinės modifikacijos sprogdinimui, atspindžiui, sujungimui; gy-lio kaukių kūrimui reikalingos medžiagos; Normalmap ir Bumpmap generavimas; išankstinis šviesų paruošimas tekstūroms.

C. Įrankių palyginimas1 lentelė vaizduoja Papervision3D bei Away3D galimy-

bes. Iš pirmo žvilgsnio gali pasirodyti, jog Papervision3D paplitęs kuriant internetines aplikacijas – įgyvendinant ani-macijas bei interaktyvumą. Away3D dažniausiai naudoja-mas Flash žaidimų srityje. Remdamiesi šiais argumentais negalime teigti, kad vienas ar kitas įrankis gali būti naudo-jimas tik konkrečioje srityje. 1 lentelė iliustruoja šių dvie-jų įrankių skirtumus bei panašumus. Palyginimo pagrindu paimtos Papervision3D ir Away3D klasės. Šių įrankių kla-sių dokumentaciją [18], [19] sudaro sintaksės aprašymas, naudojimo informacija, metodų kodo pavyzdžiai bei jų savybės. Šią dieną Away3D sudaro 349 klasės, Papervi-sion3D – 324. Lentelėje pateikta informacija – tikslinis klasių parinkimas. Buvo parinktos aktualios klasės, kurias turėtų abu įrankiai, arba unikali klasė, kurią turi tik vienas įrankis.

I LENTELĖ. PAPERVISION3D IR AWAY3D PALYGINIMAS.

Klasės Papervision3D Away3D

Camera3D + +IRenderEngine + +

RenderFog + +Sphere + +

Triangle3D + +MaterialManager + +

PointLight3D + +AmbientLight - +

Animator - +Ase + +

BasicRenderer + +BoneData - +Camera3D - +

Cube - +Cylinder - +

LightPrimitive - +Material - +

PointLight - +Skybox - +

Skybox6 - +

Atliktas palyginimas įrodo, kad Papervision3D ir Away3D yra labai panašios struktūros. Sunku rasti klasę,

kurią turėtų Paperviosn3D, o Away3D neturėtų. Tai rodo, kad šie du įrankiai glaudžiai susiję. Away3D išsiskyrė to-kiomis klasėmis kaip Skybox, Cube, Cylinder, Animator ir kt. Palyginus šiuos du įrankius pagal klases galima teigti, kad pastarasis pasižymi patogumu, nes tam tikros klasės įgyvendina, pavyzdžiui, kubo ar cilindro braižymą. Negali-me teigti, jog Papervision3D nebraižo geometrinių figūrų, tiesiog rezultatai pasiekiami kitais metodais. Ištyrus klases taip pat nustatyta, kad Away3D daugiau dėmesio skiriama apšvietimui. Away3D dokumentacijoje paminėti skirtingi apšvietimo tipai (Ambient, Diffuse, Specular).

Ištyrus klases prieita prie išvados: dėl didelės klasių įvairovės Away3D gali įgyvendinti projekto interaktyvu-mą, gyvumą bei patrauklumą. Vienas pagrindinių skirtu-mų – anksčiau minėta Papervision3D ribota galimybė kurti trimačius žaidimus, su kuriais Away3D puikiai susitvar-ko [20].

V. IŠVADOS

1. Išanalizavus situaciją nustatyta: virtualus gidas – la-bai aktuali tema šiandienėje internetinėje bendravimo ter-pėje, nes tai vienas iš efektyvių būdų pagerinti vartotojo sąsają tarp žmogaus ir kompiuterio. Kol kas virtualus gidas nėra visuotinai priimta sąvoka, skirtingi šaltiniai šį terminą apibrėžia nevienodai.

2. Remiantis moksline literatūra sudarytos virtualių gidų kūrimo schemos, kurios apibrėžia jų sandarą ir detali-zuoja būtinus realizacijos etapus.

3. Taip pat ištirti atviro kodo įrankiai Papervision3D bei Away3D, kurie šiandien geriausiai atitinka keliamus virtualaus gido kūrimo kriterijus. Šių įrankių pasirinkimą lėmė tyrimo pagrindas – virtualus turas, kurį kuriant jau buvo panaudotos Papervision3D bibliotekos. Įrankis pa-teisino lūkeščius, nes buvo įgyvendintas šabloniškumas, suderinamumas su naršyklėmis, paprastas redagavimas bei talpinimas. Away3D sukurtas Papervision3D pagrindu, to-dėl domina jo naujumas, nes tiriant virtualių turų techno-logijas šis įrankis dar nebuvo plačiai naudojamas. Įrankių palyginimas leido nustatyti esminius skirtumus. Away3D yra patogesnis naudoti dėl didesnės klasių įvairovės bei specifiškumo, t. y. dėl konkrečių metodų, kurie jau įgyven-dinti ir nereikalauja individualaus priėjimo.

LITERATŪROS SĄRAŠAS

[1] K. Andrews. “Human-Computer Interaction”. Lecture Notes Version of 02, Graz University of Technology, Jun 2009, p. 2.

[2] M. M. Louwerse, A. C. Graesser. “Social Cues in Animated Conversational Agents“. Published online www.interscience.wiley.com, March 2005, p. 695.

[3] V. Makaršinaitė. „Virtualių turų technologijų tyrimas“. Baigia-masis bakalauro darbas,VGTU, 2009.

[4] Virtual Excursions – South Moravia [žiūrėta 2010-03-31]. Prie-iga per internetą: http://www.jizni-morava.cz/doc/vrt/1822/start.html.

Page 90: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

90

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

[5] S istine Chapel [žiūrėta 2010-03-31]. Prieiga per internetą: http://www.vatican.va/various/cappelle/sistina_vr/index.html.

[6] Rygos virtualus turas [2010-03-31]. Prieiga per internetą: http://www.riga.lv/media/VecrigaInfo/excursion/en.html.

[7] All Bulgaria Virtual Guide – Travel to Bulgaria. [žiūrėta 2010-03-31]. Prieiga per internetą: http://www.abvg.net/.

[8] Virtualus gidas po fakultetą, Vilniaus kolegija [žiūrėta 2010-03-31]. Prieiga per internetą: http://spf.viko.lt/index.php?page=gidas.

[9] NOAH animated character technology, pavyzdžiai [žiūrėta 2010-03-31]. Prieiga per internetą: http://noahx.com/examples.asp

[10] TetraPak tinklalapis, virtualus gidas triušis Bobas [žiūrėta 2010-03-31]. Prieiga per internetą: http://www.tetrapak-umwelt.de/#/lifecycleOverview.

[11] Animuoti vedliai bei marketingas [žiūrėta 2010-03-31]. Prieiga per internetą: http://www.tamingthebeast.net/tools/animated-marketing.htm.

[12] M. Stone, D. DeCarlo, I. Oh. Ch. Rodriguez, A. Stere. Speaking with hands: creating animated conversational characters from recordings of human performance, International Conference on

Computer Graphics and Interactive Techniques, 2004, p. 2.

[13] B. Bodenheimer, B. Williams, M. R. Kramer. Construction and Evaluation of Animated Teachable Agents, USA, 2009, p. 197–200.

[14] Atviro kodo 3D Flash technologijos [žiūrėta 2010-03-31]. Prieiga per internetą: http://ntt.cc/2008/04/02/the-list-of-open-source-realtime-3d-engine-for-flash.html.

[15] Papervision3D, Open Source realtime 3D engine for Flash [žiūrėta 2010-03-31]. Prieiga per internetą: http://code.google.com/p/papervision3d/wiki/Getting_Started_FAQ.

[16] Papervision3D galimybės [žiūrėta 2010-03-31]. Prieiga per internetą: http://papervision-3d.org/doku.php.

[17] Away3d technologija [žiūrėta 2010-03-31]. Prieiga per internetą: http://away3d.com/.

[18] Away3d dokumentacija [žiūrėta 2010-03-31]. Prieiga per internetą: http://away3d.com/livedocs/3.5.0_lib/

[19] Papervision3D dokumentacija [žiūrėta 2010-03-31]. Prieiga per internetą: http://www.papervision3d.org/docs/as3/.

[20] Trimatis Flash žaidimas, 3D Sugar Glider [žiūrėta 2010-03-31]. Prieiga per internetą: http://www.newgrounds.com/portal/view/ 427278.

Page 91: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

91

Santrauka. Šiame darbe apžvelgiama, kaip automatizuotai gaunamos asinchroninės pavaros (variklis su trumpai jungtu rotoriumi) variklio darbo režimo mechaninės ir energetinės charakteristikos panaudojus USB duomenų įvedimo / išvedimo plokštę, asinchroninės pavaros laboratorinį stendą ir kompiuterį su specialiai parašyta programa.

Reikšminiai žodžiai: asinchroninė pavara, automatizavimas, duomenų surinkimas, duomenų vizualizavimas.

I. ĮVADAS

Laboratorinė įranga padeda lengviau suprasti teorinius principus. Bet naujų laboratorijų ir naujų mokymo priemo-nių kūrimas dar atsilieka nuo didėjančių pramonės porei-kių. Šiuolaikinė pramonė reikalauja kvalifikuotų, prakti-nius įgūdžius įgijusių inžinierių. Atsižvelgdamas į šiuos poreikius, KTU atnaujina, modifikuoja mokymo ir prak-tikos kursus bei techninę bazę [1, 2]. KTU strateginiuose tiksluose numatyta rengti aukščiausios kvalifikacijos spe-cialistus ir užtikrinti šalies mokslinę kompetenciją, plė-toti inovacijų diegimą, technologijų kūrimą ir perdavimą. Šiems tikslams pasiekti universitete kuriama įvairiapusė mokymosi aplinka, skatinamas studentų dalyvavimas ne tik kaupiant teorines žinias, bet ir formuojant prakti-nius įgūdžius. Elektros ir valdymo inžinerijos fakultete studentams suteikiama galimybė stebėti ir patiems kurti technologinių procesų valdymo sistemas. Tam kuriamos modernios laboratorijos su nauja technine ir programine įranga, padedančia lengviau suprasti ir įsisavinti teorinius principus.

Atliekant laboratorinius darbus, daug laiko sugaištama ne eksperimentui įsisavinti, o matavimo duomenims ranka užrašyti, charakteristikoms brėžti ir ataskaitoms rengti. Norint to išvengti ir pagerinti studijų kokybę, nuspręsta atnaujinti laboratorinio stendo įrangą. Automatizavus stendą, eksperimento rezultatus galima stebėti kompiuterio ekrane. Laboratorinio stendo valdymas vyksta kompiute-ryje naudojant programuojamą sąsają. Naudodamas tokią įrangą studentas gali lengvai keisti valdymo parametrus ir net eksperimento eigos strategijas, gauti matomą grįžtamąjį

ryšį apie sistemos veikimą [3]. Akivaizdu, kad tokie ekspe-rimentų būdai – labai svarbūs studijoms.

II. NAUDOTOS APARATŪROS APRAŠAS

Laboratorinio darbo stendas sudarytas iš kompiute-rio (PC) ir šešių modulių: maitinimo bloko, universaliojo galios matuoklio su kompiuterine RS232 sąsaja, ban-domojo trifazio asinchroninio variklio, apkrovos įren-ginio (hps-SystemTechnik, tipas 2719), valdymo bloko (hps-SystemTechnik, tipas 2730) ir VM 110 (eksperimen-tinė USB sąsajos plokštė). Per RS232 (COM) jungtį prie kompiuterio prijungiamas universalus galios matuoklis, o per USB – duomenų surinkimo ir valdymo plokštė. Stendo automatizavimo blokinė schema pateikta 1 pav.

1 PAV. STENDO SUJUNGIMO SCHEMA

A. Universalus galios matuoklisUniversalus galios matuoklis, firmos Hps-SystemTechnik

(tipas 1091), skirtas nuolatinės ir kintamos srovės para-metrams matuoti [4]. Matuojant trifazės kintamos srovės režimu, į kompiuterį galima registruoti pagrindines asinch-roninių variklių energetines charakteristikas, t. y. srovę (I), įtampą (U), galio koeficientą (cos φ), naudojamą galią.

Asinchroninės pavaros stendo charakteristikų gavimo automatizavimas

Gytenis Mažeika, Kęstas RimkusKauno technologijos universitetas

Valdymo technologijų katedraKaunas, Lietuva

El. paštas: [email protected]

Arūnas LipnickasKauno technologijos universitetas

Mechatronikos mokslo, studijų ir informacijos centrasKaunas, Lietuva

El. paštas: [email protected]

Page 92: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

92

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

Matuojami dydžiai gali būti perduodami į PC nuoseklia RS232 sąsaja, 9600k b/s greičiu.

B. Bandomasis variklisAsinchroninio variklio parametrai: galia – 0,37 kW; var-

dinis greitis – 1400 r/min; vardinė srovė – Δ/Υ =1/0,58A, cosφ: 0,72.

C. Valdymo blokasValdymo blokas (Hps-SystemTechnik, tipas 2730) skir-

tas bandomojo variklio apkrovimo agregatui valdyti [5]. Apkrovimo agregato greitis gali būti keičiamas rankiniu režimu arba prijungus išorinį valdymo signalą (2 pav.).

Šis blokas matuoja bandomosios mašinos sukimosi greitį ir apkrovos momentą. Apkrovos agregatas gali suk-tis nuo 100 r/min iki 3600 r/min greičiu, prijungus išorinę įtampą nuo 0 iki 10V. Taigi stendas leidžia tirti bandomąjį variklį dviejuose kvadrantuose (varikliniame ir generatori-niame). Matuojamas greitis, kuris atitinka įtampa, kintančią nuo 0 iki 5 V, o matuojamas momentas – nuo 0 iki 10 V.

2 PAV. VALDYMO BLOKAS (HPS-SYSTEMTECHNIK, TIPAS 2730)

D. Eksperimentinė VM110 USB sąsajos plokštė

3 PAV. EKSPERIMENTINĖ PLOKŠTĖ VM110 (VELLEMAN 110-K8055)

Plokštė veikia mikrokontrolerio PIC16C745 pagrindu, kuris turi integruotą USB sąsają. Joje yra du analoginiai

8 bitų 0,...,5 V įėjimai / išėjimai su LED (šviesos diodo) indikacija plokštėje, 5 diskretiniai įėjimai su 5 signalo imitavimo mygtukais, 8 diskretiniai išėjimai (3 pav.) [6]. Plokštė maitinama iš USB prievado ir naudoja apytiksliai 75 mA srovę. Plokštėje esančiais SK2 ir SK3 trumpikliais parenkamas analoginis šaltinis: jei trumpiklis atviras – įtampą reikia prijungti prie gnybtų A1 ar A2, jei trumpik-liai uždari – įtampa imama iš USB prievado. Diskretiniai įėjimai formuojami plokštėje esančiais mygtukais arba prie gnybtų I1...I5 prijungtu 5 V signalu. Visa programinė komunikacija tarp kompiuterio ir plokštės vyksta naudo-jant atviro kodo dinamines bibliotekas (DLL – Dynamic Link Library).

III. ASINCHRONINIO VARIKLIO CHARAKTERISTIKOS, TEORIJA

Asinchroninė mašina gali dirbti kaip variklis arba gene-ratorius (abiem sukimosi kryptimis). Variklio režimu iš tinklo imama elektros energija pakeičiama į mechaninę ir velenu perduodama apkrovimo agregatui. Iš tinklo gauta energija suvartojama naudingam darbui atlikti ir variklio nuostoliams padengti. Didžioji elektros nuostolių dalis virsta šiluma ir išsisklaido aplinkoje.

Asinchroninio variklio (AV) su trumpai jungtu roto-riumi natūrali variklio charakteristika parodyta 4 pav. Iš jo matyti, kad variklis pradeda suktis, kai paleidimo momen-tas M

p, o momentui didėjant iki maksimaliojo (kritinio)

momento Mk, variklio greitis didėja. Ši charakteristikos

dalis vadinama paleidimo charakteristika. Toliau neap-krauto variklio momentas ima mažėti, o variklio greitis – didėti iki nominaliojo (vardinio) greičio n

N, esant nomi-

naliajam apkrovos momentui MN, arba iki tuščios veikos

greičio n0, kai nėra apkrovos (M

s=0). Kita charakteristikos

dalis (tarp kritinio ir Ms momentų) yra variklio darbo cha-

rakteristika [7].

4 PAV. AV MECHANINĖ CHARAKTERISTIKA

Tokia charakteristika gaunama didinant bandomojo variklio apkrovimą nuo tuščios veikos greičio iki paleidimo momento.

Page 93: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

93

GYTENIS MAŽEIKA, KĘSTAS RIMKU, ARŪNAS LIPNICKAS · ASINCHRONINĖS PAVAROS STENDO CHARAKTERISTIKŲ GAVIMO AUTOMATIZAVIMAS

Asinchroninio variklio energetiniams rodikliams rasti būtina registruoti energetinius ir mechaninius parametrus: įtampą, srovę, elektrinę galią, mechaninę galią, naudin-gumo koeficientą η ir galios koeficientą cos φ. Naudingumo koeficientas gaunamas pagal formulę [7]:

,1

2

PP

= (1)

čia P1 – imama galia, W; P2 – atiduodama mechaninė galia,

W.Variklio imama aktyvioji galia P

1 apskaičiuojama [7]:

,cos31 ⋅⋅⋅= ff IUP (2)

čia Uf – variklio fazinė įtampa, V; If – variklio fazės srovė,

A.

Atiduodama, variklio veleno, mechaninė galia apskai-čiuojama:

,2 ⋅= MP (3)

čia M – variklio apkrovos momentas, Nm ; ω – variklio kampinis sukimosi greitis, rad/s. Šis greitis apskaičiuoja-mas pagal formulę:

,30

n⋅= (4)

čia n – variklio greitis, r/min.

IV. STENDO AUTOMATIZAVIMAS

Išanalizavus duomenų surinkimo plokštės komandų sąrašą, nustatytos komandos, reikalingos duomenims įvesti /išvesti, naudojant MATLAB programavimo paketą.

Išanalizavus galios matuoklio sąsajos su PC protokolą, buvo išaiškintos komandos, reikalingos duomenims nuskai-tyti naudojant MATLAB programavimo paketą.

Kad charakteristikos būtų automatizuotai nuskaitomos, valdymo blokas sujungiamas su VM110 plokšte, nes joje yra užtektinai analoginių ir diskretinių įėjimų / išėjimų. Analoginio išėjimo įtampai sumažinti iki tinkamos duo-menų surinkimo plokštei, panaudotas varžinis įtampos daliklis, nes valdymo bloko analoginis išėjimas, kuris ati-tinka momentą, kinta nuo 0 – 10 V, o duomenų surinkimo plokštė gali priimti tik iki 5 V signalą.

A. Analoginių signalų paskirtis ir įtampos lygiai• Greičio valdymas iš plokštės 0, ..., 1,5 V atitinka

0, ..., 1500 r/min;• Momento valdymas iš plokštės 0, ..., 5 V atitinka

0, ..., 10 Nm;• Greičio indikacija į plokštę 0, ..., 5V atitinka 1500 r/

min;

• Momento indikacija iš valdymo bloko 0, ..., 10 V atitinka 0, ..., 10 Nm.

B. Diskretinių signalų paskirtis ir įtampos lygiai• Start / Stop iš plokštės neigiamo fronto impulsas

nuo 5 iki 0 V naudojamas varikliui paleisti ir stab-dyti;

• Variklio perkaitimo diskrečioji indikacija, 5 V ati-tinka būseną – variklis perkaitęs, o 0 V – variklis darbingas;

• Variklio būsenos diskrečioji indikacija, 5 V – varik-lis sukasi, o 0 V – nesisuka;

• Stendo klaidos indikacija, 5 V – nėra ryšio su stendu, o 0V stendas darbingas.

Programos ir grafinei vartotojo sąsajai (5 pav.) kurti pasirinktas MATLAB GUI programavimo paketas (www.mathworks.com).

5 PAV. MATLAB GUI GRAFINĖ VARTOTOJO SĄSAJA

C. Programos algoritmas1) Nuskaitomi avariniai signalai. Jei variklis perkai-

tęs, nėra ryšio su valdymo bloku arba bandomasis variklis sukasi – apkrovos įrenginys nepaleidžia-mas; kitu atveju, apkrovos įrenginys paleidžiamas suktis;

2) Nuskaitomi parinki matavimai: momentas, pradinis ir galinis greičiai;

3) Automatiškai nuskaitoma mechaninė charakteris-tika:

- algoritmas pradeda mažinti apkrovos įrenginio greitį nuo pradinio iki galinio, pastoviai stebimi avariniai signalai, sukimosi greitis n, nuskaitomas, registruojamas ir grafiškai atvaizduojamas apkro-vos momentas M;

- registruojant energetinę charakteristiką, papil-domai užklausiamas galios matuoklis. Nuskaitomi bandomojo variklio parametrai: įtampa, srovė, galios koeficientas. Naudingumo koeficientas apskaičiuojamas pagal formules (1, 2, 3, 4).

Page 94: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

94

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

7 PAV. AV EKSPERIMENTIŠKAI GAUTA MECHANINĖ CHARAKTERISTIKA, KAI VARIKLIS SUJUNGTAS TRIKAMPIU

Eksperimentiškai gauta asinchroninio variklio energe-tinė charakteristika, kai variklis sujungtas žvaigžde (8 pav.). Didinant variklio apkrovimą, variklio sukimosi greitis n mažėjo, o srovės I poreikis didėjo. Didžiausias naudingumo koeficientas η buvo esant vardiniam greičiui 1450 r/min , o neapkrauto ir perkrauto variklio naudingumas mažesnis už vardinį. Neapkrauto variklio galios koeficientas cos φ yra mažas, jis palaipsniui didėja didinant apkrovimą. Kai variklio apkrova yra daugiau 1000 r/min, galios koeficientas cos φ nežymiai mažėja. Energetinės charakteristikos nuskai-tymas truko apie 2 minutes, charakteristikas sudaro po 240 matavimo taškų. Pagrindinis charakteristikos nuskaitymo stabdymo šaltinis – galios matuoklis, kuris turi ribotą duo-menų perdavimo spartą. Ši savybė nėra esminis trūkumas, kadangi svarbu ne greitaveika, o turėti tikslius matavimo duomenis.

8 PAV. AV EKSPERIMENTIŠKAI GAUTA ENERGETINĖ CHARAKTERISTIKA

VI. IŠVADOS

1. Studentas, automatizuotai atliekantis eksperimentą, sutaupo daug laiko ir gauna tolygią charakteristiką su daug matavimo taškų. Nereikia ranka rašyti duomenų, atlikti skaičiavimų, braižyti charakteristikų. Visa būtina infor-macija apie analizuojamą variklį pateikiama kompiuterio ekrane. Galima realiu laiku stebėti charakteristikų grafikų braižymą, o pasibaigus eksperimentui, perkelti duomenis į kitą laikmeną.

2. Mechaninės charakteristikos matavimo laikas

Pradžia

Ar yra aktyvių avarinių signalų?

Nuspaustas Start mygtukas?

Nuskaitomi pradiniai parametrai

T

NN

Nuspaustas vienas iš charakteristikos

nuskaitymo mygtukų?

T

Ar variklio greitis lygus galiniam greičiui ?

Ar yra aktyvių avarinių signalų?

Charakteristikos parametrų registravimas, grafinis

atvaizdavimas

Variklio greičio mažinimas

N

T

N

T

N

T

6 PAV. PROGRAMOS ALGORITMAS

V. REZULTATAI

Atlikus automatizavimą ir panaudojus naujai sukurtą programą, eksperimentiškai gauta asinchroninio variklio mechaninė charakteristika, kai variklis sujungtas žvaigžde (6 pav.), variklis sujungtas trikampiu (7 pav.). Šių charakte-ristikų nuskaitymo laikas automatiniu režimu užtruko apie 1 minutę, charakteristiką sudaro 240 matavimo taškų.

6 PAV. AV EKSPERIMENTIŠKAI GAUTA MECHANINĖ CHARAKTERISTIKA, KAI VARIKLIS SUJUNGTAS ŽVAIGŽDE

Page 95: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

95

GYTENIS MAŽEIKA, KĘSTAS RIMKU, ARŪNAS LIPNICKAS · ASINCHRONINĖS PAVAROS STENDO CHARAKTERISTIKŲ GAVIMO AUTOMATIZAVIMAS

automatiniu valdymu užtrunka apie 1 minutę. Tai žymiai trumpiau, nei atlikti matavimus rankinio valdymo būdu. Energetinės charakteristikos registravimo trukmė yra dukart ilgesnis – tęsiasi apie 2 minutes: dėl galios matuo-klio greitaveikos.

LITERATŪRA

[1] R. Bansevičius, A. Lipnickas, V. Juška, V. Raudonis. “Piezo-electric inverted pendulum as a teaching aid for mechatronics courses”. IDAACS’2009. Rende, Italy. Piscataway: IEEE, 2009, p. 72–76.

[2] V. Mačerauskas, R. Masteika, A. Lipnickas. “Modernization of electric drives laboratory at Kaunas University of Technology (KTU) and new training potential”. Topical problems of educa-tion in the field of electrical and power engineering: symposium.

Kuressaare, Estonia, January 19–24, 2004. Tallinn: Depar-tment of Electrical Drives and Power electronics TTU, 2004, p. 22–25.

[3] R. Rutkauskas, A. Lipnickas, Č. Ramonas, V. Kubilius. „New challenges for interoperability of control systems“. Electro-nics and Electrical Engineering. Kaunas: Technologija, 2008, Nr. 3 (83), p. 71–74.

[4] Prieiga per internetą: www.eurociencia.com/ext/pdf/hps/1091.pdf. Žiūrėta 2010-04-27.

[5] Prieiga per internetą: http://www.hps-systemtechnik.com/DEUTSCH/PDF-FILES/BOARDLINE/pd-2700.pdf. Žiūrėta 2010-04-27.

[6] Prieiga per internetą: http://www.velleman.eu/distributor/products/search/?q=k8055 &jump=Product. Žiūrėta 2010-02-10.

[7] P. Černys,V. Kepalas, V. Kubilius, A. Lipnickas, R. K. Mas-teika, Č. Ramonas, S. Marcinkevičiu. „Elektros pavarų labora-toriniai darbai: mokomoji knyga“. Kaunas: Technologija, 2008, p. 27–36.

Page 96: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę
Page 97: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

97

Abstract. Symbolic execution is a state of the art technique that is being used in very interesting projects to improve security, to find bugs, and to help in debugging. A symbolic execution engine is basically an interpreter that figures out how to follow all paths in a program. In this work we present our symbolic execution engine and unit test generator for .NET platform “SYMEX”. We evaluate it against other tool that generates test inputs randomly.

Keywords: symbolic execution; white-box testing; automated unit data generation; test coverage; SMT solvers.

I. INTRODUCTION

Testing complex safety critical software always was a difficult task. Development of automated techniques for er-ror detection is even more difficult. Well known techniques for checking software are model checking [1, 2], static analysis [3], and testing.

Model checking analyzes all program executions in a systematic way, but its weak side is scalability [4]. Static analysis is scalable and exhaustive, but it may give many warnings that are not real [5]. Testing, on the other hand, reports errors that are real, but it may miss errors since it can only analyze some of the program executions and in many times is performed by humans [6].

Symbolic Execution (SE) [7] is not a new approach to checking software. Today a few developed tools exist in industry. For Java is PathFinder [6], for .Net platform Pex [8], for C exist CUTE [9].

II. BACKGROUND

This tool is useful and work only then, when tested sour-ce code methods have inputs. This program does not solve oracle problem[10], that occurs in field of software testing. SYMEX is a white-box testing tool that is why source code of tested software is required. Our software is based on couple technologies (description follows):

• Symbolic execution,• Constraint solving.

A. Symbolic executionSymbolic execution [7] (also known as symbolic evalu-

ation) refers to the analysis of programs by tracking sym-bolic rather than actual values (a case of abstract inter-pretation). If program is symbolically executed, a special symbolic variable (as distinct from the program’s variables) is associated with the values in the analyzed function.

FIGURE 1. EXAMPLE FOR SYMBOLIC EXECUTION

The state of a symbolically executed program includes the Symbolic values of program variables, a path condition (PC) and a program counter, representing next statement to be executed. A symbolic execution tree (SET) characterizes the execution paths followed during the symbolic execu-tion of a program.

For illustration of differences between concrete and symbolic execution, consider the simple example in Fig. 1. Assume that the values of the input parameters are x=2 and y=1. Concrete execution will follow only one program path, corresponding to the true branch of the if statement at line 1.

FIGURE 2. SYMBOLIC EXECUTION TREE

SYMEX Symbolic Execution engine for .NET platform

Tomas Neverdauskas, Justinas PrelgauskasDepartment of Software Engineering

Kaunas University of TechnologyStudentų str. 50-411, Kaunas, LT-51368, Lithuania

E-mail: [email protected], [email protected]

Page 98: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

98

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

In opposite, symbolic execution starts with symbolic, values, let’s say, x = Symx, y = Symy, and the initial val-ue of path condition (PC) is true. The symbolic execution tree is illustrated in Fig. 2. At each tree leaf, PC is updated with constraints on the inputs in order to choose between alternative paths. After executing first line in the code, both alternatives of the if statement are possible, and PC is up-dated accordingly. If the path condition becomes “false”, it means that the corresponding path is infeasible and sym-bolic execution does not continue for that path.

Symbolic execution explores all three different paths and discovers that the fourth path is infeasible. For test case generation, the obtained path conditions are solved (using Constraint solving) and the solutions are used as test inputs that are guaranteed to exercise all the paths through this code and 100 % coverage of source code by unit tests.

B. White and black-box testingThe black-box approach is a testing method in which

test data are derived from the specified functional require-ments without regard to the final program structure [11]. It is also termed data-driven, input/output driven [12]. Be-cause only the functionality of the software module is of concern, black-box testing also mainly refers to functional testing – a testing method emphasized on executing the functions and examination of their input and output data.

Contrary to black-box testing, software is viewed as a white-box, or glass-box in white-box testing, as the struc-ture and flow of the software under test are visible to the tester [12]. Testing plans are made according to the details of the software implementation, such as programming lan-guage, logic, and styles. Test cases are derived from the program structure.

C. Constraint solvingConstraint solving is mathematical problem defined

as a set of objects whose state must satisfy a number of constraints or limitations. In this case we use Satisfiabili-ty Modulo Theories (SMT) [13] solvers witch generalize Satisfiability Techniques (SAT) [14] by adding equality rea-soning, arithmetic, fixed-size bit-vectors, arrays, quantifiers and other useful first-order theories.

SMT instance is a formula in first-order logic, where some function and predicate symbols have additional inter-pretations, and SMT is the problem of determining whether such a formula is certifiable. Systems for SMT have appli-cations in formal verification, compiler optimization, and scheduling, among others.

A remarkable initiative is STM-LIB [15], whose goal is to establish a standard language and a library of bench-marks for satisfiability with respect to background theories. There were a number of tools under active development in 2010: Alt-Ergo [16], Barcelogic [17], Beaver [18], Boo-lector [19], MathSAT [20], OpenSMT [21], Yices [22], Z3 [23] and others.

III. SYMEX TOOL

SYMEX is automated white-box [11] unit test genera-tion tool and does not tries to solve or solves oracle prob-lem, that occurs in field of software testing [10]. Our ap-proach to the problem says that the checked source code by itself is correct. To prove that the model and source code is correct (validation and verification) other software solu-tions is needed. The data flow in the usage context of the tool shown in the Figure 3. SYMEX reads CIL instructions from compiled DLL files (this gives the ability to be in-dependent from concrete programming language in .Net platform), searches for inputs in class methods, executes the code symbolically and forms symbolic execution tree with all possible execution paths. The SMT equation parser parses data into standard SMT language and calls SMT solver to calculate concrete values. SYMEX architecture allows using any of SMT solvers from SMT-Lib initiative (in this study we use Microsoft Z3 SMT solver). In final step solved values and method metadata are passed to unit test file generator and the generator outputs generated unit test file (-s). Our tool is useful in practice if we have test or-acle and tested methods at least have inputs (parameters).

A. ExampleWe use a simple C# code example to illustrate how

SYMEX generates unit tests from tested methods.Method GetCubeVolume in class Benchmark under

test:public int GetCubeVolume(int a, int b, int c)

if (a > 0 && b > 0 && c > 0){

return a * b * c;

} else {

return 0;

}

FIGURE 3. SYMEX ARCHITECTURE AND WORKING CONTEXT

Page 99: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

99

TOMAS NEVERDAUSKAS, JUSTINAS PRELGAUSKAS · SYMEX. SYMBOLIC EXECUTION ENGINE FOR .NET PLATFORM

Generated Unit test with 100 % code coverage for that method:

public void Test_GetCubeVolume(){

Benchmarks b = new Benchmarks();

int result;

result = b.GetCubeVolume(1, 1, 0);

Assert.AreEqual(result, 0);

result = b.GetCubeVolume(1, 1, 1);

Assert.AreEqual(result, 1);

}

IV. EXPERIMENT

The purpose of this experiment is to prove that SE methods for function analyses and generated test suites are more efficient than random generated test suites. The tool used for input parameters random generation in unit test is Random Generation Framework [24] that basically generates random data structures (integers, floats, string, arrays, etc.). Because of current SYMEX implementation limits described in Part V benchmark methods have been chosen proprietary. Benchmark method list and description is shown in Table 1.

TABLE 1. BENCHMARK METHOD DESCRIPTIONS

No. Benchmark method

Description Lines of Code

1. NumberSquare Calculates the square number of integer

3

2. GetSquareSur-faceArea

Calculates the area size of thesquare shape if all given edge

values are positive

7

3. GetCubeSur-faceArea

Calculates the area size of the cube shape if all given edge

values are positive

10

4. GetCubeVolume Calculates the volume size of the cube if all given edge val-

ues are positive

10

List of software used in this experiment:• Visual Studio 2010 RC1 v. 10.0.3• .Net Framework 3.5v.• Visual Studio Unit Tests (Integrated version)• Random Generation Framework [24]• SYMEX• Windows XP SP3 OSHardware used for experiment:• Pentium M 1.7 GHz• 1.5 GB Ram

B. ResultsSYMEX results were better. An important condition

was that both software tools should generate test suites that achieve

4

456

1 2 3 3

2563

3567

0,2

2,3

0,04

1,8

0

500

1000

1500

2000

2500

3000

3500

4000

Test_Num

berS

quare

Test_GetS

quareSurfa

ceArea

Test_GetC

ubeSurfa

ceArea

Test_GetC

ubeVolum

e

coun

t

0

0,5

1

1,5

2

2,5

seco

nds

Parameters Count Number of asserts Execution Time (s)

FIGURE 4. RANDOM GENERATION TOOL RESULTS

100 % coverage of tested source code. Because one tool uses random generation algorithms, test was repeated 20 times and average results presented in Figure 4. In random generation execution time and assertation count grows ex-ponentially when tested methods input parameters increas-es linear.

As a result of Symbolic Execution, test suite that was generated by SYMEX was executed within far better time-frame (average 230 times faster than random) (Fig. 6). Ran-dom generation tool is black-box tool that does not know anything about testing method logic [12]. It tries to cover all method source branches with random generated inputs. That requires a lot of input data to achieve 100 % coverage (Fig. 4) even for very simple class methods.

1

2

3 3

22

2

1

0,00060,0004 0,0008

0,03

0

0,5

1

1,5

2

2,5

3

3,5

Test_Num

berSqu

are

Test_GetS

quareSurfa

ceArea

Test_GetC

ubeSurfa

ceArea

Test_GetC

ubeVolum

e

coun

t

0

0,005

0,01

0,015

0,02

0,025

0,03

0,035

seco

nds

Parameters Count Number of asserts

Execution Time (seconds)

FIGURE 5. SYMEX RESULTS

Page 100: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

100

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

(Ed.)^(Eds.) “Book Modular Checking of C Programs Using SAT-Based Bounded Model Checker”, 2009 (edn.), p. 515–522.

[5] D. Evans, D. Larochelle. “Improving security using extensible lightweight static analysis”. Software, IEEE, 2002, vol. 19 (1), p. 42–51.

[6] C. S. Pasareanu, P. C. Mehlitz, D. H. Bushnell, K. Gundy-Burlet, M. Lowry, S. Person, M. Pape. “Combining unit-level symbolic execution and system-level concrete execution for testing nasa software”. Proc. Proceedings of the 2008 international sympo-sium on Software testing and analysis, Seattle, WA, USA, 2008, p. 15–26.

[7] J. C. King. “Symbolic execution and program testing”. Commun. ACM, 1976, vol. 19 (7), p. 385–394.

[8] N. Tillmann, J. de Halleux. “Pex–White Box Test Generation for .NET”. In: B. Beckert, R. Hähnle (Eds.). “Tests and Proofs” (Springer Berlin Heidelberg, 2008, p. 134–153.

[9] K. Sen, D. Marinov, G. Agha. “CUTE: a concolic unit testing engine for C”. Proc. Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineer-ing, Lisbon, Portugal, 2005, p. 263–272.

[10] D. B. Brown, R. F. Roggio, J. H. Cross II, C. L. McCreary. “An automated oracle for software testing”. Reliability, IEEE Trans-actions on, 1992, vol. 41 (2), p. 272–280.

[11] W. E. Perry. “A standard for testing application software”. (Auer-bach Publications, 1986.

[12] G. J. Myers, C. Sandler. “The Art of Software Testing”. John Wiley & Sons, 2004.

[13] A. Cimatti. “Beyond Boolean SAT: Satisfiability modulo theo-ries”. In: (Ed.)^(Eds.) “Book Beyond Boolean SAT: Satisfiability modulo theories”, 2008 (edn.), p. 68–73.

[14] L. Zhang, S. Malik. “The Quest for Efficient Boolean Satisfiabil-ity Solvers”. Proc. Proceedings of the 14th International Confer-ence on Computer Aided Verification, 2002, p. 17–36.

[15] S. Ranise, C. Tinelli. “The SMT-LIB Standard: Version 1.2”. Department of Computer Science, The University of Iowa, 2006.

[16] O. F. Bobot, S. Conchon, E., St. Contejean, P. Lescuyer. “Imple-menting polymorphism in SMT solvers”. Proc. Proceedings of the Joint Workshops of the 6th International Workshop on Sat-isfiability Modulo Theories and 1st International Workshop on Bit-Precise Reasoning, Princeton, New Jersey, 2008, p. 1–5.

[17] M. Bofill, R. Nieuwenhuis, A. Oliveras, E. Rodriguez-Carbonell, A. Rubio. “The Barcelogic SMT Solver”. Proc. Proceedings of the 20th international conference on Computer Aided Verifica-tion, Princeton, NJ, USA, 2008, p. 294–298

[18] S. Jha, R. Limaye, S. Seshia. “Beaver: Engineering an Efficient SMT Solver for Bit-Vector Arithmetic”. ‘Computer Aided Verifi-cation’, 2009, p. 668–674.

[19] R. Brummayer, A. Biere. “Boolector: An Efficient SMT Solver for Bit-Vectors and Arrays”, 2009, p. 174–177.

[20] R. Bruttomesso, A. Cimatti, A. Franz, A. Griggio, R. Sebas-tiani. “The MathSAT 4 SMT Solver”. Proc. Proceedings of the 20th international conference on Computer Aided Verification, Princeton, NJ, USA, 2008, p. 299–303.

[21] R. Bruttomesso, E. Pek, N. Sharygina. ‘OpenSMT 0.2 System Description’, 2009.

[22] B. Dutertre, L. de Moura. “The Yices SMT solver”. http://yices.csl.sri.com/tool-paper.pdf, 2009.

[23] L. De Moura, N. Bjorner. ‘Z3: An efficient SMT solver’, Lecture Notes in Computer Science, 2008, vol. 4963, p. 337.

[24] A. Kheyrollahi. “Random Generation Framework – A .NET gener-ics framework for generating random values”. Prieiga per internetą: http://www.codeproject.com/KB/cs/RandomGenerationFrame-work.aspx, 2009.

FIGURE 6. COMPARISON BETWEEN TWO TOOLS

V. CURRENT STATE AND FUTURE WORK

At the time of writing article, SYMEX tool was actively developed. Now it supports (SE engine part) all mathemati-cal, logical and byte-shift expressions, if-then and cyclic (for, while, do…while) statements. However, for real world applications it is not enough. SYMEX currently supports only integer data types. Taken experiment is proof-of-con-cept solution, relevant to further research and development. The full potential of this tool will be tested in the future with more complex and real world software, as the devel-opment of SYMEX continues.

In the future we plan to implement calls for outside functions and methods, more types of data structures and types (floats, strings, array, list, etc.) and support multi-threading application testing.

Experiment does not show mutation testing. In the fu-ture work such test muss made, because of importance in code quality of this measurement type.

REFERENCES

[1] P. Godefroid. “Model checking for programming languages using VeriSoft”. Proc. Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, Paris, France, 1997, p. 174–186.

[2] T. Henzinger, R. Jhala, R. Majumdar, G. Sutre. Software Verifica-tion with BLAST, 2003, p. 624–624.

[3] P. Louridas. “Static code analysis”. Software, IEEE, 2006, vol. 23 (4), p. 58–61.

[4] Y. Hashimoto, S. Nakajima. “Modular Checking of C Pro-grams Using SAT-Based Bounded Model Checker”. In: Editor

Page 101: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

101

Santrauka. Straipsnyje aprašomas roboto valdymo algoritmas, skirtas mušti kamuolį į vartus, naudojant sferinę kamerą. Vartų ir kamuolio radimas vykdomas MatLab programų paketo aplinkoje su K-team firmos robotu Khepera ir sferine K2D 360 kamera. Kad aptiktų vartus ir kamuolį, robotas įdedamas į dėžę su aukštais baltos spalvos kraštais. Baltos spalvos dėžė apsaugo nuo pašalinių objektų spalvų įtakos. Matyti kamuolį su šia kamera – labai abstraktus dalykas, nes sferiniame vaizde matomas kamuolio kraštas, o ne centras. Iš aptiktų kamuolio ir vartų koordinačių nustatoma roboto judėjimo kryptis ir atstu-mai. Tam naudojamos tiesinės funkcijos ir vektoriniai kampai.

Reikšminiai žodžiai: autonominis mobilus robotas, vaizdų analizė, sferinis vaizdas, dvimatis vaizdas.

I. ĮVADAS

Šiais spartaus kompiuterių vystymosi laikais robotai ne tik atlieka sunkius, nuobodžius darbus, bet ir linksmina žmones. Robotai gali atlikti žmogui pavojingas užduotis, dirbti žmonėms kenksmingoje aplinkoje. Jie taip pat gali atlikti monotoniškas, dažnai pasikartojančias užduotis ir tokiu būdu pigiai pakeisti žmogaus rankų darbą. Kuriami robotai vaikams: LEGO, robotai siurbliai-plovikliai, ro-botai-žoliapjovės. Japonai daug dėmesio skiria robotams, padedantiems žmonėms judėti, nes Japonų tauta – ilgaam-žiškiausia.

Paskelbta daug straipsnių, kaip, naudojant įvairiakryptę kamerą, aptikti įvairius objektus, nustatyti roboto vietą ir padėti transporto priemonei orientuotis. Kamera nukreipia-ma į viršų, virš jos montuojamas sferinis arba kūginis veid-rodis. Automobilio viduje panaudojus tokią kamerą, vienu metu galima stebėti vairuotojo būklę, kelio ženklus, kelio linijas ir visą važiuojamąją dalį [1]. Įvairiakryptės kameros naudojamos ant didelių gabaritų sunkiasvorių mašinų. Jų naudojimas padeda automobiliams su priekabomis geriau išryškinti kliūtis bei manevruoti mažose erdvėse [2]. Ro-botui sekti panaudota įvairiakryptė kamera padeda aptikti įvairius objektus ir leidžia sudaryti roboto judėjimo trajek-toriją 3D erdvėje [3]. Futbolo žaidimo programavimas su robotu Khepera, naudojant K213 optinę liniuotę, pateiktas [5] straipsnyje. Optinės liniuotės trūkumas – mažas maty-

mo kampas ir nėra galimybės atpažinti objektus. Prie robo-to Khepera prijungus įvairiakryptę kamerą K2D 360 [4], galima tiksliai identifikuoti 3D aplinkos objektus bei nusta-tyti atstumą iki jų.

Šiame straipsnyje aprašomas roboto valdymo algorit-mas, skirtas mušti kamuolį į vartus naudojant sferinę ka-merą. Vartai ir kamuolys ieškomi MatLab programų paketo aplinkoje su K-team firmos [4] robotu Khepera ir sferine K2D 360 kamera.

II. ROBOTAS KHEPERA

Khepera robotai kuriami mokomiesiems tikslams. Jie puikiai tinka įvairiems bandymams bei rezultatams de-monstruoti. Khepera robotai palaiko Linux operacinę sis-temą komandoms greitai vykdyti. Khepera kūrėjai – fir-ma K-Team mobile roboticks [4]. Robotas – kompaktiško dydžio ir turi didelį spektrą praplėtimo modulių. Jį galima programuoti įvairiomis kalbomis C++, MatLab ir LabView. Jis lengvai valdomas ir programuojamas [5]. Užtenka kelių komandų važiuoti tiesiai ar apsisukti. Modulių yra įvairių: bevielis ryšys (leidžia siųsti komandas), griebtuvas (gabe-namas krovinys iki 50 g). Khepera–II robotas turi K2D 360 įvairiakryptę (sferinę) kamerą, naudojamą vietai atpažinti ir daiktų nuotoliui nustatyti, bei 8 mažo nuotolio infrarau-donųjų spindulių jutiklius kliūtims išvengti.

1 PAV. ROBOTAS KHEPERA SU K2D 360 KAMERA, KAMUOLYS, VARTAI

Roboto programavimas žaisti futbolą naudojant sferinę kamerą

Paulius PaišukovasKauno technologijos universitetas

Valdymo technologijų katedraKaunas, Lietuva

El. paštas: [email protected]

Arūnas LipnickasKauno technologijos universitetas

Mechatronikos mokslo studijų ir informacijos centrasKaunas, Lietuva

El. paštas: [email protected]

Page 102: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

102

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

A. Roboto K2D 360 matymo priedasK2D kamera naudojama panoraminiam vaizdui matyti.

Tokio matymo privalumas – įvairiakryptys matymas. Toks matymo būdas pritaikomas įvairiai. Bandymui naudota nuotrauka, kurios formatas – 640 x 480 pikselių. Su šio tipo kameromis sprendžiami įvairūs stebėjimo ir regos uždavi-niai. Kameros dedamos ant automobilio stogo ir valdoma nuotoliniu būdu arba užprogramuojama kliūtims išvengti.

1 LENTELĖ. K2D 360 KAMEROS YPATYBĖS

Vaizdo signalo išėjimas PAL arba NTSC, 75 Ω BNC jungtisVaizdo elementai PAL: 500 (H) x 582 (V) pikseliai

NTSC: 510 (H) x 492 (V) pikseliaiVaizdo informacijos perda-

vimo būdasLanksčiu kabeliu su besisukančiais

kontaktaisApžvalgos laukas Standartinis: 39° (H) x 28° (V)

K2D-360: 360° (H) x 55° (V)Išplėtimo šyna K2D 360 vaizdo bokštelis – viršutinis

bokštelis. Jokie kiti bokšteliai negali būti dedami ant šio bokštelio

Gabaritai Skersmuo – 55 mm, aukštis – 50 mm

III. ROBOTO PROGRAMAVIMAS

Šiame darbe naudojome K2D 360 kamerą įvairiakryp-čiam vaizdui gauti. Nuotrauka gaunama 640 x 480 pikselių spalvotu RGB formatu (2 pav.). Gautas dvimatis sferinis vaizdas išskleidžiamas kameros centro atžvilgiu, pasinau-dojus Matlab funkcija imunwrap [6]. Rezultatas pateiktas 3 pav. Išskleistame paveiksle ieškoma specifinių objektų: raudono kamuolio ir juodų vartų. Kamuoliui rasti sukurta funkcija atpažįsta raudoną spalvą ir randa spalvos centrą. Kadangi aplinkoje gali atsirasti triukšmo ar kitų raudonų objektų, ieškomas didžiausią plotą turintis uždaras objek-tas. Raudona spalva lengviausiai atpažįstama dirbtinėje aplinkoje. Vartams rasti taip pat sukurta funkcija, kuria ran-damas ne vartų centras, o vartų apatinės dalies – linijos cen-tras. Koordinačių sistemos centras sutapdinamas su roboto kameros sferos centru, taigi robotas visada bus koordinačių (0,0) taške, o kiti objektai – aplink jį (4 pav.).

2 pav. matomas kameros sferinis vaizdas. Baltas rutu-liukas su juodais apvadais rodo nustatytą kamuolio centrą, baltas trikampis su juodais apvadais – vartų linijos centrą. Kadangi dėžė, į kurią įdėtas robotas, yra per žema, palei sferos kraštus atsiranda nedidelių trikdžių.

Vartų linijos centras

Kameros centras

Kamuoliuko centras

2 PAV. KAMERA MATOMAS SFERINIS APLINKOS VAIZDAS

3 pav. pateiktas išskleisto 2 pav. atvaizdas, t. y. panora-minis vaizdas. Iš 3 pav. apskaičiuojamas pikselių atstumus iki kamuolio ir vartų polinominėje koordinačių sistemoje, o vėliau tos reikšmės pervedamos į Dekarto koordinačių sistemą.

3 PAV. IŠSKLEISTAS SFERINIS VAIZDAS

-20 0 20 40 60 80 100-250

-200

-150

-100

-50

0

KamuolysRobotasVartai

4 PAV. NUSTATYTIEJI OBJEKTŲ ATSTUMAI DEKARTO KOORDINAČIŲ SISTEMOJE

4 pav. pateikti tikrieji atstumai nuo roboto iki kamuoliu-ko ir nuo roboto iki vartų.

Robotas

Kamuolys

Vartai

Tikslas

5 PAV. ŽAIDIMO ARENA

Vartų ir kamuolio radimo algoritmai panašūs. Skiria-si tuo, kad vartų centras perkeliamas į vartų apatinės tie-sės centrą tikslesniam atstumui nustatyti. Kai surandame kamuoliuko ir vartų atstumą bei kryptį, galime skaičiuoti

Page 103: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

103

PAULIUS PAIŠUKOVAS, ARŪNAS LIPNICKASS · ROBOTO PROGRAMAVIMAS ŽAISTI FUTBOLĄ NAUDOJANT SFERINĘ KAMERĄ

roboto pasisukimo kampą bei važiavimo atstumą. Mušimo taškui surasti pasinaudojame tiesinėmis lygtimis ir vekto-riniais kampais. Gavę vartų ir kamuolio koordinates, gali-me apskaičiuoti pasisukimo kampą rho (1) kelionės tikslo link.

22 )_()_( ytikslasxtikslasdtikslas_xrho

+==

(1)

Važiavimo atstumas apskaičiuojamas:

22 )_()_( ytikslasxtikslasd += (2)

Jei apskaičiuotas atstumas netikslus (per didelis), robo-tas nuvažiuos per didelį atstumą. Mušti tinkamai vietai rasti naudojamas 3 iteracijų ciklas. Robotas juda į tašką, esantį linijoje už vartų ir kamuoliuko, su nustatytu tikslumu. Kai robotas yra linijoje „vartai – kamuoliukas – robotas“, skai-čiuojamas pasisukimo vartų kampo link beta pagal formu-lę (3). Žinant vartų koordinates, pagal formulę (2) apskai-čiuojamas mušimo (judėjimo) atstumas.

22 )_()_( ytikslasxtikslasvartai_xbeta

+= (3)

IV. ALGORITMAS

1 algoritmas. Roboto mušimo vietos radimas1 žingsnis: gauna vaizdą I (n; m).

n=640, m=480

2 žingsnis: išskleidžia spalvotą vaizdą.

U (theta, rho), theta = 0,…,360, prie pasirinkto Δ theta,

rho atstumai nuo optinio centro pikseliais.

3 žingsnis: surandame apibrėžtą spalvoto objekto cen-trą.

A (theta, rho)

4 žingsnis: objekto padėties skaičiavimas I (XI, Y

I).

XI = rho*cos (theta) + xc;

YI = rho*sin (theta) + yc;

5 žingsnis: fizinių atstumų skaičiavimas polinėje ir De-karto koordinačių sistemose nuo roboto centro.

( ) ⎟⎠⎞

⎜⎝⎛⋅= tanhd

6 žingsnis: pateikiamos objekto fizinės Dekarto koor-dinatės (x, y)

Kamera fotografuoja

Ieško raudono kamuolio ir juodų

vartų

Pasisukti dešnėn

Pasisukti kairėn

Judėti į priekį

Pasisukti dešnėn

Pasisukti kairėn

Mušti kamuolį

Khepera nejuda

Ne

Taip

Ar kamuolys

kairėje

Ar kamuolys

kairėje

Kamuolys vartuose

NeTaip

Taip Ne

6 PAV. KAMUOLIUKO MUŠIMO ALGORITMO STRUKTŪRINĖ SCHEMA

V. EKSPERIMENTAS

A. Kamuolio ir vartų tikrojo atstumo nustatymasPirmu eksperimentu bandoma nustatyti, kaip tiksliai

nustatomi ieškomi objektai. Dėl to robotas buvo pastatytas arenos pradžioje, kamuoliukas tolinamas kas 5 cm ir re-gistruojami duomenys. Rezultatai pateikti 7 pav. Iš grafiko matome, kad arčiausiai ir toliausiai nuo kameros esančio kamuoliuko atstatytas atstumas turi didžiausias paklaidas palyginti su realiai išmatuotais. Tiksliausiai kamuoliukas buvo aptiktas apie 25 cm atstumu. Ši priklausomybė yra netiesinė, o jai ištiesinti gali būti panaudota polinominė funkcija.

Page 104: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

104

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

mo paklaida. Šią problemą robotas išsprendžia du kartus koreguodamas savo mušimo poziciją (8 b pav.). Fotogra-fuojama nuotrauka. Surandamas kamuoliukas ir vartai. Jeigu robotas ir kamuoliukas yra toli nuo vartų, nustatyti atstumai nėra tikslūs. Šiam uždaviniui spręsti panaudoja-me priartėjimo metodą. 1 – Khepera pasisuka apskaičiuotu kampu rho (1). 2 – važiuoja tiesiai su nedidelėmis paklai-domis atstumą d (2). Bandydamas ištaisyti per toli nuva-žiuotą kelią, robotas apsisuka – 3, kadangi vartai yra toli, ir vėl gaunama nedidelė paklaida. Pravažiavęs kamuoliuką robotas apsisuka 4, perskaičiuotas atstumas 5 atitinka nu-statytą paklaidos ribą, robotas pavažiuoja 5 ir pasisukęs 6 muša kamuoliuką 7.

VI. APIBENDRINIMAS

Šiame darbe pateikta, kaip autonominis mobilus robo-tas Khepera su sferine kamera K2D programuotas muš-ti į vartus raudoną kamuolį. Khepera K2D 360 kamera naudojama atstumui iki dominančių objektų apskaičiuoti. Robotas su šia kamera gali puikiai orientuotis aplinkoje ir nustatyti atstumus iki jų. Roboto matymo spindulys – iki 50 cm. Sukurtas algoritmas, išskiriantis ieškomus objek-tus (vartus ir kamuoliuką) bei nustatantis atstumą iki jų. Kamuoliukas mušamas į vartus taip, kad tiesaus smūgia-vimo vieta ieškoma judant jos link iteraciniu būdu. Eks-perimentiškai nustatyta: objektų radimo tikslumas labai priklauso nuo atstumo tarp roboto ir objektų, nes dėl sfe-rinio lęšio – kuo didesnis atstumas, tuo didesnė atstumo nustatymo paklaida.

VII. PADĖKA

Projektą finansavo Lietuvos mokslo taryba.

LITERATŪRA

[1] S. Y. Cheng, M. M. Trivedi. “Lane Tracking with Omnidirectio-nal Cameras: Algorithms and Evaluatinion“. EURASIP Journal on Embedded Systems, Article ID 46972, 2007.

[2] T. Ehlgen, T. Pajdla. “Maneuvering Aid for Large Vehicle using Omnidirectional Kameras“. IEEE Workshop on Applications of Computer Vision, 2007, p. 17.

[3] I. Ulrich, I. Nourbakhsh. “Appearance – based place recognition for topological localization, IEEE International Conference on Robotics and Automation, 2000, p. 1023–1029.

[4] K-Team corp, 2008. Prieiga per internetą: www.k-team.com. Žiūrėta: 2010-03-03.

[5] T. Sperauskas, A. Lipnickas, R. Simutis. “Programming autono-mous mobile robot to play soccer“. Electrical and Control Tech-nologies, 2008. Kaunas, p. 41–44.

[6] D. Scaramuzza. “Exercise 3: How to Build a Range Finder using an Omnidirectional Camera”. Prieiga per internetą: www.asl.ethz.ch/education/master/mobile_robotics/Exercise_3.pdf. Žiū-rėta: 2010-02-05.

5 10 15 20 25 30 35 405

10

15

20

25

30

35

40

45

50

Matuojamas atstumas [cm]

Tik

rasi

s at

stum

as [

cm]

KamuolysVartai

7 PAV. KAMUOLIO IR VARTŲ TIKRI BEI MATUOTI ATSTUMAI

B. 1 eksperimentas kamuoliui mušti į vartusPanaudojus 3 skyriuje aprašytą metodiką, buvo užpro-

gramuotas valdymo algoritmas kamuoliui mušti į vartus. Veikimo rezultatas pateiktas (8 a pav.), o numeriais surašy-ti roboto judėjimo etapai. Robotas Khepera gauna vaizdą. Nustato atstumą iki kamuolio ir vartų. Apskaičiuoja pasisu-kimo kampą 1 ir atstumą iki tikslo. Važiuoja atstumą 2 iki tikslo taško, reikiamo smūgiuoti. Nustato, kurioje pusėje yra kamuoliukas: dešinėje ar kairėje. Robotas nufotogra-fuoja nuotrauką ir vėl vykdomas kampo skaičiavimas 3. Nustatomas vartų atstumas nuo roboto. Mušamas kamuo-liukas 4. Mušimo nuotolis imamas 80 % apskaičiuoto ats-tumo iki vartų, kad robotas neįvažiuotų į vartus.

Robotas

Kamuolys

Vartai

12

34 Vartai

1

7

2

Robotas

Kamuolys

34 5 6

A) B)

8 PAV. KAMUOLIUKO MUŠIMO PAVYZDŽIAI.

A) 1 EKSPERIMENTAS; B) 2 EKSPERIMENTAS

C. 2 eksperimentas kamuoliui mušti į vartus Vykdant antrąjį eksperimentą, robotas pastatomas toliau

nuo vartų. Dėl to atsiranda didesnė vartų pozicijos nustaty-

Page 105: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

105

Santrauka. Bendrojo pobūdžio sistemose, tokiose kaip struk-tūrizuoti tinklalapiai, naujienų portalai, prekių ar paslaugų katalogai ir pan., pastebimas poreikis duomenis tvarkyti hie-rarchiškai – medžio principu. Kai kuriose komercinėse duo-menų bazių valdymo sistemose numatytos integruotos prie-monės operuoti hierarchinėmis duomenų struktūromis, bet dažnai pasirenkamuose atvirojo kodo produktuose tokių prie-monių nėra, todėl programuotojams tenka patiems jas rea-lizuoti. Neretai realizacijos įgyvendinamos neteisingai arba pasirenkami neoptimalūs modeliai. Straipsnyje aptariamas teorinis pagrindas hierarchijoms saugoti reliacinėje DBVS ir nagrinėjami trys pagrindiniai modeliai hierarchijomis ope-ruoti tokiose sistemose.

Reikšminiai žodžiai: duomenų bazės, reliacinės DBVS, hierarchija, medžiai, duomenys.

I. ĮVADAS

Didesnius duomenų rinkinius įprasta skirstyti į gru-pes pagal panašius požymius. Neretai susiduriama su šių grupių hierarchija: įmonėse valdymo struktūra gali būti pavaizduota medžio principu, kuris įgalina nesunkiai suprasti pavaldumą žyminčius ryšius, darbuotojų priklau-symą skyriui ar pan. Kuriant informacines sistemas, taip pat neišvengiama hierarchijos: prekių katalogą reikia skai-dyti į grupes ir smulkesnius pogrupius, naujienų portaluose grupuoti straipsnius. Tokie duomenys apibendrintai vadi-nami hierarchinėmis duomenų struktūromis, kurias reikia išsaugoti duomenų saugyklose – paprastai reliacinėse duo-menų bazių valdymo sistemose (DBVS).

Dažnai pasirenkamose atvirojo kodo DBVS, pavyz-džiui, MySQL, nėra integruotų priemonių operuoti hierar-chinėmis duomenų struktūromis, todėl programuotojams patiems tenka realizuoti hierarchijų apdorojimo įrankius. Neretai realizacijos įgyvendinamos neteisingai arba pasi-renkamas neoptimalus metodas.

Didėjant interneto svetainės principu veikiančių infor-macinių sistemų poreikiui, aktuali tapo spartaus manipulia-vimo hierarchiniais duomenimis duomenų bazėse, neturin-čiose specialių tam skirtų priemonių, problema.

Straipsnio tikslas: įvertinti hierarchinių duomenų

struktūrų saugojimo galimybes reliacinėse DBVS ir infor-macinėje sistemoje, naudojančioje reliacinę DBVS, sukurti efektyvų algoritmą tokiomis struktūromis manipuliuoti.

Pagrindinis modelio optimalumo kriterijus šiame straipsnyje – modelio programinės realizacijos kreipinių (užklausų) į DBVS skaičius, modelį taikant medžiams, turintiems pasirinktą lygių skaičių.

II. TEORINIS PAGRINDAS

Šiame straipsnyje nagrinėjamos hierarchinių duomenų struktūrų saugojimo ir valdymo galimybės šiuolaikinėse reliacinėse DBVS, kurios, pagal reikalingą funkcionalumą, pasirenkamos ir diegiamos prie įvairaus sudėtingumo informacinių sistemų, pradedant tipines operacijas vykdan-čiais kontaktų ar turinio valdymo moduliais ir baigiant duo-menų masyvus valdančiomis duomenų gavybos (angl. data mining) sistemomis. Istoriškai susiklostė, kad reliacinis duomenų bazių valdymo sistemos tipas rinką pasiekė vėliausiai, todėl naudinga trumpai apžvelgti jo pirmtakus.

A. Duomenų bazių valdymo sistemosReliacinės DBVS nėra vienintelis būdas saugoti duo-

menis. Šiame straipsnyje išskiriami trys duomenų bazių valdymo sistemų tipai:

• tinklinės (angl. network);• hierarchinės (angl. hierarchical);• reliacinės (angl. relational).Šiuo metu informacinių sistemų realizacijoms dažniau-

siai pasirenkamos reliacinės DBVS, bet nereikia pamiršti jų pirmtakių – hierarchinių DBVS, kurios šiomis dienomis vis dar naudojamos ir, pasak J. Celko, veikiausiai talpina dau-giau duomenų, nei SQL kalba pagrįstos reliacinės DBVS.

Tinklinės ir hierarchinės DBVS vadinamos naviguoja-momis (angl. navigational), nes esminis jose naudojamas duomenų pasiekimo modelis pagrįstas judėjimu keliais (angl. path) norimų išrinkti duomenų link. Integruotos duo-menų saugyklos (angl. Integrated Data Store – IDS) ir ana-logiškai veikiančios sistemos įgalino programuotojus susieti įrašus duomenų struktūroje ir panaudoti šias sąsajas keliui

Hierarchinių duomenų valdymo optimizavimas reliacinėje duomenų bazių valdymo sistemoje

Gytis RepečkaInformatikos katedra

Vilniaus universiteto Kauno humanitarinis fakultetasKaunas, Lietuva

El. paštas: [email protected]

Page 106: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

106

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

atkurti [2]. IMS (angl. Information Management System) – viena iš hierarchinių duomenų bazių valdymo pavyzdžių. Ši IBM sukurta sistema yra stabili, griežtai struktūrizuota, pritaikoma ir itin greita. J. Celko konstatuoja, kad apie hie-rarchines DBVS universitetų studentams dabar tik užsime-nama neskiriant daugiau dėmesio, nes netrukus pereinama prie šiandienio jų palikuonio – reliacinių DBVS.

Reliacinį modelį sugalvojo E. F. Coddas, tuomet dirbęs tyrinėtoju IBM kompanijoje. Jam priklausantis origina-lus reliacinio modelio apibrėžimas pirmą kartą publikuo-tas 1969 m. IBM tyrinėjimų ataskaitoje [3]. Apibendrinęs E. F. Coddo šaltinius, C. Date teigia: „Kiekviena esybė turi unikalų identifikatorių. Reliaciniame modelyje šie identifi-katoriai reprezentuojami <...> panaudojant atributų reikš-mes. Šis paprastas faktas modeliui sąlygoja labai daug pri-valumų“ [3].

B. Hierarchinė medžio struktūraHierarchine struktūra šiame darbe laikoma medžio,

tiksliau vadinamo ypatingos rūšies tiesioginiu grafu (angl. direct graph), kuris sudarytas iš viršūnių (angl. node), jun-giamų keliais (angl. edge), žyminčiais vienkryptį ryšį tarp dviejų viršūnių [4], tipo duomenų struktūra. Darbe atsiribo-jama nuo kitokio tipo hierarchinių struktūrų, turinčių kitokį nei vienkryptį ryšį tarp dviejų viršūnių. Medžio struktūros pavyzdys pateiktas 1 pav.

1 PAV. MEDŽIO STRUKTŪROS PAVYZDYS [4]

1 pav. pateiktame medyje vaizduojamas loginis orga-nizacijos struktūros pavyzdys, kurio fizinę realizaciją savo DBVS pateikia Oracle. Svarbu atkreipti dėmesį į tai, kad, laikydamasis anksčiau nusistatyto hierarchinės struktūros apibrėžimo, darbuotojas gali turėti tik vieną tiesioginį virši-ninką, o viršininkas gali vadovauti daugiau nei vienam dar-buotojui. Todėl Chuckas yra vienintelis Fredo viršininkas, o štai pats Chuckas yra vienas iš dviejų Albertui pavaldžių darbuotojų.

Tiesioginiame grafe viršūnės dažniausiai vaizduojamos keturkampiais ir jungiamos keliais, kuriuos iliustruoja linijos arba rodyklės. Kiekvienas kelias vaizduoja vienkryptį ryšį tarp viršūnių, kurias sujungia. J. Celko aiškina sąvokas pasi-telkęs klasikinį pavyzdį – organizacijos struktūrą. Viršūnės – tai darbuotojų pareigybės, keliai – pavaldumo ryšiai (angl. reports-to). Priešingos krypties kelias, kai vaizduojama viršūnė, turinti vaikinių viršūnių, organizacijos pavyzdyje

sietinas su pavaldumu, o detalizuojant gamybos procesą – detale, kurią sudaro sudėtiniai komponentai (angl. made-of). Aukščiausia medžio viršūnė vadinama šaknine (angl. root), kuri organizacijos pavyzdyje atitiktų aukščiausią valdymo organą. Vaizduojant gamybą, šakninė viršūnė būtų visiškai surinktas, galutinis produktas. Viršūnės, kurios žemesniame hierarchijos lygyje neturi daugiau medžių arba viršūnių, vadinamos terminalinėmis (angl. leaf).

Tiesioginio grafo tipo duomenų medžiai įgalina struk-tūrizuoti interneto svetainės ar kitokios informacinės siste-mos turinį, kurį vartotojo sąsajos priemonėmis gali tvarkyti neįgudęs vartotojas.

III. MODELIAI TIESINIAMS GRAFAMS REALIZUOTI RELIACINĖJE DBVS

Kuriant informacines sistemas, naudojančias reliacines DBVS, neturinčias integruotų priemonių operuoti hierar-chinėmis struktūromis arba toms priemonėms esant neop-timalioms, reikalingi specializuoti modeliai, įgalinantys atlikti šią užduotį. J. Celko išskiria tris pagrindinius mode-lius tiesioginiams grafams realizuoti reliacinėje duomenų bazių valdymo sistemoje:

• kaimynystės sąrašo modelis (angl. Adjacency List Model);

• kelio išvardijimo modelis (angl. Path Enumeration Model);

• įtalpinto rinkinio modelis (angl. Nested Set Model).

J. Celko pabrėžia: yra ir daugiau modelių, bet šie trys metodai reprezentuoja pagrindines modelių šeimas. Apibendrindamas mokslininkas teigia, jog SQL kalba galima realizuoti medžius, tačiau būtina kruopščiai pasi-rinkti tam geriausiai tinkantį metodą, kad sistema veiktų optimaliai.

Sprendžiant daugumą kompiuterių mokslo uždavi-nių, lengviausias kelias – „skverbtis“ hierarchine duo-menų struktūra žemyn, naudojant rekursiją [5]. Sprendimo paprastumo esmė – skverbimąsi atlieka pakartotinai vykdoma viena ir ta pati funkcija, todėl visos įvairiuose lygiuose esančios grafo viršūnės apeinamos neparašius papildomų procedūrų. Patogu ir tai, kad eiti medžiu galima pradėti nuo bet kokio lygio viršūnės, taip pat nereikalaujant papildomo programavimo. Didžiausia problema – rekursija nėra efektyvi kompiuterio resursų panaudojimo prasme, nes sąlyginai greitai vykdoma užpildo atmintį, kurią reikia valyti norint išvengti sistemos sutrikimų. K. Flingo teigimu, labai lengva suvokti tai, kaip vykdomas rekursinis algori-tmas, bet pasireiškia fundamentali problema dėl smarkaus resursų perpildymo, kai susiduriama su didesniu skaičiumi hierarchinių lygmenų. Rekursija pagrįsti du iš aptariamų modelių: kaimynystės sąrašo ir kelio išvardijimo.

A. Kaimynystės sąrašo modelis1990 m. anglų kompiuterijos mokslininkas dr.

E. F. Coddas aprašė hierarchijų atvaizdavimo SQL prie-monėmis metodą, kurio pavyzdyje buvo pateiktas įrašas,

Page 107: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

107

GYTIS REPEČKA · HIERARCHINIŲ DUOMENŲ VALDYMO OPTIMIZAVIMAS RELIACINĖJE DUOMENŲ BAZIŲ VALDYMO SISTEMOJE

turintis stulpelį „viršininkas“, ir papildomą stulpelį „dar-buotojas“, kuriuos jungė ryšys. Tai buvo tiesioginė kaimy-nystės sąrašo modelio realizacija lentele. Oracle, pirmoji panaudojusi SQL komerciniam produktui, organizacijos struktūrą pateikė lentele kaip duomenų bazės pavyzdį, kurį pavadino Scott/Tiger [1] – numatytųjų Oracle DBVS varto-tojo vardo ir slaptažodžio reikšmių kombinacija. Lentelėje organizacinė struktūra ir personalo duomenys kartu pateikti vienu įrašu.

1 pav. vaizduojamą organizacijos struktūrą, realizuotą naudojant kaimynystės sąrašo modelį, iliustruoja 1 lente-lėje pateikta duomenų bazės lentelės struktūra.

1 LENTELĖ. PERSONALO STRUKTŪROS LENTELĖ

Darbuotojas Viršininkas Atlyginimas‘Albert’ NULL 1000,00‘Bert’ ‘Albert’ 900,00

‘Chuck’ ‘Albert’ 900,00‘Donna’ ‘Chuck’ 800,00‘Eddie’ ‘Chuck’ 700,00‘Fred’ ‘Chuck’ 600,00

Šaltinis: sudaryta autoriaus pagal Celko, J. (2005) Joe Celko‘s Trees and hierarchies in SQL for Smarties, p. 18.

Siūlomą sprendimą reliacinėje DBVS vadindamas visapusišku, E. F. Coddas pabrėžia modelio glaustumą, lei-džiantį vartotojui išvengti iteratyvaus ir rekursinio progra-mavimo bei suteikiantį tinkamus integralumo apribojimus, taip pat manipuliacines galimybes [6]. Informaciniuose šal-tiniuose aktyviai hierarchijų realizavimo temomis diskutuo-jantys programuotojai akcentuoja šio modelio paprastumą ir teigia, kad manipuliuoti duomenimis galima elementa-riais ciklais, todėl šį modelį sparčiai įsisavinti ir taikyti gali mažiau patyrę sistemų kūrėjai.

Sprendimo esmė – rekursyvus jungimas (angl. recur-sive join), specifikavimo metu numatytas tik tiesiniams grafams, kuriuose kelio radimas nesąlygoja ciklų.

Aptardamas 1 lentelėje vaizduojamą pavyzdį, J. Celko pabrėžia: „Siaubinga tiesa, kurios niekas nepastebėjo, apie paprastą kaimynystės sąrašo modelį yra tai, kad ši schema nėra normalizuota“ [1]. Normalizacija užtikrina duomenų pertekliškumo eliminavimą ir apsaugo nuo anomalijų, kurios kaimynystės sąrašo modelyje aptinkamos kelios: atnaujinimo, įterpimo, šalinimo bei struktūrinės anomali-jos.

B. Kelio išvardijimo modelisKelio išvardijimo modelį hierarchiniams duomenims

atvaizduoti pirmą kartą aptarė S. Gustafssonas monografi-joje Internet site for SQL Server users, kiek vėliau – kny-goje Internet site for SQL Server users. Detaliai algoritmą išnagrinėjo T. Moreau ir I. Ben-Ganas 2000 m. išleistoje knygoje Advanced Transact-SQL for SQL Server 2000 [1]. Metodas pagrįstas kelio nuo kiekvienos viršūnės iki šakni-nės išsaugojimu. Kelias iki konkrečios viršūnės dažniausiai

saugomas tekstinio tipo lauke (angl. string), tam skirtame stulpelyje konkrečios viršūnės įraše.

Pagrindinis skirtumas nuo kitų modelių – kelias nuo viršūnės iki šakninės viršūnės atvaizduojamas ne skaliarine išraiška. Naudojant šį modelį pasireiškia problemiška situ-acija, kai pakeičiama tėvinė viršūnė (ypač šakninė) – tuo-met reikia iš naujo perskaičiuoti viso medžio kelius. Jeigu struktūriniai pakeitimai nedažni, tuomet šis modelis nesu-kelia didelių problemų.

Hierarchijos pavyzdys, nagrinėjamas kelio išvardijimo modelio esmei atskleisti, pateiktas 2 pav.

2 PAV. ORGANIZACIJOS STRUKTŪROS PAVYZDYS [7]

Dažniausias tokios struktūros atvaizdavimo būdas duo-menų bazės lentelėje – poromis, kai viename lauke saugo-mas darbuotojo ID, kitame – jo vadovo ID. Kitaip tariant, viename lauke saugomas vaikas, o kitame – tėvas [7]. Aukščiausio vadovo (šakninės viršūnės) įrašo lauke, nuro-dančiame tėvinę viršūnę, reikia įvesti duomenis, nors tai yra aukščiausias hierarchijos lygis. Kaip ir kaimynystės sąrašo modelyje, tėvinio identifikatoriaus lauke įrašoma reikšmė NULL. Navigacija tokios struktūros lentelėje būtų ne kas kita, kaip kaimynystės sąrašo realizacija. Pagrindinis kelio išvardijimo modelio duomenų bazės lentelės skirtumas nuo minėto kaimynystės atvejo – papildomas (paprastai, tekstinis) laukas keliui nurodyti. Taip pat sukuriamas lau-kas, saugosiantis hierarchijos lygio numerį. 2 pav. pateiktą struktūrą realizuojanti duomenų bazės lentelė perteikta 2 lentele.

Kelias iki pasirinktos grafo viršūnės (darbuotojo) įra-šomas lauke „kelias“, šiame pavyzdyje taškas naudojamas kaip skirtukas. Turint kelią, nesunku apskaičiuoti hierar-chijos lygį, kuriame yra darbuotojas: laikant, kad aukščiau-sio vadovo hierarchijos lygis yra 0, Davidas priklausys 3 lygiui. Ši reikšmė išsaugoma lauke „lygis“.

Turint tokią lentelę, atvaizduoti hierarchiją ar surasti kelią nuo viršūnės iki šakninės viršūnės ar norimo hierar-chinio lygio, yra nesudėtinga, pakanka vos vienos užklau-sos. Vaizduojama tekstiniu pavidalu, hierarchinė struktūra paprastai atspindima atitraukus viršūnės pavadinimą nuo krašto atitinkamai tiek (taškų, tarpų, tabuliacijos ženklų ar pan.), kiek lygių žemiau yra pastaroji viršūnė šakninės vir-šūnės atžvilgiu.

Page 108: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

108

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

Tipinės medžio viršūnės vaizdavimo figūros – ketur-kampiai – pakeičiami ovalais. Kiekvienas ovalas įtalpina-mas į ovalą, kuriam pirmasis pavaldus. Terminalines viršū-nes vaizduojančių ovalų viduje nebus nieko, o šakniniame ovale bus išsidėstę visi kiti. J. Celko teigimu, tai natūralus būdas vaizduoti šakojimąsi, nes galutinis jungimasis suda-rytas iš fiziškai įtalpintų (angl. nested) rinkinių, kurie, savo ruožtu, skyla į atskiras dalis. Hierarchijos medis (1 pav.) transformuojamas į įtalpinimų rinkinį, pavaizduotą 3 pav.

J. Celko teigimu, labai keista, kad toks požiūris taip ilgai nebuvo pastebėtas SQL programuotojų. Kadangi SQL yra į rinkinį nukreipta kalba, šis modelis geriau tinka hie-rarchinei struktūrai duomenų bazės lentelėje aprašyti, nes medį galima modeliuoti įtalpintais rinkiniais, pažymėtais skaitinėmis „kaire“ ir „dešine“ reikšmėmis. Kaip jos suda-romos, vaizduojama 4 pav.

4 PAV. VIRŠŪNIŲ NUMERAVIMAS PAGAL ĮTALPINTO RINKINIO MODELĮ [1]

Į grafo viršūnei užrašytų skaičių poros intervalą visuo-met pateks viršūnių-paveldėtojų intervalai, todėl kiekvie-nos vaikinės viršūnės „kairė“ ir „dešinė“ reikšmės neišeis už tėvinės viršūnės intervalo ribų. 3 pav. vaizduojamo įtal-pinimų rinkinio skaitiniai intervalai pateikti 5 pav.

5 PAV. ĮTALPINTO RINKINIO INTERVALAI SKAIČIŲ AŠYJE

Skaičių žymėjimas pradedamas nuo šakninės viršū-nės ir keliaujama visu medžiu aplink. Kai prieinama prie viršūnės, uždedama skaičiaus žyma ir skaičius didinamas vienetu. Kiekviena viršūnė pažymima dviem skaičiais – kairiu ir dešiniu. Kompiuterininkai pastebės, kad toks pertvarkymo arba požiūrio giliausias–pirmiausia (angl. depth-first) algoritmas [1] leidžia skaičių palyginimo operacijomis grįstomis SQL užklausomis keliauti medžiu pirmyn ir atgal bei itin sparčiai suskaičiuoti viršūnės vai-kines viršūnes. Keletas pavyzdžių, įrodančių modelio užtikrinamą spartą:

Kelio išvardijimo modelis suteikia galimybę lengvai ir itin greitai atvaizduoti hierarchijas, išrinkti norimus duome-nis. Tačiau modelio trūkumai pasireiškia, kai reikia keisti, papildyti, atnaujinti medžio struktūrą bei trinti viršūnes ar jų grupes. Atliekant šiuos veiksmus, būtina iš naujo perra-šyti kelio ir hierarchijos lygio reikšmes.

2 LENTELĖ. DARBUOTOJŲ LENTELĖ

darb_iddarb_

vadovasdarb_vardas

atlyginimas lygis kelias

1 NULL Nancy 100.000.000 0 .1.

2 1 Andrew 50.000.000 1 .1.2.

3 1 Janet 50.000.000 1 .1.3.

4 1 Margaret 50.000.000 1 .1.4.

5 2 Steven 25.000.000 2 .1.2.5.

6 2 Michael 25.000.000 2 .1.2.6.

7 3 Robert 25.000.000 2 .1.3.7.

8 3 Laura 25.000.000 2 .1.3.8.

9 3 Ann 25.000.000 2 .1.3.9.

10 4 Ina 25.000.000 2 .1.4.10.

11 7 David 20.000.000 3 .1.3.7.11.

12 7 Ron 20.000.000 3 .1.3.7.12.

13 7 Dan 20.000.000 3 .1.3.7.13.

14 1 James 15.000.000 4 .1.3.7.11.14.

Šaltinis: sudaryta autoriaus pagal Ben-Gan, I.; Moreau, T. (2000) Advanced Transact−SQL for SQL Server 2000, p. 433.

Kelias gali būti užrašytas ne tik tekstinio įrašo pavidalu, numačius ženklą viršūnių identifikatoriams skirti, bet ir pagal patentuotą D. Chandlerio metodą – kiekvieną identi-fikatorių rašant į atskirą lentelės įrašo lauką [8]. A. Delevie teigimu, šis metodas ganėtinai efektyvus, tik iš anksto, jau projektuojant duomenų bazę, turi būti žinomas maksimalus medžio gylis.

C. Įtalpinto rinkinio modelisMedžiai dažniausiai vaizduojami kaip stačiakampiai

elementai, sujungti rodyklėmis. Prie tokios struktūros nesą-moningai prisiriša mūsų mąstymas, suvokiant grafo struk-tūrą [1]. Kitas būdas vaizduoti hierarchines struktūras – įdėtinis rinkinys, kurį dar 1997 m. D. E. Knuthas aprašė knygoje The Art of Computer Programming.

3 PAV. ĮTALPINIMŲ RINKINYS [7]

Page 109: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

109

GYTIS REPEČKA · HIERARCHINIŲ DUOMENŲ VALDYMO OPTIMIZAVIMAS RELIACINĖJE DUOMENŲ BAZIŲ VALDYMO SISTEMOJE

• patikrinti, ar viršūnė turi vaikų, pakanka atimties veiksmo („dešinė“ – „kairė“);

• sužinoti viršūnės vaikų skaičių ((„dešinė“ – „kairė“ – 1) ÷ 2);

• išrinkti visas pavaldžias viršūnes (SELECT * FROM lentelė WHERE kairė BETWEEN tėvinės_viršūnės_kairė AND tėvinės_viršūnės_dešinė);

• išrinkti norimos viršūnės protėvius iki šakninės viršūnės (SELECT * FROM lentelė WHERE kairė < viršūnės_kairė and dešinė > viršūnės_dešinė ORDER BY kairė ASC);

• panašaus sudėtingumo įterpimo ir šalinimo funkci-jos.

IV. MODELIŲ TIESINIAMS GRAFAMS SAUGOTI RELIACINĖJE DBVS ĮVERTINIMAS

Rengiant straipsnį, aptarti modeliai realizuoti PHP pro-gramavimo kalba, siekiant suskaičiuoti užklausas keliems tipiniams veiksmams: keliui rasti nuo pasirinktos viršūnės iki šakninės viršūnės, hierarchijos struktūros vaizdavimas išsiskleidžiančiame navigacijos meniu ir viršūnės įterpimas į medžio struktūrą.

Tyrimui atlikti naudotas keturių hierarchijos lygių medis. Skaičiuojant užklausų skaičių pasirinkta, kad nagri-nėjama viršūnė būtų žemiausiame (t. y. ketvirtame) hierar-chijos lygmenyje.

Užklausų skaičius, reikalingas atlikti nurodytą veiksmą, taikant kiekvieną iš aptartų modelių, pateiktas 3 lentelėje.

3 LENTELĖ. UŽKLAUSŲ SKAIČIUS TAIKANT APTARTUS MODELIUS

ModelisVeiksmas

Kaimynys-tės sąrašo

Kelio iš-vardijimo

Įtalpinto rinkinio

Kelio nuo viršūnės iki šakni-nės viršūnės išrinkimas

4 1 1

Hierarchijos medžio atvaiz-davimas, pritaikytas naviga-

cijos meniu

4 4 1

Viršūnės įterpimas į medį 1 5 3

Šaltinis: sudaryta autoriaus.

Iš 3 lentelėje pateiktų duomenų galima daryti išvadą: kaimynystės sąrašo modelis mažiausiai optimalus tuomet, kai reikia išrinkti duomenis, tačiau optimalus įterpiant duomenis. Kelio išvardijimo modelis yra optimalus, kai reikia rasti kelią nuo viršūnės iki šakninės viršūnės, bet privalu vykdyti papildomas užklausas atvaizduojant navi-gacijos meniu, nes reikia išrinkti kelyje neišvardytų, bet reikalingų atvaizduoti viršūnių duomenis, kurie bus įterpti į medį, nes būtina perskaičiuoti kelią nuo įterpiamos viršū-nės iki šakninės. Įtalpinto rinkinio modelis optimalus duo-menims išrinkti, bet ne toks optimalus kaip kaimynystės

sąrašo modelis viršūnei įterpti. Apibendrinant galima teigti, kad įtalpinto rinkinio modelis yra geriausias vari-antas medžiams, iš kurių duomenis reikia dažniau išrinkti nei įterpti.

V. HIERARCHINIŲ STRUKTŪRŲ REALIZACIJOS TINKLALAPIŲ TURINIO VALDYMO SISTEMOSE

Aptartos medžio tipo hierarchinių struktūrų savybės ir trys pagrindiniai modeliai joms saugoti reliacinėse duo-menų bazių valdymo sistemose sudaro teorinį pagrindą, reikalingą hierarchijų realizacijoms populiariose atvirojo kodo sistemose nagrinėti ir teiginiui, kad realizacijos daž-nai neteisingai įgyvendinamos ar nevykusiai pasirenkami metodai tam atlikti, patikrinti.

D. Hierarchijų formavimo sprendimas „Drupal“ siste-mojePopuliarioje atvirojo kodo turinio valdymo sistemoje

Drupal (www.drupal.org) tinklalapio struktūra formuojama taksonomijos žodyno pagrindu. Programinis šio žodyno modulis naudoja duomenų bazės lentelę term_hierarchy, kurios struktūra pateikta 4 lentelėje.

4 LENTELĖ. LENTELĖS TERM_HIERARCHY STRUKTŪRA

Lauko pa-vadinimas

Tipas Paskirtis

tid sveikasis skaičius (integer), 10 simbolių

Žodyno termino skaitinis identifikatorius

parent sveikasis skaičius (integer), 10 simbolių

Žodyno termino tėvinio termino skaitinis identifi-

katorius

Šaltinis: sudaryta autoriaus.

Atidžiau pažvelgus į žodyno modulio naudojamą duomenų bazės lentelę (4 lentelė), galima pastebėti, kad Drupal kūrėjai pasirinko kaimynystės sąrašo modelį hie-rarchijai realizuoti. Apribojimų hierarchijos „gyliui“ aptikti nepavyko, bet meniu elementų struktūrizavimas medžio principu apribotas iki 9 hierarchijos lygių. Tai sąlyginai nedidelė struktūra, kurią pereinant rekursijos būdu nebūtų juntama sulėtėjusi apdorojimo sparta.

Įdiegus įtalpinto rinkinio modelį, Drupal sistemoje būtų galima išvengti meniu hierarchijos gylio apribojimo, o žodyno modulyje – atsisakyti rekursijos, taip žymiai suma-žus kreipčių į MySQL serverį skaičių, kartu ir atsako laiką.

E. Hierarchijų formavimo sprendimas „Joomla“ siste-mojeHierarchijos turinio valdymo sistemoje Joomla (www.

joomla.org) dažniausiai formuojamos sudarant meniu bei kategorizuojant turinio elementus (straipsnius). Pastarųjų struktūrizavimas labai ribotas, nes straipsnį galima priskirti kategorijai, kuri gali priklausyti tam tikrai sekcijai. Šiuo atveju pasiekiama ribota dviejų lygių hierarchija. Meniu elementų struktūrizavimas neapribotas konkrečiu lygių

Page 110: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

110

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

skaičiumi, bet susipažinus su duomenų bazės lentele (5 len-telė), kurioje saugomi meniu elementai, galima numatyti spartos lėtėjimą medžiui „gilėjant“.

5 LENTELĖ. MENIU ELEMENTŲ LENTELĖS FRAGMENTAS

Lauko pa-vadinimas

Tipas Paskirtis

id sveikasis skaičius (integer), 11 simbolių

Meniu elemento skaitinis identifikatorius

parent sveikasis skaičius (integer), 11 simbolių

Meniu elemento tėvinio elemento skaitinis identifi-

katoriuslft sveikasis skaičius

(integer), 11 simboliųVisiems elementams sau-

gomos nulio reikšmės abie-juose laukuosergt sveikasis skaičius

(integer), 11 simbolių

Šaltinis: sudaryta autoriaus.

Galima pastebėti, kad Joomla, analogiškai Drupal, meniu hierarchijoms sudaryti naudoja kaimynystės sąrašo modelį, nes konkrečiam meniu elementui nurodomas tik tėvinis jo laukas. Meniu elementų lentelės fragmente (5 lentelė) taip pat pavaizduoti du dėmesį atkreipiantys skaitiniai laukai lft ir rgt, nes tokie laukų pavadinimai daž-niausiai naudojami pagal įtalpinto rinkinio modelį formuo-jamų struktūrų lentelėse. Deja, visiems elementams Joomla šiuose laukuose įterpia nulio reikšmes, todėl nerealizuoja įtalpintų rinkinių modelio. Vis dėlto yra gera žinia: pra-dedant 1.6 versija, kuri rengiant straipsnį buvo pasiekusi ALPHA stadiją, hierarchijos Joomla sistemoje bus realizuo-tos būtent įtalpinto rinkinio modeliu, jį panaudojus kartu su kaimynystės sąrašo modeliu [9]. Šių metodų panaudojimas leis išvengti lygių apribojimo, kurį šiuo metu sąlygoja kate-gorijų ir sekcijų struktūra.

IŠVADOS

Išnagrinėti trys pagrindiniai hierarchijų valdymo mode-liai, tinkantys naudoti reliacinėse DBVS. Programiškai len-gviausiai realizuojamas kaimynystės sąrašo modelis, bet jis neoptimalus užklausų skaičiaus požiūriu. Kelio išvardijimo modelis optimalus sistemose, kuriose medžio struktūra nėra dažnai kintanti. Įtalpinto rinkinio modelis leidžia opti-maliai išrinkti, apdoroti ir keisti hierarchinę struktūrą, bet jis realizuojamas sudėtingiau nei kiti du modeliai. Modelio

pasirinkimas turėtų priklausyti nuo kuriamos sistemos spe-cifikos.

Atliktas modelių įvertinimas leidžia daryti išvadą: įtal-pinto rinkinio modelis yra geriausias variantas medžiams, iš kurių duomenis reikia dažniau išrinkti nei įterpti.

Išanalizuoti hierarchijų realizavimo sprendimai dvie-jose populiariose atvirojo kodo tinklalapių turinio valdymo sistemose Drupal ir Joomla. Abi naudoja panašius spren-dimus – kaimynystės sąrašo modelį, bet naujoje Joomla versijoje šis modelis bus naudojamas kartu su įtalpinto rinkinio modeliu. Tai patvirtina pastarojo modelio savybių aktualumą.

Įtalpinto modelio pagrindu planuojama sukurti medžio tipo tinklalapio turinio valdymo sistemą, pritaikytą veikti su integruotų priemonių operuoti hierarchijomis neturin-čioje reliacinėje DBVS.

LITERATŪRA

[1] J. Celko. “Joe Celko‘s Trees and hierarchies in SQL for Smarties”. San Francisco: Elsevier Inc. , 2004.

[2] C. W. Bachman. “The Programmer as Navigator” [interakty-vus]. ACM Annual Conference, November 1973. Atlanta: ACM. Communications of the ACM, vol. 16, No. 11, 1973, p. 653–658. Prieiga per internetą: <http://www.ischool.washington.edu/. tabrooks/100/Documents/Bachman/ProgrammerNavigator.pdf>.

[3] C. Date. „SQL and Relational Theory: How to Write Accurate SQL Code“. Sebastopol: O’Reilly Media, Inc., 2009.

[4] J. Celko. “Joe Celko‘s SQL for Smarties: Advanced SQL Pro-gramming”. San Francisco: Elsevier Inc., 2005.

[5] K. Fling. “Four ways to work with hierarchical data” [interakty-vus]. Evolt.org, 2000 [žiūrėta: 2009-11-20]. Prieiga per internetą: <http://www.evolt.org/article/Four_ways_to_work_with _hierarchical_data/17/4047/index.html>.

[6] E. F. Codd. “The Relational Model for Database Management: version 2”. Reading: Addison-Wesley Publishing Company, Inc., 1990.

[7] I. Ben-Gan, T. Moreau. “Advanced Transact−SQL for SQL Server 2000”. New York: Springer−Verlag, 2000.

[8] A. Delevie. “Recursion-less storage of hierarchical data in a rela-tional database” [interaktyvus]. alandelevie.com, 2008 [žiūrėta: 2009-11-20]. Prieiga per internetą: <http://www.alandelevie.com/2008/07/12/recursion-less-storage-of-hierarchical-data-in-a-relational-database/>.

[9] W. Jansen. “Hierarchical data, nodes and nested sets in 1.6” [interaktyvus]. jfoobar, 2009 [žiūrėta: 2010-03-15]. Prieiga per internetą: <http://www.jfoobar.org/blog/324-hierarchical-data-nodes-and-nested-sets-in-16.html>.

Page 111: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

111

Santrauka. Esant konkurencingai IT kompanijų rinkai, didelis dėmesys teikiamas kuriamų sistemų kokybei. Kuriant infor-macines sistemas, svarbūs ne tik analizavimo, projektavimo, kūrimo etapai, bet ir kuriamo produkto testavimo procesas. Tiksliai, laiku bei kokybiškai atliktas testavimas leidžia užtik-rinti kuriamo produkto kokybę, tai turi tiesioginę įtaką viso projekto sėkmei bei įmonės įvaizdžio kūrimui. Dažnu atveju sudėtinga nustatyti, kokio tipo testavimas turėtų būti taiko-mas vienam ar kitam komponentui testuoti, koks testavimo tipas būtų efektyvesnis ir leistų sutaupyti įmonės resursų. Šiame straipsnyje nagrinėjama testavimo tipo pasirinkimo problema. Tyrimo objektas: testavimo tipo pasirikimo meto-das, pagrįstas dirbtinio intelekto metodų taikymu. Straipsnyje pateiktas automatinio ir rankinio testavimo tipų palyginimas, siekiant išskirti vieno ar kito testavimo tipo privalumus bei trūkumus. Apžvelgiamas dirbtinio intelekto metodų taikymas testavimo procesuose bei pristatomas autorių siūlomas testa-vimo tipo pasirinkimo metodas, paremtas dirbtinių neuroni-nių tinklų taikymu.

Reikšminiai žodžiai: testavimas, dirbtiniai neuroniniai tinklai, projektų vadovas, informacinės sistemos.

I. ĮVADAS

Vykdant įvairius informacinių technologijų projektus, vis aktualesnis tampa klausimas, kaip efektyviau panaudoti turimus resursus kokybiškam sistemų testavimui. Didėjant vartotojų poreikiui, kuriamos sistemos tampa vis didesnės, sudėtingesnės, tai sąlygoja ir sudėtingesnį jų testavimą. Įvairūs su sistemų testavimu susiję klausimai aktualūs ne tik testuotojams, bet ir projektų vadovams bei įmonėms.

Didelę reikšmę vykdant didelius projektus turi atliekami tikslūs ir motyvuoti sprendimai. Testuojant sistemą, pro-jektų vadovui neretai sudėtinga nuspręsti, ar sistemos kom-ponentų testavimui reikalingi automatiniai testai. Jei yra galimybė įvertinti automatinių testų poreikį, iš jų gaunamą naudą bei jų atsipirkimo lygį, projektų vadovams sudaro-mos sąlygos efektyviau paskirstyti resursus bei sumažinti projekto kaštus. Pagrindinė pasirinkimo problema tarp rankinio ir automatinio testavimo – jie negali vienas kito visiškai pakeisti. Literatūroje minimi įvairūs automatinių ir

rankinių testų privalumai ir trūkumai, bet konkrečiu atveju išlieka pasirinkimo pagrįstumo problema.

Aspire systems kompanija yra sukūrusi automatinių testų investicijų grąžos skaičiuoklę [1]. Jos esmė – paro-dyti, kiek pinigų ir laiko kiekvienais metais padeda sutau-pyti automatiniai testai [2]. Straipsnyje [3] pristatoma automatinių testų investicijų grąžos skaičiuoklė, bet šio straipsnio autoriai nesprendžia testavimo pasirinkimo pro-blemos. Sistemoms testuoti reikalingas kombinuotas testa-vimas, tai reiškia, kad nepakanka vien žinoti, kiek ir kuriais metais galima sutaupyti pinigų ir laiko visam vykdomam projektui. Reikia ir aiškiai žinoti, koks testavimo tipas bus taikomas tam tikram sistemos komponentui. Atlikus esamų sprendimų analizę, buvo nuspręsta pasiūlyti metodą, kuris padėtų įvertinti, kiek verta automatizuoti testavimą arba kuris testavimas (rankinis ar automatinis) yra naudingesnis konkrečiose situacijoje. Kartu įvertinama ne vien investi-cijų grąža, bet ir grynoji dabartinė vertė, testavimo aprėptis, efektyvumas, tikslumas ir kiti parametrai.

Straipsnyje pristatomas metodas skirtas palengvinti ir pagrįsti testavimo metodo pasirinkimą. Metodas paremtas dirbtinio intelekto metodų taikymu. Remiantis dirbtinio intelekto metodų analizės rezultatais, buvo nuspręsta nau-doti dirbtinius neuroninius tinklus (DNT). Siūlomas meto-das padės nuspręsti, ar reikalingi automatiniai testai. Norint naudotis metodu, reikia pateikti įėjimo duomenis, kurie apdorojami dirbtiniu neuroniniu tinklu. Atlikus mokymus bei paskaičiavus išėjimo parametrus, gaunamos rekomen-dacijos, kurį testavimo tipą (automatinį ar rankinį) pasi-rinkti. Įvertinus gautas rekomendacijas galima priimti tiks-lesnius sprendimus, nes pasiremiama ne tik testavimo tipo privalumais, trūkumais ar investicijų grąža, bet ir kuriamo metodo gaunamais rezultatais. Kuriant testavimo metodą siekiama išlaikyti tikslumą, kad šio metodo taikymas testa-vimo procese galėtų garantuoti testavimo efektyvumą.

Antra straipsnio dalis skirta problemai pristatyti ir susijusiems darbams apžvelgti. Trečioje straipsnio dalyje aptariami testavimo tipų privalumai ir trūkumai. Ketvirtoje dalyje pateikiama dirbtinio intelekto metodų bei jų tai-kymo testavimo procesuose apžvalga. Penkta straipsnio dalis skirta siūlomo testavimo tipo pasirinkimo metodui

Dirbtiniais neuroniniais tinklais paremtas testavimo tipo pasirinkimo metodas

Kristina SmilgytėInformacijos sistemų katedra

Kauno technologijos universitetasKaunas, Lietuva

El. paštas: [email protected]

Jovita NenortaitėInformacijos sistemų katedra

Kauno technologijos universitetasKaunas, Lietuva

El. paštas: [email protected]

Page 112: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

112

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

pristatyti. Straipsnio išvados bei numatomi darbai pateikti paskutinėje straipsnio dalyje.

II. SUSIJUSIŲ DARBŲ APŽVALGA

Įvairių programų testavimas turi didelę įtaką galutinio produkto bendrai kokybei ir patikimumui. Kūrimo procese aptiktos įvairios klaidos kainuoja daug mažiau, nei paste-bėtos atidavus produktą vartotojui(-ams). Laiku ištaisytos klaidos reikalauja mažiau pastangų, nes priklausomai nuo klaidos tipo galima išvengti esminių sistemos pakeitimų. Įdiegus sistemą vartotojui ir tik tada aptikus klaidą, reikia ne tik ją ištaisyti, bet ir dar kartą atnaujinti ar įdiegti sis-temą. Produkcinėje sistemų versijoje likusios klaidos gali atnešti didelių nuostolių tiek sistemos užsakovo įmonei, tiek sistemą kuriančiai įmonei. Gerinant produkto kokybę ir turint fiksuotus, ribotus išteklius, svarbu pasirinkti tin-kamą testavimo tipą (automatinį ar rankinį) konkrečiam atvejui. Ne visada reikia ir apsimoka automatizuoti tes-tavimą [4], todėl svarbu tinkamai įvertinti testavimo tipo pasirinkimą.

Vis dažniau kuriamos programinės įrangos testavimui – pasirenkami automatiniai testai. Rengiant automatinius testus, siekiama užtikrinti testavimo tikslumą (automati-niai testai aprėpia visus aprašytus scenarijus, išvengiama žmogiškųjų klaidų pamiršus pratestuoti vieną ar kitą scena-rijų), taip pat siekiama sutaupyti testavimui skiriamą laiką (automatiniai testai patikrina visus aprašytus scenarijus greičiau, nei tai padarytų testuotojas; automatinio testo vykdymo metu testuotojas gali atlikti kitus jam priskirtus darbus). Bet taip pat svarbu žinoti, kad parengti automati-nius testus – daug laiko reikalaujantis darbas. Todėl spren-džiant, ar tam tikro komponento testavimui bus kuriamas automatinis testas, būtina įvertinti laiko sąnaudas, kaštus ir automatinių testų teikiamą naudą. Pagrindinis asmuo, turintis planuoti atliekamus darbus, nustatyti darbų trukmę bei sekti, kaip vykdomi darbai, – projekto vadovas. Darbų planavimas, jų terminų nustatymas atliekamas konsultuo-jantis su tam tikros srities specialistais, kurie geriau išmano dalykinę sritį ir gali aiškiai nusakyti darbų sudėtį, jų trukmę ir panašius dalykus. Tokiu pačiu principu nustatoma ir tes-tavimo darbų trukmė. Bet visais atvejais projekto vadovas turi pateikti galutinį sprendimą dėl vienų ar kitų darbų atli-kimo, įvertinęs projekto apimtį, kaštus ir laiką. Testavimo etape, siekdami tinkamai koordinuoti viso projekto vyk-dymą, projektų vadovai turi atitinkamai įvertinti testavimo tipo pasirinkimą. Pagrindinė problema – ne visada projektų vadovai turi užtektinai žinių, leidžiančių teisingai pasirinkti testavimo tipą. Net jei žinių ir pakanka, testavimo tipo pasi-rinkimas nėra vienareikšmis ir turi būti įvertinta daug fak-torių, norint nutarti, kad geriau naudoti rankinį ar automa-tinį testavimą, ar jų derinius konkrečiu atveju.

Vienas pagalbininkų projektų vadovams gali būti minėta automatinių testų investicijų grąžos skaičiuoklė. Suvedus reikalingus duomenis [1], gaunama ataskaita, kurioje patei-kiama, kiek konkrečiais projekto vykdymo metais laiko ir pinigų reikalauja automatinis ir rankinis testavimas. Apibendrinant šį palyginimą pateikiama, kiek konkrečiai

sutaupoma naudojant automatinius testus [2]. Kompanija, sukūrusi skaičiuoklę, ją vadina praktiniu gidu, padedančiu geriau suvokti investicijų grąžą pasirinkus automatinius testus. Sprendžiant, ar naudoti šį testavimo tipą, svarbu žinoti, kiek laiko ir pinigų galima tikėtis sutaupyti [3].

Neretai automatinių testų pasirinkimas priklauso nuo testuotojų mastymo ir kompetencijos, nes kiekvienas jų turi nusistovėjusį kriterijų, klausimų sąrašą, pagal kuriuos pasirenka, ar reikia automatinių testų. Vienas populiariau-sių klausimų: kaip dažnai bus naudojamas kuriamas testas. Nagrinėjant reikia išskirti du atvejus: kai testas yra tin-kamas be pakeitimų ir kai reikia atnaujinti nedidelę dalį. Geriausias – pirmas atvejis, nes jis nereikalauja jokių papil-domų pastangų ir palaikymo. Antru atveju reikia įvertinti naudą, ar atnaujinto testo naudojimas atsvers pastangas jam atnaujinti. Kitas populiarus klausimas: ar testuotinas atvejis yra varginantis ir turi polinkį į klaidas. Testuojant reikalingas atidumas ir svarbu nesutrikti, pavyzdžiui, reikia patikrinti, ar sistema, atidarius 1 000 vartotojo dokumentų, nenulūžta. Panašiems testams atlikti efektyvesnis yra auto-matinis būdas, nes 1 000 dokumentų sistema atidarys ir greitai, ir tiksliai. Svarbu per daug nesusižavėti automatinių testų teikiama nauda neįvertinus sukūrimo pastangų. Jeigu 1 000 dokumentų atidarymo testas įvykdomas per 1 minutę, o jam sukurti užtrunkame 30 minučių, automatinį testą rei-kia vykdyti bent 30 kartų, kad atsipirktų automatizavimo pastangos [5]. Vyrauja dvi populiarios nuomonės žinant, kad testas bus vykdomas ne vieną kartą. Pirmoji: reikia automatizuoti, jeigu testas naudojamas daugiau nei vieną kartą. Sėkmės atveju didės grįžtamoji nauda, nesėkmės – teks nuolat atlikti atnaujinimus arba testas nespės atsipirkti ir bus nebenaudojamas. Antroji: reikia automatizuoti tik tada, kai daug kartų rankiniu būdu naudojamas testas tampa stabilus ir nusistovėjęs. Sėkmės atveju nereikės atnaujinti ir jis bus reikalingas, nesėkmės – nespės atsipirkti. Kuriant automatinius testus svarbu įvertinti, kada automatinis testas gali aptikti klaidą, kiek reikės įdėti pastangų norint ją išna-grinėti. Pavyzdžiui, turime automatinį testą, kuris trunka 30 minučių, jį vykdant klaida aptinkama 29-ą minutę. Kiekvieną kartą, norint patikrinti, ar klaida ištaisyta, reikia ilgai laukti. Jeigu nusprendžiama kurti automatinius testus, jie turi būti specifiniai ir kompaktiški.

Analizuojant automatinių testų poreikį pagal klausimus įvertinami testavimo tipų (automatinis, rankinis) privalu-mai ir trūkumai. Atliktas testavimo tipų įvertinimas padeda tiksliau pasirinkti turint konkrečius atsakymus į klausimus. Vienas iš automatinių testų privalumų anksčiau minėtame 1 000 dokumentų atidarymo pavyzdyje – išlaikomas tikslu-mas, testuotojas kartais gali pamesti skaičių, kai testas vyk-domas daug kartų. Plačiau apie privalumus ir trūkumus – testavimo tipų palyginimo skyriuje.

III. TESTAVIMO TIPŲ PALYGINIMAS

Rankinis testavimas – tai testavimo būdas, kai rei-kalingas testuotojas testo duomenims įvesti, analizuoti, įvertinti [6]. Testuotojas sukuria visus testavimo atve-jus ir juos įvykdo testuojamai programai rankiniu būdu

Page 113: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

113

KRISTINA SMILGYTĖ, JOVITA NENORTAITĖ · DIRBTINIAIS NEURONINIAIS TINKLAIS PAREMTAS TESTAVIMO TIPO PASIRINKIMO METODAS

(neautomatiškai). Žingsnis po žingsnio nustatoma, ar tam tikras žingsnis buvo įvykdytas sėkmingai ar klaidingai. Automatinis testavimas – tai testavimo būdas, kai nau-dojamos programos bei įrankiai, skirti kitų programų ar modulių darbui patik rinti. Automatinis testavimas nau-doja programas testavimo atvejams įvykdyti, rezultatams palyginti ir surastoms klaidoms registruoti nesikišant tes-tuotojui. Testuoti sistemą pagal automatizuotų įrankių sce-narijus ypač sudėtinga pradedantiesiems testuotojams, nes testuotojas turi turėti geras programavimo žinias ir sugebėti parašyti gerą scenarijų bet kokiam testavimo atvejui [7]. Siekiant tinkamai nuspręsti, kada kokį metodą geriau rink-tis, galima pasinaudoti jų privalumų ir trūkumų palyginimu [7], kuris pateiktas 1 lentelėje.

1 LENTELĖ. TESTAVIMO TIPŲ PALYGINIMAS

Kriterijus Rankinis AutomatinisKaina (+) Pigesnis (–) BrangesnisLaikas (–) Vykdomi lėčiau (+) Vykdomi greičiau

— (–) Testų kodo parengi-mas lėtas

Reikalavimų pasi-keitimai

(+) Nesudėtingai įgyvendinami

(–) Reikalingas testų kodo pakeitimas

Testavimo aprėptis (+) Platesnė (–) Fiksuota Teksto skaitymas (+) Skaito (–) Neskaito, nesuvokia

prasmiųSpalvų skyrimas (–) Priklauso nuo jų

kombinacijų(+) Gerai skiria

Atgalinis testa-vimas

(–) Sudėtingas, lai-ko reikalaujantis

(+) Puikiai tinka

Išmokstamumas (+) Nesudėtingas (–) Sudėtingas, ypač pradedantiem

Klaidų aptikimas žvalgantis, Ad-hoc

(+) Daugiau klaidų randama

(–) Mažiau

1 lentelėje pateikti privalumai ir trūkumai yra bendro pobūdžio, todėl konkrečiam projektui reikia detalesnės informacijos, norint pasirinkti testavimo tipą. Pavyzdžiui, vertinant pagal testavimo aprėptį, jeigu reikia ištestuoti platesnę sritį, geriau rinktis rankinį testavimą. Jeigu svarbu tiksliai peržiūrėti tą pačią sritį, ar giliau išanalizuoti siau-resnę sritį, geriau rinktis automatinį. Automatiniai testai turi didelį pranašumą, palyginti su rankiniais, ypač jei tes-tai nuolat naudojami pakartotinai daug kartų, jų priežiūra, palaikymas nereikalauja didelių pastangų. Praktikoje auto-matinis testavimas negali visiškai pakeisti rankinio, todėl pasirinkimo problema lieka aktuali.

IV. DIRBTINIO INTELEKTO METODŲ TAIKYMAS TESTAVIMO PROCESUI

Plačiai naudojami dirbtinio intelekto metodai neaplen-kia ir testavimo srities. Straipsnyje nagrinėjami keturi dirb-tinio intelekto metodai, išskiriami į dvi grupes: pateiktas dirbtinių neuroninių ir miglotos informacijos tinklų paly-ginimas ir pristatomi nagrinėti genetinių algoritmų ir spie-čiaus intelekto optimizavimo algoritmai, jų palyginimas.

Populiariausi dirbtinio intelekto metodai, naudojami testavimui, – dirbtiniai neuroniniai (DNT, angl. Artificial neural networks) ir miglotos informacijos tinklai (MIT, angl. Information Fuzzy Network). DNT idėja kilo iš neu-robiologijos. Neuroniniai tinklai sudaryti iš tarpusavyje susijungusių neuronų, suskirstytų į sluoksnius. Į kiekvieną tinklo neuroną įterpiama perdavimo funkcija. Kiekvieno sluoksnio neuronai sujungti su gretimų sluoksnių neuro-nais. To paties sluoksnio neuronai dažniausiai nėra sujungti. Tokia neuronų ir jungčių visuma vadinama dirbtiniu neu-roniniu tinklu. Neuroniniai tinklai turi įėjimo, išėjimo ir tarpinius sluoksnius [8]. MIT – metodas, sukurtas žinioms atskleisti ir duomenims gauti. Metodą sukūrė M. Lastas kartu su O. Maimonu ir A. Kandelu [9]. Jie taikomi ren-kantis ir įvertinant testavimo atvejus, automatizuotam ora-kului gauti. Remiantis DNT ir MIT metodų lyginamuoju tyrimu sudarant automatinį orakulą [10], abu būdai yra efektyvūs, kai klaidingų atvejų procentas yra ganėtinai didelis. Dirbtinis neuroninis tinklas – geresnis nuolat verti-namų išėjimų klasifikatorius. Ypač, kai mokomų įrašų yra mažai. Pagrindinis miglotos informacijos tinklo pranašu-mas prieš dirbtinį neuroninį tinklą – jis yra daug greites-nis. O dėl savo struktūros abu tinklai tinka intelektualiam testavimui vykdyti.

Vieni populiariausių optimizavimo algoritmų, priklau-sančių dirbtinio intelekto metodams, – genetiniai algoritmai ir spiečiaus intelektas, kurio populiariausi optimizavimo algoritmai – skruzdžių kolonijos ir dalelių spiečius [11].

Genetinių algoritmų (GA, angl. Genetic Algorithms) pradininku laikomas J. Hollandas [12]. 1975 m. jis pasiūlė matematinį optimizavimo metodą, paremtą natū-raliais gamtoje vykstančiais procesais: natūraliąja individų atranka, kryžminimu ir mutacija. GA – vienas populiariau-sių metaeuristinių algoritmų – stochastinis optimizavimo metodas, nes vienas iš procesų yra atsitiktinė, bet į kon-kretų tikslą nukreipta individų atranka. Pasinaudojus evo-liucijos mechanizmais, galima sukurti programas, kurios sprendžia problemas net tada, kai nėra visiškai aiškus sprendimo būdas [12]. Genetiniai algoritmai dažniausiai naudojami intelektualiai paieškai, optimizavimui ir kom-piuterių apmokymui. GA dažnai naudojamas su įvairiais dirbtinio intelekto metodais. Šiuo metu GA naudojami kartu su neuroniniais tinklais ir miglota logika sudėtin-goms problemoms spręsti. Dėl jungtinio jų panaudojimo daugeliui problemų spręsti neuroniniai tinklai ir miglota logika vadinama soft-computing [8].

Spiečiaus intelektas (SI, angl. Swarm Intelligence) api-būdina decentralizuotų, save organizuojančių, natūralių ar dirbtinių sistemų kolektyvinį elgesį. Vienas spiečiaus inte-lekto privalumų – jis gali pasiūlyti sprendimus įvairioms problemų rūšims spręsti. Sistemos yra labai tvirtos ir lanks-čios, atsparios aplinkos pasikeitimams. Vientisos sistemos elgesys viršija vieno individo turimus elgesio gebėjimus [13].

Skruzdžių kolonijos optimizavimo algoritmą (SKO, angl. Ant Colony Optimization) 1992 m. pasiūlė M. Dorigo. Skruzdžių kolonijos elgesys – vienas populiariau-sių spiečiaus elgesio modelių. SKO algoritmo pagrindinė

Page 114: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

114

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

spiečiaus optimizavimo algoritmas – chaotiškoms, greitai besikeičiančioms aplinkoms. Kuriamo metodo tikslas – pasiūlyti, prognozuoti, numatyti automatinių testų reikalin-gumą, todėl neuroniniai tinklai yra priimtinesni už miglotos informacijos tinklus ir optimizavimo algoritmus.

V. SIŪLOMAS SPRENDIMAS

Reikalingas metodas (modelis), kuris būtų skirtas testavimo metodui parinkti ir nurodytų, kokį testavimo metodą naudoti tam tikro testavimo atveju. Renkantis tes-tavimo metodą reikia įvertinti šiuos esminius kriterijus: testavimo efektyvumą ir tikslumą. Atlikus tyrimo objektų, vartotojų, esamų spendimų analizę pastebėta, kad daž-niausiai testavimo tipai pasirenkami pagal privalumus, trūkumus ar testuotojo, vadovo intuiciją. Daugelis testa-vimo atvejų papildo ar iš dalies aprėpia vienas kitą, todėl projektų vadovui gali būti sudėtinga nuspręsti, kurį testa-vimo metodą (automatinį ar rankinį) geriau naudoti, nes smulkesnius testavimo metodus pasirenka patys testuoto-jai. Testuotojų komanda gali tik patarti projektų vadovui, ar apsimoka kurti, ar pirkti konkretų automatizuotą tes-tavimo įrankį, ar užtenka rankinio testavimo – juk vado-vas atsakingas už projektą. Jis žino, kiek galima išleisti papildomų pinigų ir skirti papildomų resursų testavimui, įvertina ir kitus vykdomo projekto etapus bei jiems atlikti reikalingas sąnaudas.

Siūlomas sprendimas galėtų padėti projektų vadovui lengviau pasirinkti ir atsakingiau įvertinti, kurį testavimo metodą (automatinį ar rankinį) geriau naudoti vienu ar kitu atveju. Šis sprendimas ypač aktualus, jeigu automatizuo-jančią priemonę reikia kurti, koreguoti ar pirkti. Jeigu orga-nizacija jau turi ją, papildomų rūpesčių nesudaro sėkmingai ją adaptuoti ir naudoti kaip papildomą priemonę klaidoms aptikti. Bet ir tokiu atveju reikia įvertinti testavimo metodo pasirinkimą, nes priemonės adaptavimas tam tikram testa-vimo atvejui taip pat gali pareikalauti papildomų kaštų bei resursų.

Kuriamas metodas remiasi dirbtinio intelekto pritai-kymu siekiant nustatyti, ar konkrečiu atveju geriau nau-doti automatinį, rankinį ar abu testavimo metodus. Tokiam metodui pirmiausiai reikia apmokyti sistemą, kad būtų galima gauti norimus rezultatus.

1 pav. pavaizduotas sistemos apmokymo procesas:1. parenkamas tam tikras skaičius kodo fragmentų ir

jiems sukuriami automatiniai testai;2. nustatomi testų įvertinimo kriterijai;3. įvertinami visi turimi testai ir kaupiami gauti duo-

menys sistemos apmokymui;4. atliekamas metodo (sistemos) apmokymas.Sistemos apmokymui pasirinkta naudoti dirbtinį neu-

roninį tinklą. Testavimo metodui apmokyti DNT pasirink-tas remiantis analizės gautomis išvadomis [10], nes jis yra geresnis klasifikatorius nuolat vertinant išėjimus nei MIT. Ypač, kai mokomų įrašų yra mažai.

idėja kilo stebint skruzdžių maisto atsargų paieškas [11]. Pavienės skruzdėlės elgiasi atsitiktinai ir be pastebimo tikslo, bet atsiradus kolektyvinei sąveikai tarp skruzdžių, galima stebėti jų spiečiaus intelektą ir elgesį, kuris gali išspręsti daug problemų. Skruzdžių spiečius geba nusta-tyti trumpiausią kelią iki maisto šaltinio, pamaitinti visą koloniją, pastatyti didelę struktūrą ir prisitaikyti prie įvairių situacijų. Tinka spręsti įvairias problemas, kurias galima pavaizduoti grafu.

Dalelių spiečiaus optimizavimo algoritmą (DSO, angl. Particle Swarm Optimization) 1995 m. pasiūlė R. Eberhartas ir J. Kennedy [14]. Algoritmas sukurtas remiantis paukščių bandos elgesio stebėjimais [15], pana-šus į GA. Sistema sužadinama su atsitiktinių sprendimų populiacija ir ieškoma optimalumo kartoms atnaujinti. Bet priešingai nei GA, DSO nenaudoja kryžminimo ir muta-cijų. DSO algoritme potencialūs sprendimai skrieja per probleminę erdvę sekant palankiausias sąlygas. Kiekvienas atskiras sprendimas paieškos erdvėje yra tarsi paukštis, pavadintas dalele. Visos dalelės turi tinkamumo reikšmes, kurios, siekiant optimizuoti, nustatomos tinkamumo funk-cija. Dalelės taip pat turi kryptį ir greitį, kuris nukreipia jų skriejimą. Dalelės skrieja per probleminę erdvę sekdamos dabartinę optimalią dalelę, vadinamą gidu [11]. Mokymo metu neeliminuojami prasčiausiai pasirodę individai, todėl DSO dažniau naudojamas dirbant su sparčiai, kritiškai kin-tančiomis aplinkomis, nes yra svarbu adekvačiai sureaguoti į skirtingas situacijas, kurios dažnai gali būti visiškai prie-šingos esamai situacijai.

Tiek GA, tiek SI yra optimizavimo algoritmai. GA ir DSO yra panašios struktūros, naudoja tinkamumo, tikslo funkcijas. Dalelė DSO algoritme panaši į chromosomą, kuri yra GA populiacijos narys. Tiek chromosoma, tiek dalelė atstovauja galimiems problemos sprendimams [16]. DSO neturi kryžminimų ir mutacijų, nes remiasi paukščių bandos elgesiu. Tačiau DSO algoritme dalelės atnaujina save vidiniu greičiu, jos taip pat turi atmintį, kuri yra svarbi algoritmui [17]. GA remiasi natūralia individų atranka, kai neprisitaikę individai miršta, – DSO algoritme to nėra. Dėl šios priežasties GA yra greitesnis, bet dirbant su pokyčiams jautria ir nuolat besikeičiančia sistema geriau tinka DSO [18]. Šiuo atveju GA trūkumas dirbant su tokiomis siste-momis – kritiškai pasikeitus situacijai, galima prarasti rei-kalingus duomenis.

Kiekvieno metodo savybėms, naudojimo paskirčiai, kuriamo metodo sprendžiamai problemai įvertinti siūlo-mame metode pasirinkta naudoti dirbtinius neuroninius tinklus, nes jie paprastai naudojami klasifikavimo, pro-gnozavimo uždaviniams spręsti. Sistemai apmokyti reikia mažiau mokomųjų įrašų nei MIT, mokomųjų įrašų skai-čius yra svarbesnis už veikimo laiką, nagrinėjamo testa-vimo tipo parinkimo aplinka nėra greitai, chaotiškai besi-keičianti. Miglotos informacijos tinklai pagal struktūrą labiau tinka sprendimų medžio uždavinių tipui, genetiniai algoritmai – paieškai, kompiuterių apmokymams, opti-mizavimui, skruzdžių kolonijos optimizavimo algoritmas – uždaviniams, kuriuos galima pavaizduoti grafu, dalelių

Page 115: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

115

KRISTINA SMILGYTĖ, JOVITA NENORTAITĖ · DIRBTINIAIS NEURONINIAIS TINKLAIS PAREMTAS TESTAVIMO TIPO PASIRINKIMO METODAS

1 PAV. SISTEMOS APMOKYMAS

Apmokius metodą, galima gauti įvertinimą, svarbų pro-blemai išspręsti, kurį testavimo metodą (automatinį ar ran-kinį) geriau naudoti. Kuriamo metodo principinė schema pateikta 2 pav.: apmokytai sistemai pateikus naują kodo fragmentą, atitinkamai pagal kodo parametrus sistema rekomenduoja, ar reikia kurti automatinį testą, ar ne. Taip gaunamas automatizavimo lygis sistemai testuoti.

2 PAV. KURIAMO METODO PRINCIPINĖ SCHEMA

Numatoma siūlomo metodo efektyvumą įvertinti ne tik pagal investicijų grąžą, bet ir pagal grynąją dabartinę vertę, testavimo aprėptį, defektų tankį, automatinių testų metu pateiktą klaidingų klaidų skaičių, defektų skaičių.

Detalizuojamos naudojamos metrikos: • DT (angl. Defect Density) – defektų tankis. Defektų

kiekio matu laikomas per tam tikrą laikotarpį surastų defektų kiekis, pavyzdžiui, surastų defektų skaičius nuo modulio sukūrimo iki esamos datos. DT naudojamas defektų tankiams skirtinguose programinės įrangos komponentuose palyginti. Tai padeda identifikuoti kandidatus detalesnei per-žiūrai, testavimui, struktūros pertvarkymui (angl. re-engineering) ar pakeitimui. Kuo defektų tan-

kis mažesnis, tuo geresnė kokybė. DT S

N D= , čia

ND – žinomų defektų kiekis, S – dydis, paprastai matuojamas KLOC (angl. Kilo Lines Of Code) tūkstančiais kodo eilučių, bet gali būti naudojami ir funkciniai taškai.

• Klaidingų klaidų skaičius, pateiktas automatinių testų metu. Tai klaidos, kurios iš tikro nėra klaidos. Toks įvertinimas gali padėti nustatyti, ar automati-niai testai linkę labiau padėti ar klaidinti.

• TA (angl. Coverage extension) – testavimo apim-ties padidinimas. Rankiniu testavimu surastos klai-dos lyginamos su papildomomis klaidomis, kurias padėjo aptikti automatiniai testai (rankiniu testa-vimu jos buvo praleistos, neaptiktos). Šis įvertini-mas naudingas tuo, kad galima palyginti automati-nių testų pridėtinę vertę klaidoms aptikti.

• FLI (angl. Achieving Budget) – testavimui skirtų finansinių lėšų išnaudojimas. Ši metrika padeda įvertinti testavimui skirtų lėšų išnaudojimą. Naudojant FLI, galima sužinoti, kuris testas – ran-kinis ar automatinis – sunaudoja mažiau pinigų ir

neviršija nustatyto limito. B

A

CCFLI = , čia C

A – reali

kaina, išnaudota testavimui, CB – testavimui numa-

tytas biudžetas.• Laikas, skirtas analizuoti automatinių testų pateik-

toms klaidoms. Rankiniais testais aptiktos klai-dos nereikalauja papildomos analizės, nes iškart žinoma, ką vykdant ir kokia klaida buvo aptikta.

Lyginant testavimo metodus, reikia remtis keliais verti-nimo kriterijais – taip galima gauti tikslesnį atsakymą, kiek verta automatizuoti testavimą arba kuris testavimas (ranki-nis ar automatinis) yra naudingesnis konkrečiai situacijai.

VI. IŠVADOS

1. Atlikta testavimo metodų analizė parodė, kad egzis-tuoja testavimo tipo pasirinkimo problema tarp automatinių ir rankinių testų. Įvertinus, kad reikia prognozuoti ir siū-lyti, koks testavimo tipas geresnis konkrečiu atveju, buvo nuspręsta metodui apmokyti naudoti dirbtinius neuroninius tinklus. Kuriamas metodas skirtas projektų vadovams,

Page 116: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

116

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

testuotojams. Svarbiausia, kad metodas padėtų lengviau pasirinkti ir atsakingiau įvertinti, kuris testavimo metodas (automatinis ar rankinis) naudingesnis vienu ar kitu atveju. Kad metodas būtų tikslesnis, numatoma jo efektyvumą įvertinti ne tik pagal investicijų grąžą, bet ir testavimo aprėptį, defektų tankį, klaidų skaičių, pateiktą automati-niais testais.

Ateityje planuojama nustatyti pasiūlyto metodo naudo-tinus parametrus (neuroninių tinklų įėjimų skaičių, parinkti struktūrą ir pan.). Veikimui demonstruoti numatoma sukurti pasiūlyto metodo prototipą. Sukūrus prototipą – atlikti eks-perimentus, kurie padėtų detaliau ištirti kuriamo metodo efektyvumą ir veikimą.

LITERATŪROS SĄRAŠAS

[1] Aspire Systems. “Test automation ROI calculator”. [Žiūrėta: 2010-02-10]. Prieiga per internetą: http://www.aspiresys.com/testautomationroi/.

[2] Aspire Systems. “Test automation ROI report sample”. [Žiūrėta: 2010-02-10]. Prieiga per internetą: http://www.aspiresys.com/testautomationroi/TA_ROI_Report.pdf.

[3] A. Narayanan, Aspire Systems. “Test automation ROI calcula-tor”. [Žiūrėta: 2010-02-10]. Prieiga per internetą: http://www.aspiresys.com/Register.php?des=WhitePapers/whitepaper_Test_Automation_ROI_Calculator.pdf.

[4] D. Henderson. “Making the decision to automate your software testing”. [Žiūrėta: 2010-01-14]. Prieiga per internetą: http://www.testingbrain.com/ARTICLES/102.html.

[5] D. Weiss. “When to Automate Testing?” [Žiūrėta: 2010-01-06]. Prieiga per internetą: http://davidweiss.blogspot.com/2006/08/when-to-automate-testing.html.

[6] Software Testing – Tutorials, QTP, Manual Testing Automa-tion Testing, Load Runner. “Tricky software testing terms”. [Žiūrėta: 2010-01-25]. Prieiga per internetą: http://www.onestopsoftwaretesting.com/2009/11/tricky-software-testing-terms.html.

[7] OTS Solutions. “Manual testing v/s automated testing”. [Žiūrėta: 2010-01-03]. Prieiga per internetą: http://www.otssolutions.com/doc/whitepapers/manual-testing-vs-automated-testing.pdf.

[8] ARTIFICIAL NEURAL NETWORKS. “A neural network tuto-rial”. [Žiūrėta: 2009-10-12]. Prieiga per internetą: http://www.learnartificialneuralnetworks.com/

[9] Info-Fuzzy Network (IFN). [Žiūrėta: 2009-11-09]. Prieiga per internetą: http://www.ise.bgu.ac.il/faculty/mlast/ifn.htm.

[10] D. Agarwal. “A comparative study of artificial neural networks and info fuzzy networks on their use in software testing”. 2004 m. vasara, [Žiūrėta: 2009-10-10]. Prieiga per internetą: http://etd.fcla.edu/SF/SFE0000445/FinalThesis_Deepam.pdf.

[11] S. M. Thampi. “Swarm intelligence”. [Žiūrėta: 2009-12-06]. Pri eiga per internetą: http://arxiv.org/ftp/arxiv/papers/0910/ 0910.4116.pdf.

[12] S. Dick, A. Kandel. “Computational intelligence in software quality assurance”. Series in Machine Perception and Artificial Intelligence, vol. 63. Singapore: World Scientific Publishing Company, 2005, 200 p.

[13] LIACS Natural Computing Group Leiden University. “Swarm intelligence”. [Žiūrėta: 2009-12-05]. Prieiga per internetą: http://natcomp.liacs.nl/NC/slides/si.pdf.

[14] Russ Eberhart’s Home Page. [Žiūrėta: 2009-12-06]. Prieiga per internetą: http://www.engr.iupui.edu/~eberhart/.

[15] The Tech FAQ. “What is swarm intelligence?” [Žiūrėta: 2009-12-04]. Prieiga per internetą: http://www.tech-faq.com/swarm-intelligence.shtml.

[16] E. V. Oneţ. “Particle swarm optimization and genetic algo-rithms”. [Žiūrėta: 2009-12-07]. Prieiga per internetą: http://elec-troinf.uoradea.ro/reviste%20CSCS/documente/JCSCS_2009/Articole_pdf_JCSCS_C_nr_2/JCSCS_2009_Nr_2_CS_Onet_Particle.pdf.

[17] Dr. K. O. Jones. “Comparison of genetic algorithm and particle swarm optimisation”. // International Conference on Computer Systems and Technologies – CompSysTech’2005. [Žiūrėta: 2009-12-07]. Prieiga per internetą: http://ecet.ecs.ru.acad.bg/cst05/Docs/cp/SIII/IIIA.1.pdf.

[18] J. Nenortaitė, R. Butleris. “Improving business rules manage-ment through the application of adaptive business intelligence technique”. Information Technology and Control, 2009, vol. 36, No. 1, p. 21–28.

Page 117: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

117

Santrauka. Imitacinis modeliavimas gali būti apibūdintas kaip analizės, prognozavimo ir sprendimų priėmimo būdas, išsamesnis nei tradiciniai modeliavimo būdai. Straipsnyje apžvelgtos veiklos modeliavimo ir produkcijos savikai-nos ypatybės, aprašytas trąšų savikainos modeliavimas ir pateiktas trąšų gamybos modelis. Remiantis sukurtu veiklos modeliu, atlikti trąšų savikainos skaičiavimai ir pateikti gauti rezultatai. Trąšų gamintojams svarbu kuo mažesnė savikaina, todėl aktualu modeliuoti ir ieškoti geriausio savi-kainos sprendimo.

Reikšminiai žodžiai: modeliavimas, produkcijos savikaina, trąšų gamyba, savikainos skaičiavimas, Powersim.

I. ĮVADAS

Modeliavimas turi užtikrinti savitarpio supratimą tarp organizacijos, jos klientų, galutinių vartotojų ir kūrėjų. Veiklos procesų modeliavimas išaiškina, kaip atvaizduoti įmonės veiklą apibrėžiant procesus ir jų sąsajas. Tiksliai sumodeliavus veiklą, galima tiksliai pasakyti numanomus rezultatus. Ir tuomet parenkamas geriausias sprendimas, t. y. atliekamas sistemos optimizavimas.

Priimant sprendimus, didelį vaidmenį vaidina modelia-vimas. Norint sėkmingai valdyti sistemą, būtina numatyti jos elgesį ateityje. Tai galima padaryti išanalizavus domi-nančias modelio savybes.

Veiklos procesų problemos gali būti sprendžiamos pasitelkus tam tikrus veiklos imitacinius modelius: S. Nor-vaiša ir jo vadovaujama grupė realizavo Lietuvos imitacinį modelį [1], kuris prognozuoja šalies vystymosi scenarijus; siekiant pagerinti hidrologinį studentų ir kitų suaugusiųjų raštingumą, Arizonos universitete buvo sukurtas vandens išteklių ugdymo modelis [2]. Yra daugybė kitų procesų modeliavimo pritaikymo pavyzdžių. Tačiau šiame darbe aprašomas būtent gamybinės įmonės produkcijos savikai-nos modeliavimo tyrimas.

Darbo tikslas – sudaryti trąšų gamybos modelį, kuris leistų atlikti trąšų savikainos skaičiavimus, skirtus savi-kainos dydžio kitimui nustatyti. Siekiant užsibrėžto tikslo, keliami šie darbo uždaviniai:

• apžvelgti veiklos modeliavimo ir produkcijos savi-kainos ypatybes;

• atlikti veiklos procesų modeliavimo programinės įrangos analizę;

• sudaryti gamybinės įmonės veiklos modelį;• taikant skirtingus žaliavų ir kainų variantus nusta-

tyti produkcijos savikainos reikšmes.Šis darbas susideda iš keturių dalių. Antra dalis atsklei-

džia veiklos modeliavimo ypatybes, jo naudą ir produkci-jos savikainos reikšmę. Trečioje darbo dalyje aprašyta dia-monio fosfato trąšų gamyba, pateiktas pagrindinis modelis, kuriuo remiantis buvo atlikti trąšų savikainos skaičiavimai. Išvados – ketvirtoje darbo dalyje.

II. VEIKLOS MODELIAVIMAS IR PRODUKCIJOS SAVIKAINA

Turint nagrinėjamos situacijos modelį, galima išbandyti įvairias strategijas, teikti pasiūlymus ir juos pagrįsti, leng-vai ieškoti kompromisinių sprendimų, efektyviai priimti galutinius sprendimus. Turint modelį, galima rasti geriau-sią strategiją.

Veiklos modeliavimas naudingas ir reikšmingas įmonės veiklos vystymuisi. Imitacinis modeliavimas suteikia gali-mybę analizuoti veiklos rezultatus ir kartu išmėginti įvai-rius veiklos variantus. Taip apžvelgiamos kelios galimos veiklos situacijos ir pasirenkama geriausia bei tinkamiausia realiai pritaikyti.

Modeliavimas – realaus pasaulio pažinimo metodas, kai originalus objektas pakeičiamas modeliu ir užuot tyrus realų objektą, tiriamos modelio savybės. Bendru atveju bet koks modeliavimas (situacijos, sistemos, proceso, projekto) prasi-deda nuo vienareikšmiškos problemos formulavimo [3].

S. Ruth Aguilar-SavéN (2004) [4] teigia, kad verslo procesų modeliavimas įgalina elementarų jų supratimą ir analizę. Norint tinkamai sumodeliuoti, svarbiausia yra verslo procesai.

Pasak I. Patašienės (2008) [5], imitacinis modeliavi-mas – tai sistemos veiklos imitavimas siekiant prognozuoti sistemos elgseną. Imitacinis modeliavimas leidžia aprėpti

Gamybinės įmonės produkcijos savikainos modeliavimas

Justina StankutėVilniaus universitetas

Kauno humanitarinis fakultetasKaunas, Lietuva

El. paštas: [email protected]

Page 118: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

118

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

atsitiktinę daugelio reiškinių prigimtį, jų neapibrėžtumą ir analizuoti realaus pasaulio sudėtingą tarpusavio veiksnių sąveiką. Imitacinis modeliavimas apibūdinamas kaip ana-lizės, prognozavimo ir sprendimų priėmimo būdas, kuris, palyginti su tradiciniais ir analitiniais modeliavimo būdais, yra išsamesnis, leidžiantis nuodugniau įvertinti modeliuo-jamą sistemą ir išorinius veiksnius.

Galutinis modeliavimo tikslas – sprendimo priėmimas, išanalizavus eksperimento rezultatus.

Norint padidinti įmonės pelną, galima bandyti mažinti produkcijos savikainą. Pasak J. Mackevičiaus (2003) [6], sumažinti produkcijos savikainą galima mechanizuojant ir automatizuojant gamybą, tobulinant technologinius pro-cesus, gerinant darbo organizavimą, tobulinant įmonių organizacinę struktūrą, racionaliai naudojant materialinius, darbo ir finansinius išteklius ir pan.

Produkcijos savikaina – vienas svarbiausių įmonės veik los efektyvumą apibūdinančių rodiklių. Tačiau atskirai paimtas jis negali visapusiškai apibūdinti gamybos efekty-vumo.

Produkcijos savikainos terminas imtas vartoti 1912 m. žinomo rusų autoriaus A. Rudanovskio darbuose. Buhalteri-nės apskaitos ir ūkinės veiklos analizės literatūroje produk-cijos savikaina dažniausiai buvo apibūdinama kaip įmonės ūkinės veiklos kokybinis rodiklis, parodantis įmonės išlai-das, susijusias su produkcijos gamyba ir pardavimu. Politi-nės ekonomijos darbuose produkcijos savikaina pirmiausia buvo traktuojama kaip atitinkama vertės dalis [6].

Skiriamos šios produkcijos savikainos rūšys [6]:• cechinė – apima cecho išlaidas produkcijai paga-

minti;• gamybinė – apibūdina produkcijos gamybos išlai-

das įmonėje. Ją sudaro tiesioginės ir netiesioginės gamybos išlaidos;

• pilnoji – tai savikaina, į kurią įtraukiamos visos išlaidos produkcijai pagaminti, taip pat bendrosios ir administravimo išlaidos;

• komercinė – ją sudaro pilnoji savikaina pridėjus pardavimo išlaidas.

Kiekviena produkcijos savikaina gali būti apskaičiuo-jama prieš gamybos procesą ir po jo.

Kitame skyriuje aprašomas pasirinktos įmonės produk-cijos savikainos modeliavimas, pateikiama veiklos mode-liavimo programinės įrangos lyginamoji analizė, aptariami gauti rezultatai.

III. PRODUKCIJOS SAVIKAINOS MODELIAVIMAS

Analizuojant Lietuvos eksporto struktūrą [7], galima išskirti tris produkcijos grupes, kurios sudaro didžiausią visos eksportuojamos produkcijos eksporto dalį. Tai – mineraliniai produktai, mašinos ir mechaniniai bei elektros įrenginiai, ir chemijos pramonės produkcija. Chemijos pra-monės produkcija sudaro 9,2 % viso eksporto ir yra trečioje vietoje. Didžiausias eksporto pajamas iš chemijos pramo-nės produkcijos sudaro trąšų eksportas. Taigi, galima teigti,

kad trąšų paklausa užsienyje yra didelė ir jų rinka svarbi Lietuvos valstybei.

1 PAV. TRĄŠŲ EKSPORTAS

Šaltinis: sudaryta autorės pagal Lietuvos statistikos departamento pra-monės statistikos skyriaus duomenis.

Iš 1 pav. matyti, kad daugiausiai eksportuojama dia-monio fosfato (diamofoso). Šias trąšas Lietuvoje gamina AB „Lifosa“, didžiausia diamonio fosfato gamybos įmonė Rytų Europoje.

Taigi savikainai modeliuoti atlikti pasirinktos diamonio fosfato trąšos.

A. Tyrimo aplinkos analizėTrąšų pardavimų rezultatyvumą labiausiai lemia pir-

kėjų rinkai pasiūlyta palankiausia kaina, kuriai didžiausią įtaką daro žemės ūkio padėtis. Taip pat įtakos turi ir naftos kaina, su kuria kartu didėja žaliavų transportavimo išlaidos. Prastos gamtinės sąlygos gali sutrikdyti žaliavų tiekimą, o tai gali sumažinti gamybos pajėgumus. Taigi, trąšų kaina svyruoja. Todėl gamintojams svarbu nustatyti mažiausią savikainą.

Kadangi trąšų kaina yra kintanti, tikslinga išsiaiškinti trąšų savikainos variantus keičiant žaliavų normas. Atsi-žvelgiant į reglamentuotas žaliavų normų ribas ir esamas žaliavų kainas, galima rasti geriausią variantą, tenkinantį gamintoją, t. y. rasti mažiausią savikainą.

Tyrimo tikslas – sukurti imitacinį veiklos modelį ir juo remiantis atlikti eksperimentinius diamonio fosfato savi-kainos skaičiavimus bei pateikti svarų argumentą automa-tiniam savikainos optimizavimui.

Šiam tyrimui atlikti reikalinga modeliavimo progra-minė įranga, todėl buvo atlikta kelių modeliavimo įrankių analizė:

• Stella [8].• Powersim [9].• iThink [10].• Simprocess [11].Šių modeliavimo įrankių lyginimas pateiktas 1 lentelėje.

Page 119: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

119

JUSTINA STANKUTĖ · GAMYBINĖS ĮMONĖS PRODUKCIJOS SAVIKAINOS MODELIAVIMAS

Atlikus modeliavimo programinių paketų analizę, tyri-mui pasirinkta Powersim programa. Tokį sprendimą lėmė svarbiausia priežastis – optimizavimo funkcija, kadangi numatomas galutinis šio tyrimo tikslas – atlikti gamybinės įmonės produkcijos savikainos optimizavimą.

Toliau buvo gilinamasi į trąšų gamybą. Išsiaiškinta, kad bendrovės pagrindinė veikla – diamonio fosfato gamyba. Taip pat įmonė gamina ir kitus produktus:

• aliuminio fluoridą;• ekstrakcinę fosforo rūgštį;• techninę sieros rūgštį;• monokalcio fosfatą.Sieros ir fosforo rūgštys įeina į diamonio fosfato sudėtį.

Nors įmonėje daugiausiai pagaminama sieros rūgšties, par-davimams jos lieka ne tiek daug. Dauguma sunaudojama fosforo rūgšties gamybai, mažesnė dalis diamonio fosfato gamybai. Didžioji pasigamintos fosforo rūgšties dalis tenka diamonio fosfato gamybai. Be to, tai pagrindinė šių trąšų sudedamoji dalis. Į trąšų sudėtį taip pat įeina dujinis ir skystas amoniakas, dažai, tepalas ir melasa (cukraus gamy-bos atlieka). Dažų ir tepalo vienai trąšų tonai tenka labai nedaug, bet jų kainos yra didžiausios.

Išanalizavus diamonio fosfato gamybos procesus ir funkcijas, buvo sudarytas pagrindinės veiklos mode-lis (2 pav.). Pastarąjį sudaro apie 100 kintamųjų, kuriuos galima suskirstyti į talpos, srauto, konstantos ir tarpinio tipo kintamųjų grupes. Sudaryti ir du papildomi modeliai, sujungti su pagrindiniu. Tai sieros rūgšties ir fosforo rūgš-ties gamybos modeliai. Tiek sieros rūgšties, tiek fosforo rūgšties gamybos modelis apskaičiuoja reikalingą žaliavų kiekį diamonio fosfato gautiems užsakymams įvykdyti.

Pagrindinis modelis (2 pav.) apima savikainos, neįvyk-dytų užsakymų, turimų žaliavų ir jų trūkstamo kiekio bei žaliavų užsakymų skaičiavimus ir tam tikrų sąlygų vyk-dymą. Modelis aprėpia vienerių metų laikotarpį su vieno mėnesio modeliavimo žingsniu bei atspindi tris gamybos pajėgumus:

• kai veikia viena gamybos linija, pagaminama apie 7 000 tonų trąšų per savaitę;

• kai veikia dvi gamybos linijos, pagaminama apie 14 000 tonų trąšų per savaitę;

• kai veikia trys gamybos linijos, pagaminama apie 21 000 tonų trąšų per savaitę.

Per mėnesį pagaminama apie 38 000 tonų fosforo

1 LENTELĖ. MODELIAVIMO PROGRAMINIŲ PAKETŲ PALYGINIMAS

Palyginimo kriterijai

Modeliavimo programiniai paketai

Stella iThink Simprocess PowersimPaskirtis • Ši programa skirta studentams

mokyti. Ji padeda geriau suprasti mokomą dalyką (tiek ekonomiką, tiek biologiją), peršokti spragą tarp teorijos ir realaus pasaulio;• Įgalinti studentus kūrybiškai pakeisti sistemas;• Aiškiai bendrauti sistemos įėjimo ir išėjimo kintamiesiems bei parodyti rezultatus.

• Sumažinti riziką, susijusią su politikos ar proceso kaita;• Nustatyti pagrindinius atsvaros taškus verslo efektyvumui page-rinti;• Sukurti modelius, kurie imituo-ja savo verslą;• Sukurti „kas-jei“ scenarijus sprendimams priimti;• Plėtoti funkcinių grupių savi-tarpio supratimą.

• Skirta organizacijoms, kurios nori sumažinti ri-ziką, susijusią su procesų pakeitimų įgyvendinimu;• Šis įrankis leidžia var-totojams lengvai ir greitai analizuoti įvairius „kas-jei“ scenarijus ir naudojant Java arba XML techno-logijas užtikrina būtiną organizacinį lankstumą.

• Ši programinė įranga įgalina vartotoją sukurti sudėtingo verslo ir eko-nomikos modeliavimą su galingu gebėjimu valdyti keletą „kas-jei“ scenarijų, keičiant pagrindinius pa-rametrus ir kontroliuojant sąlygas.

Pagrindinės savybės

• Intuityvi piktograma pagrįsta grafine sąsaja;• Priežastinio ciklo diagramos;• Automatiškai generuojamos modelio lygtys;• Matematines, statistines ir logi-nes operacijas palengvina built-in funkcijos;• Jautrumo analizė parodo pa-grindinius atsvaros taškus ir opti-malias sąlygas;• Rezultatai pateikiami kaip grafikai, lentelės, animacija, QuickTime filmai ir failai.

• Intuityvi piktograma pagrįsta grafine sąsaja;• Priežastinio ciklo diagramos;• Automatiškai generuojamos modelio lygtys;• Matematines, statistines ir logi-nes operacijas palengvina built-in funkcijos;• Rezultatai pateikiami kaip grafikai, lentelės, animacija, QuickTime filmai ir failai.• Jautrumo analizė parodo pa-grindinius atsvaros taškus ir opti-malias sąlygas.

• Išteklių modeliavimas;• Žinių valdymas su pakartotinio naudojimo šablonais;• Veiklos naršyklė;• Paveikslėlių valdymas;• Įvairios vartotojo sąsa-jos galimybės;• Rezultatų ataskaitos.

• Funkcijų biblioteka apima finansų, matema-tines, statistines, grafikų kontrolės ir istorines funkcijas, kurios palen-gvina kompiuterinių skai-čiavimų vykdymą;• Optimizavimas;• Modeliavimo rezul-tatai pateikiami, kaip grafikai, matuokliai, slan-kiklių mygtukai ir skaičių formatai.

Techniniai reikalavimai Windows operacinei sistemai

• 233 MHz Pentium;• Microsoft Windows 2000/XP/Vista (English Version);• 128 MB RAM;• 90 MB kietojo disko laisvos vietos;• QuickTime.

• 233 MHz Pentium;• Microsoft Windows 2000/XP/Vista (angliška versija);• 128 MB RAM;• 90 MB kietojo disko laisvos vietos;• QuickTime.

• Microsoft Window 2000/XP/Vista ar serveris 2003;• Minimaliai 512 MB RAM;• Rekomenduojama 1024 MB RAM.

• Microsoft Windows 2000/XP/ ar vėlesni;• Minimaliai 256 MB RAM;• Minimaliai 50 MB kietojo disko laisvos vie-tos.

Šaltinis: sudaryta autorės

Page 120: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

120

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

Kaip matyti iš pateikto modelio (2 pav.), kai kurie kin-tamieji turi paryškintas įeinančias ir išeinančias rodykles. Tai reiškia, kad tų kintamųjų duomenys importuojami (įei-nanti rodyklė) iš atskiro failo arba eksportuojami (išeinanti

rūgšties, kurios gamybai per parą sunaudojama apie 3 200 tonų apatitų ir apie 2 520 tonų sieros rūgšties. Iš šių duo-menų buvo apskaičiuotas apytikris apatitų ir sieros rūgšties kiekis vienai tonai fosforo rūgšties pagaminti.

2 PAV. PAGRINDINIS MODELIS

Šaltinis: sudaryta autorės.

Page 121: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

121

JUSTINA STANKUTĖ · GAMYBINĖS ĮMONĖS PRODUKCIJOS SAVIKAINOS MODELIAVIMAS

rodyklė) į failą. Sukurtam modeliui reikiami duomenys importuojami iš dviejų failų: kiekiai.xls ir kainos.xls. O eksportuojami į failą kiekiai.xls.

Sukurtas pagrindinės veiklos modelis reikalauja patik-rinti jo veikimą, kad būtų pagrįstas praktinis pritaikomu-mas. Tam buvo atliktas eksperimentinis tyrimas pritaikius realius veiklos duomenis.

B. Savikainos skaičiavimasEksperimentinis tyrimas atliktas pakeitus diamonio fos-

fato žaliavų kiekius ir kainas. Parenkamos šios žaliavų kai-nos [12] (litais): amoniakas – 429,6 ir 624; fosforo rūgštis – 250 ir 1032; sieros rūgštis – 52,57 ir 72,4; melasa – 320 ir 400; dažai – 8 500 ir 9 000; tepalas – 2 600 ir 3 000.

Produktui dažyti naudojami dažai (tonos trąšų norma [13]: 2,8 – 3,1 kilogramo) ir melasa (tonos trąšų norma [13]: 4,8 – 5,2 kilogramo), todėl pradžiai sudaromi šių žaliavų normų galimi variantai, kurie neturi įtakos trąšų kokybei. Kadangi dažų kaina labai didelė, tikslinga jų kiekį sumažinti, o kartu – padidinti melasos kiekį. Nors dažų kiekis diamonio fosfato gamyboje nėra didelis, reikalinga patikrinti sudarytus variantus ir sužinoti, kaip tai veikia savikainą. Nustatytos žaliavų normos ir gauti savikainos rezultatai pateikti 2 lentelėje.

Reikia paminėti, kad į savikainą neįtrauktos kitos su gamyba susijusios sąnaudos:

• šilumos energija;• elektros energija;• dujos;• vanduo.Todėl gauti rezultatai nėra labai tikslūs. Apskaičiuota

savikaina nevisai atitinka trąšų gamybinę savikainą.

2 LENTELĖ. TYRIMO DUOMENYS

Žaliavų kiekiai (tonomis) 1 tonos savikaina

(Lt)Fosforo rūgštis

Amo-niakas

Sieros rūgštis Tepalas Melasa Dažai

0,461 0,22 0,05 0,0009 0,00492 0,00308 327,7266

0,461 0,22 0,05 0,0009 0,00495 0,00305 327,3949

0,461 0,22 0,05 0,0009 0,00496 0,00304 327,2844

0,461 0,22 0,05 0,0009 0,005 0,003 326,8421

0,461 0,22 0,05 0,0009 0,00502 0,00298 326,6210

0,461 0,22 0,05 0,0009 0,00508 0,00292 325,9577

0,461 0,22 0,05 0,0009 0,0051 0,0029 325,7366

0,461 0,22 0,05 0,0009 0,00512 0,00288 325,5155

0,461 0,22 0,05 0,0009 0,00514 0,00286 325,2944

0,461 0,22 0,05 0,0009 0,00516 0,00284 325,0733

0,461 0,22 0,05 0,0009 0,00518 0,00282 324,8521

Šaltinis: sudaryta autorės.

Padidinus melasos normą ir sumažinus dažų normą matyti, kad savikainos dydis pakito nuo 327,7266 iki 324,8521 (2 lentelė). Pokytis – apie 3 (2,8744). Kadangi diamonio fosfato pardavimai dideli, toks pokytis labai žymus ir reikšmingas įmonei. Taigi savikaina ištiesų kei-čiasi ir, kaip tikėtasi, mažėja.

Taip pat buvo nuspręsta sumažinti amoniako (tonos trąšų norma [13]: 219–221 kilogramas) ir padidinti sieros rūgšties (tonos trąšų norma [13]: 49–52 kilogramai) normą. Tokį pasirinkimą lėmė didesnė amoniako nei sieros rūgš-ties kaina. Kai amoniako norma yra 220,8 kilogramai, o sieros rūgšties – 49,2 kilogramai, savikainos reikšmė lygi 327,2498. Kai amoniako norma yra 219,7 kilogramai, o sieros rūgšties – 50,3 kilogramai, savikainos reikšmė lygi 326,6893. Susidaro 0,5605 pokytis. Gauti rezultatai rodo, kad savikaina taip pat kinta, nors ir ne taip žymiai.

Toliau didinant melasos normą ir mažinant dažų normą bei apdorojus gautus rezultatus, apskaičiuotas savikainos pokytis – 3,022. Iš sudarytų žaliavų kiekių variacijų mažiausia savikaina (874,1776) gaunama esant 5,18 kilogramo melasos normai ir 2,82 kilogramo dažų normai. Mažinant amoniako normą ir didinant sieros rūgšties normą, gautas toks pokytis – 0,8201. Mažiausia savikaina (876,0461) gaunama esant 219,7 kilogramo amoniako normai ir 50,3 kilogramo sieros rūgšties nor-mai. Gauti pokyčiai – pakankamas savikainos skirtumas ieškoti mažiausio varianto, nes įmonės pardavimai skai-čiuojami dešimtimis ar šimtais tūkstančių. Žaliavų kiekių keitimas pagal vienas, ar kitas kainas iš tiesų sąlygoja trąšų savikainos dydį.

Taigi numatoma toliau tęsti pradėtą tyrimą ir remian-tis sukurtu pagrindinės veiklos modeliu, optimizuoti trąšų savikainą, kad įmonė galėtų geriau planuoti diamonio fos-fato gamybą.

IV. IŠVADOS

1. Egzistuoja daugybė skirtingų modelių ir skirtingų sričių, kurioms jie kuriami. Modelių kūrimas plačiai papli-tęs ir pasiteisinantis darbas. Modelis atspindi esminius rea-lios sistemos bruožus ir jį galima sukurti bet kokiai realiai sistemai.

2. Buvo sukurtas gamybinės įmonės pagrindinės vei-klos imitacinis modelis, kuriuo nustatoma produkcijos savikaina, žaliavų likučiai, neįvykdyta gamyba.

3. Mažiausia savikaina (324,8521) gaunama esant 5,18 kilogramo melasos normai ir 2,82 kilogramo dažų normai. Didžiausias savikainos pokytis (3,022) gauna-mas didinant melasos normą ir mažinant dažų normą, kai žaliavų kainos yra didesnės.

4. Dėl pastebimų savikainos pokyčių būtina optimizuoti diamonio fosfato savikainą. Tai padėtų lengviau ir žymiai greičiau nustatyti mažiausią savikainą. Esant atitinka-moms žaliavų kainoms, optimizavimo funkcija parinktų tas žaliavų normas, kurios nulemtų tinkamiausią savikainą.

Page 122: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

122

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

LITERATŪRA

[1] S. Norvaišas. „Lietuvos imitacinis modelis. Struktūra ir analizė“ [interaktyvus]. Vilnius, 2004. Prieiga per internetą: <http://poli-tika.osf.lt/Kiti/scenarijai/santraukos/Norvaiso_santrauka.htm>.

[2] A. Williams, K. Lansey, J. Washburne. “A dynamic simulation based water resources education tool”. Journal of Environmental Management [interaktyvus], vol. 90, No. 1, p. 471–482, 2009. Prieiga per internetą: <http://www.sciencedirect.com>.

[3] A. Jurgelėnas, S. Norvaišas. „Sveikatos plėtros imitacinis mode-lis“ [interaktyvus]. Biomedicininės inžinerijos konferencija, lapkričio 4. Kaunas: Kauno technologijos universitetas, 2004, p. 13–17. Prieiga per internetą: <http://www.bmii.ktu.lt/images/konferencijos_3/2/2%20Jurgelenas.pdf>.

[4] S. Ruth Aguilar-SavéN. “Business process modelling: Review and framework”. International Journal of Production Econo-mics, vol. 90, No. 2, p. 129–149, July 2004.

[5] I. Patašienė. „Įmonės ekonominių veiksnių imitacinis modelia-vimas ir taikymas mokymo procesui“ daktaro disertacija [inte-raktyvus]. Vilnius, 2008. Prieiga per internetą: <www.mii.lt/files/mii_dis_08_patasiene.pdf>.

[6] J. Mackevičius. Valdymo apskaita: koncepcija, metodika, poli-tika. Vilnius: TEV, 2003.

[7] Statistikos departamentas prie Lietuvos Respublikos Vyriau-sybės, „Eksporto ir importo struktūra pagal KN skyrius“. Sta-tistika (teminės lentelės): užsienio prekyba [interaktyvus], 2010. Prieiga per internetą: <https://www.stat.gov.lt/lt/pages/view/?id=2640>.

[8] Isee Systems, inc, “Systems Thinking for Education and Rese-arch”. Stella [interaktyvus], 2009. Prieiga per internetą: <http://www.iseesystems.com/softwares/Education/StellaSoftware.aspx>.

[9] Powersim Solutions, “PowerSim Studio” [interaktyvus], 2008. Prieiga per internetą: <http://www.powersimsolutions.com/Stu-dio.aspx>.

[10] Isee Systems, inc, “Systems Thinking for Business”. iThink [interaktyvus], 2009. Prieiga per internetą: <http://www.iseesys-tems.com/Softwares/Business/ithinkSoftware.aspx>.

[11] Caci Products Company, “Simprocess” [interaktyvus], 2008. Prieiga per internetą: <http://www.simprocess.com/products/products.html>.

[12] Freight Investor Services, “Fertilizer week thursday markets report”, Trąšų kainų ataskaita [interaktyvus], January 2010.

[13] AB „Lifosa“, „Technologijos reglamentas“, 2009.

Page 123: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

123

Abstract. Article researches the technology of scientific pub-lishing. Today’s scientific publishing is entangled by old media. Academic society does not use information technologies to its full potential. The relationship between artificial intelligence and science, role of internet, tradition of scientific writing, and advancement in natural language processing are reviewed. The idea of semantic web is found as one with the most sup-port from academic community. Semantic web technology is found as a technology which is capable of providing scientific community with collaboration tools harmonious with com-puting infrastructure available.

Keywords: component, scholarly communication, cooperative information systems, semantic web, scientific publishing, scientific electracy.

I. INTRODUCTION

In network society scientific community is influenced by information technologies. Internet and computer tech-nologies made a huge impact to scientific publishing. The internet medium reveals new possibilities and new challenges for scientific community. The tendency to use new medium in traditional ways makes progress of scien-tific communication difficult. Scientific publishing is chal-lenged to change the way information is exchanged and produced. This article discusses main themes around future of scientific publishing. This is based on hypothesis that the progress of science is only possible with carefully planning of storage and communication of scientific research. The object of research is the relationship between the structure of scientific content and its representation on internet medi-um. The aim of the article is to reveal main problems in sci-entific publishing. The article is divided into five chapters. The first discusses notion of artificial science, second – sci-entific literacy and “electracy”, third – public phenomenon of automated science, fourth – internet based cooperative information system (Semantic Web) and fifth – concludes with some philosophical questions.

Scientific publishing in this article is defined as a pro-cess by which epistemological data is produced to commu-nicate it through space-time. We take a scientific article as

a basic element of scientific publishing. We do it so because it has a widely accepted form which is not true to manu-scripts or other types of scientific literature. Scientific pub-lishing differs wildly throughout different scientific disci-plines, but there are also many things in common. The most common thing is structure of scientific article, it exists with few “anomalies“. It‘s basic form remains consistent at least for few decades. Scientific articles about nanotechnology, evolution of civilization, global climate change, and struc-ture of owl all are contained in a same form we call “sci-entific article“. It contains most of the following: abstract, introduction, hypothesis, object, questions, methodologies, conclusions, bibliography and so on.

Extensively complex structure of library-publishing networks raises a question of its own, but is not a object of this research. We see these networks as secondary. They are so if we see them in the wider context of scientific com-munication. Libraries and databases of scientific literature are only mediums throughout which our basic component of scientific information (scientific article) is deployed.

Other questions are often being raised as the techno-logical status (and progress) is discussed. Ethics of techno-logical progress became important issue at least from the beginnings of industrial revolutions, not to mention that we can track the question at least in antique philosophy. Ethi-cal issues remains a problem, but this article is not raising ethical questions in a traditional sense of “question of eth-ics“. We leave traditional ethics aside while considering it as a drawback in our pursuit of answer to question “what is current communication-epistemological potential of hu-man made technology?“

This article raises the following hypothesis: the scientif-ic community today does not fully exploit the possibilities of technological achievements of computer science and, especially, internet.

II. THE ARTIFICIAL INTELLIGENCE OF TODAY’S SCIENCE

The term artificial intelligence is used here in a sense of natural language processing, which is one of main branches

Technological status of scholarly communicationThe role of natural language processing and internet in scientific publishing

Aidis StukasKTU, Faculty of humanities

Kaunas, LietuvaE-mail: [email protected]

Page 124: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

124

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

of AI research. However, we feel that in this kind of broad scope articles it is more effective to use a broader defini-tion. It is so because of a possibility that other branches of AI research could also provide a push in a technology of scholarly publishing.

A. Essence of scienceAt this moment one must remember the aim and es-

sence of science. The aim of science is mostly understood as a way of pursuing truth. Science has its own methods, separate science use their own methods. The pursuit of au-tomation of the way the scientific literature is being pro-duced in no way interfere with the aim of scientific act. The essence of science is in the content of it, not in the form. Of course the form has a huge impact on the content but is still secondary. Printing press changed the way of pro-ducing scientific literature. But, to our surprise, the change that followed didn’t have much impact on the content. The size of page, the design of letter, these were the things to change, not the content.

Today’s scientists do not have to cut down wood and make paper, they do not have to think about the structure of their scientific articles the rigid structure is being force to vast majority of scientific production. Only small amount of maneuverability is allowed, it is especially the case for scientific articles), they do not have to program their com-puters. All of this is being done for them. Still, their mission remains.

B. Technology of Artificial intelligenceAI is a term crafted by John McCarthy. And is now es-

tablished as a notion which references to computer based pursuit of the imitation of human mind. Not so current state of AI is described in “Artificial Intelligence, A modern Approach”. The author describes two interesting phenom-enon. “..probabilistic analysis have been able to perform at the level of an expert physician in several areas of medi-cine [1].” These type of phenomenon began since the be-ginning of 1990. Other interesting case mentioned is com-puter puzzle solving program called PROVERB. It is clear by intuition, that crossword solving at least reminds some forms of scientific activity. In another summary of artificial intelligence, Luger (2005) differentiates the description of intelligence into 4 levels:

“..neural networks, genetic algorithms and other forms of emergent computation..“;

“..deduction, abduction, induction, truth-maintenance, and countless other modes and manners of rea-son“;

“..designers of expert systems, intelligent agents, and natural language understanding programs have come to recognize the role of social processes in creating, transmitting, and sustaining knowledge“;

The fourth, philosophical level, is critique of “epistemo-logical validity of the AI enterprise“. [2] In this research we are based at third level. As our main concern is com-

munication between individuals and groups based on the progress of information technology.

C. The possibility of Artificial science.Current evolution of science technologies raises a ques-

tion: where, and what kind of limitations they will face? We can imagine one such limit; we will call it “artificial science”. Artificial science – is epistemological process that is enabled by and based on “strong AI”. Artificial phe-nomenon is recognized as computer programs which plan and execute scientific research and generate scientific lit-erature.

Is it happening? Does the artificial science exist? Sci-ence is definitely more artificial than ever. Science tomor-row will be even more artificial. Empirical evidence of such fact is robot called “Adam”. This robot works and does all the following: “A robot scientist automatically originates hypotheses to explain observations, devises experiments to test these hypotheses, physically runs the experiments by using laboratory robotics, interprets the results, and then repeats the cycle.” [3] Does it mean that science can be automatized the way it happened in automobile producing industry?

A decade ago some academics were still busy argu-ing about the gender of future scientists. [4] But now we should pay more attention on cybernetic status of the fu-ture scientist. Adam (1998) [5] in a book called “Artificial Knowing: Gender and the Thinking Machine.” Refers to Judy Wajeman in the following way: “Rather than being seen as dependent on scientific activity, she [Judy Wajeman (1991)] argues that technologies are better viewed as hav-ing their own cultures distinct from scientific disciplines.” If she is able to say that in 1991 what we can say about our predicted future? But first of all, let’s answer the few more important questions.

The techno-sceptics doubt what type of activities could be “given” to “children” of technological progress – ma-chines. Science is what makes human being human. If com-puter does the science it means one of the two: a) computer becomes human, b) human becomes computer.

Forbidding or forgetting such technologies faces some issues. It is very much like forbidding the use of library index, books that were put together by robots, even the use of pencil could be question, as it is also a product of tech-nology. Another issue is the fear of fully autonomous AI, which in some cases is associated with “not controlled” and “anti-human” AI. The fact is that it is impossibly hard to imagine a machine that is not guided human mind.

The skeptics doubt: production of such “scientific-golem” is a) not possible due to the limits of human capa-bilities. This could be falsified by current advancements in the field of artificial intelligence. One thing is for sure, nor science as whole, nor scientific publishing, nor generation of scientific text, as component of scientific pursuit, cannot happen if no one will engage it. But it is hard to think of situation in which no academic institution would take such task as serious problem. It’s even harder to think of the pos-

Page 125: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

125

AIDIS STUKAS · TECHNOLOGICAL STATUS OF SCHOLARLY COMMUNICATION

sibility that no group or individual will try to pursuit such aim. However the possibility of such happening is denied by historical argument: current state of science was made possible by technological inventions that have changed the way scientific literature was produced. Despite the fact this could happen, but human being is already aware of it. In case of this research we take it methodologically true that evolution of epistemic technologies is inevitable to human. And leave all the doubt and criticism to the other.

What are the possibilities of future scientific publishing development in a discourse of artificial intelligence?

The editors of scientific journals will engage scientists to describe any computer program (the examples of them will be discussed in further chapters) which has been used to search, retrieve, analyze, interpret, scientific literature; also any computer program which had direct impact on the content and structure of the scientific text. During this period most artificial science programs will be new to the editors, so the way it works must be also explained. These types of descriptions should become a part of classic ele-ment of scientific literature – “methodology”. We have re-viewed the relationship of science and artificial “thinking” machines. Now let’s have a look the way today’s scientific publishing works.

III. SCIENTIFIC LITERACY VERSUS SCIENTIFIC ELECTRACY

Electracy is a term which has its etymologous roots in combination of terms “literacy” and “electricity”. Savin-Baden (2008) [6] describes electracy in this way: “Elec-tracy – the creation of pedagogies that will enable the inte-gration of Internet practices with literate skills in new and innovative ways.” We will adapt broader use of the term. We will use term scientific electracy. Scientific electracy – is a skill to adapt scientific language to new media.

A. Computer software in “how to write science” litera-tureBefore we start to analyze the phenomenon of scientific

electracy we must review how computers and their soft-ware are being used in preparing scientific papers.

Peat, Elliot, Baur (2002) [7] in their book “Scientific Writing: easy when you know“, barely mentions the use of computer software. However in the chapter called “Sup-port systems” he mentions search engines. The book also includes some discussion about el. databases. Murray in his books “Writing for Academic Journals” (2004) [8] and “How to Write a Thesis.” (2006) [9] mentions term “com-puter” exactly 3 times: reminds to have a walk after work-ing for a long time, gives example of article about busi-ness that uses computers, and suggests to manage computer disks in case they fail. In 2004 book we find one mention about term “software“, and it’s all about voice recognition for note taking. In 2006 book we find more “software tools for managing the ever-growing files that are, or should be, their [researchers] bibliography and database.” Author

mentions few of them “ProCite”, “Reference manager” and “EndNote”. Such a change in the treatment of software in two years, by the same author, about similar theme must mean the change. The same software is mentioned in Car-gill and O‘Connor‘s (2009) [10] book “Writing scientific research articles– strategy and steps“. This data means that use of computer software tools in mainstream academic publishing is minimal. Most of scientists limit themselves with word processing software, and essential software of their science field; some use reference organizers. Bus is this all information technology has to offer today?

B. The use of internet technology: databases and searchHow scientists use internet and its capabilities? We will

answer this question while focusing on scientific paper da-tabases and search engines.

Wright at “Glut- mastering information through the ages” notices that Paul Otlet was the first to theorize about the internet we have it today. “In 1934 the notion of net-worked documents was still so novel that no one had a word to describe such relationship, until Otlet invented one: “links”. He envisioned the whole endeavor as a great reseau (web) [11]. Today reseau is used by scientist to look for scientific literature. The most common ways are: using databases which collected scientific literature, use search engines, and combining these two.

Despite the joy of being able to retrieve large part of the scientific literature that was produced during last few thou-sand years many of today’s information related specialists face serious problem. The amount of information available increases in rates that researchers are barely able to keep up with. Not surprisingly such books as Lewin’s “Using the Internet to Strengthen Curriculum” appears. The staggering fact that the book has extensive chapters dedicated to top-ics as “Taming the web”, “searching the web”, “reading the web”. It looks like internet is perceived as wild animal that needs to be “tamed” [12].

However some novel ways to using internet are appear-ing. Scientific literature is searched by using software that looks for the articles that reference to the same source re-searcher has in his own work. [13] The other interesting use of internet automatic translation is based on resources available on internet. This could force the breakthrough in language translating of scientific literature. [14] We will further discuss this theme in the following chapters.

C. The automatization of summary, writing, index com-pilationAutomatic text indexing and abstracting summarization

receives attention Moens (2000) [15], Mani (2001) [16], Nagao (2003) [17] published books dedicated to these top-ics. The steady production of books of such theme definite-ly means that progress is made. However data does not tell us if such automatization’s can be, or are used in today’s scientific publishing [18].

The invention of index is a perfect tools, that made read-ing papers easy. Ibekwe-SanJuan, Anne, Cabré (2007) [19]

Page 126: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

126

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

clude this paragraph with a provocative hypothesis: Turings test was passed.

B. AutowriteProject “autowrite” is similar case. The author claims

that they are able to provide the following services:1 Automatic Article Spinner supposedly – changes the

words used and in such way creates a “new article“.2 Smart Article Rewrite – supposedly rewrites article

by using synonyms instead of the words used previously3 Create Article by Keywords – supposedly creates ar-

ticle while using the keywords. All these services are for money, and due to this reason

they were not tested [23].

C. Netbase“Netbase” is a project which offers user a possibil-

ity to try new kind of search engine. User is allowed to choose from 4 topics: science and technology, consumer and marketing, health and medical. The search service can be bought. But “Healthbase” beta can be tested for free. “Healtbase” search engine works by typing one of the following: Treatments for condition, causes of condition, complications of condition, pros and cons of treatment.

Sometimes search results are hilarious. If you search for AIDS you could find that it can be cured by alcohol and coarse salt. This instance was commented by “worker of project” like this. “This is an unfortunate example of homonymy, i.e. words that have different meanings. The showcase was not configured to distinguish between the disease “AIDS” and the verb “aids” (as in aiding some-one).” However the company still claims the following: “HealthBase” is built on our Content Intelligence Platform that has been deployed successfully in different domains by Fortune 1000 companies, global publishers, and the federal government over the last few years for a variety of strate-gic applications.” It is a powerful and automated technol-ogy, that when applied to something as messy as the Web, will produce some amazing results, but also some strange, funny and irrelevant ones.” [24] It is a must to notice that “Netbase” project is tightly associated with the concept of semantic web. We will discuss it in the following chapter.

V. INTERNET BASED COOPERATIVE INFORMATION SYSTEMS: SEMANTIC WEB.

In this chapter we will review a project that integrates technologies of natural language processing and potential of internet to the pursuit of more effective scientific com-munication and, possibility automatization of it.

Semantic web is the concept coined by Berners-Lee in 2001 [25]. Semantic web should change (in some way) the web today. The aim of semantic web is to organize data on internet in such way that it could be handled by computer programs.

Many information gathering institutions face challenges

describes the way natural language processing technology is used to compile indexes. This type of behavior resemble the type of paradigm that can be seen for at least few de-cades. Ted Nelson points out that computer technologies are being used as support system for paper like publish-ing. The processes described uses technology of AI, and should be interpreted as first steps to automatized scientific publishing.

Steps toward tools for new media are being made. Ray-chaudhuri (2006) cites Rosenfield (2002) “Recognizing specific biological concepts described in text is an impor-tant task that is receiving increasing attention in bioinfor-matics. To leverage the literature effectively, sophisticated data analysis algorithms must be able to identify key bio-logical concepts and functions in text. However, biomedi-cal text is complex and diverse in subject matter and lexi-con. Very specialized vocabularies have been developed to describe biological complexity. In addition, using compu-tational approaches to understand text in general has been a historically challenging subject” (Rosenfeld 2000) [20]. And that describes perfectly how computing and internet technologies should be used. They should not serve old me-dia. But now let’s have a look at few public phenomenon’s of artificial science.

IV. SIGNIFICANT PUBLIC PHENOMENONS

Let’s have a quick discourse to the public phenomenon which could be associated with automatization of scientific publishing. We will review three projects called: “SciGen”, “autowrite” and “netbase”.

A. SciGen“SciGen” is a program which was created by Jeremy

Stribling, Max Krohn and Dan Aguayo. The authors define their “SciGen” as “program that generates random Com-puter Science research papers, including graphs, figures, and citations. It uses a hand-written context-free grammar1 to form all elements of the papers.” [21] An article gener-ated by this program was accepted by “World Multiconfer-ence on Systemics, Cybernetics and Informatics” (WMSCI) at 2005. This event caused interest in mass media as BBC and CNN posted in first pages. But academic society was calm about it. Although Andrew (2005) mentioned the case. [22] The generated text is clearly gibberish even to me, as I am not computer technology specialist. However texts gen-erated by mentioned software were accepted to conferences and journals in Germany, Iran and Russia. And these are only instances we know of. Two questions arises when we inspect the issue: a) the institution of peer review has some serious problems worldwide; b) computer generated content looks “human” enough to pass fast review. We could con-

1 phrase structure grammar is a grammar which naturally gene-rates a formal language in which clauses can be nested inside clauses arbitrarily deeply, but where grammatical structures are not allowed to overlap.

Page 127: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

127

AIDIS STUKAS · TECHNOLOGICAL STATUS OF SCHOLARLY COMMUNICATION

when facing ever growing quantity and complexity of data. Academic publishing experience the same problems. “This problem [free-text search] is not unique to Elsevier. The entire scientific publishing industry is currently struggling with these problems. Actually, Elsevier is one of the leaders in trying to adapt its contents to new styles of delivery and organization.” [26] Semantic web technology is proposed as a way to eliminate the problem of free text processing.

Future information systems are extensively discussed by Grigoris Antoniou and Frank van Harmelen at their book “A Semantic Web Primer” (2009) [27]. They discuss few themes that sums up the arises while discussing the future of so called “cooperative information systems”:

• greater variety of community-oriented interaction patterns will have to be supported by next-genera-tion information systems;

• such interactions may involve navigation, querying and retrieval, and will have to be combined with personalized notification, annotation, and profiling mechanisms;

• Such interactions will also have to be intelligently interfaced with application software, and will need to be dynamically integrated into customized and highly connected cooperative environments.

• the massive investments in information resources, by governments and businesses alike, call for spe-cific measures that ensure security, privacy, and ac-curacy of their contents.

Further the major challenges to build such system are revealed, it “is to develop technologies that permit continu-ous enhancement and evolution of current massive invest-ments in information resources and systems. Such technol-ogies must offer an appropriate infrastructure that supports not only development but also evolution of software.” One of such technologies is based on the idea of SW.

The part of SW project focus on revolutionizing sci-entific publishing. This task is persuaded by W3C HCLS group Scientific Publishing Task Force. [28] Some progress was achieved. The as the following from studies of medi-cine sheds some light on both principles and today’s use of semantic web: “A significant barrier to translational re-search is the lack of uniformly structured data across relat-ed biomedical domains. The Semantic Web is an extension of the current Web that enables navigation and meaningful use of digital resources by automatic processes. It is based on common formats that support aggregation and integra-tion of data drawn from diverse sources.” [29]

The ever-growing quantity of information is the prob-lem in at least few sciences. Many articles discuss this problem; I’ll mention only two cases. Firstly, let’s have a look the way medicine society tries to handle the problem. “The growing numbers of topically relevant biomedical publications readily available due to advances in document retrieval methods pose a challenge to clinicians practicing evidence-based medicine. It is increasingly time consuming to acquire and critically appraise the available evidence.” [30] The same issue is repeated at the field of psychiatry: “Scientific production in the field of Psychiatry is grow-

ing exponentially, as reflected by the number of scientific journals now available.” [31] These examples gives us an insight into the extent of the problem. However, we have discusses that solution is already offered. The idea of se-mantically tagged scientific literature is quite clear.

A group named Semantic Information Systems and Lan-guage Engineering Group (SmILE) works on the “seman-tization” of web. They are aware that everyone has to do their own responsibility to organize the content they pub-lish. The same way 400 years ago we had to write a title, date, have a table of contents. The same way we saved our works in LaTeX, Word, PDF or HTML. The same way we should enrich our articles with semantic tags. The mission statement of (SmILE): “Our ultimate goal is to convince the community about the value that semantic documents bring and to transform the ontological framework into a de facto standard for annotating scientific publications. Thus, the next step that we will take is to perform an intensive evaluation phase with researchers coming from different backgrounds. This phase will provide us with both a bet-ter understanding of the weak points in our framework and with a perfect environment for improvement.” [32] On of their products is called SALT (Semantically annotated la-tex) which offers sophisticated and simple annotation for scientific articles. There are also products which are similar to SALT [33]. These kind of applications requires serious investigations. However scientific community needs them for sure.

To make our argument even more solid, let’s refer to Yorick Wilks. His optimistic approach also gives a solid ex-planation of relationships between SW and AI. “Semantic web will be a fascinating interaction of these two method-ologies [Logic and Natural Language Processing], unlike the WWW which has been basically a field for NLP. It also assumes that, whatever the limitation on current SW rep-resentational power we have drawn attention to here, the SW will continue to grow in a distributed manner so as to serve the needs of scientists, even if it is not perfect. The WWW has already shown how an imperfect artifact can become indispensable.” [34] So the challenge is quite simple, yet completely hard to do. Attention should be giv-en to question the possible results of “semantization” of scientific literature. In other words, we could ask: would the semantically tagged scientific texts be a epistemologi-cal drawback?

VI. PHILOSOPHICAL REMARKS

What is wrong with scientific publishing? This is not standard question, but we base it on the arguments we have mentioned before: it is not effective. Old media, print, tends to entangle future developments of its content. In other words: the content of scientific literature was not adapted for the possibilities that were made available by the ad-vancement of computer technologies, especially, artificial language, natural language processing and internet

The semantic web technology is a sign that content is

Page 128: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

128

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

managed in a harmony with technology. Scientific publish-ing has a hope to escape from historical chains of past tech-nologies. This theme is covered by Ted Nelson.

“From Papyrus to Hypertext- Toward the Universal Digital Library”. [35] Begins his chapter “Toward the uni-versal digital library” with this quotation of Kevin Kelly’s book “scan this book“: “As copies have been dethroned, the economic model built on them is collapsing. In a re-gime of superabundant free copies, copies lose value. They are no longer the basis of wealth. Now relationships, links, connections and sharing are. Value has shifted away from a copy toward the many ways to recall, annotate, personal-ize, edit, authenticate, display, mark, transfer and engage a work“. No matter how true the last citation sounds, we must always remember the thing we have mentioned in the beginning of this article. This idea is perfectly articulated by Harris: “We are invited to contemplate a future in which our descendants will be counted ‘illiterate’ if they cannot operate a word processor; but, at the same time, becoming slaves to the word processor is just what will rob them of the benefits of the (‘old-fashioned’) literate classes. So on either count, the future of literacy is doomed.” [36] Well maybe the words author picked up were too harsh, but he gives us a glimpse into the problem we are standing against. Literacy is not doomed, it could live the same way callig-raphy and activities alike exist. However scientific literacy must be abandoned in the sake of scientific electracy.

VII. CONCLUSION

Science in network society is highly computer medi-ated. Artificial intelligence technologies deal big impact today’s science in general and academic publishing. But the use of information technologies is oriented towards ob-solete medium.

Scientific electracy is to change scientific literacy. Computer software is changing the way language is being produced and understood. The production of scientific lit-erature is one more time facing the requirement of qual-ity, not of quantity. The combination of today’s informa-tion technologies, especially, internet and natural language processing, combined with “computer friendly” scientific literature, promises even more scientific advancement.

Highly artificial programs are available to public au-dience. Programs “SciGen”, “Autowrite” and “Netbase”. Such programs raise public awareness of the possibilities of computer technologies. It is a pity that scientific com-munity has shown no interest to such phenomenon. The example of “Netbase” project tells that commercial com-munity seeks to develop “next level” search engines.

The ever growing amount of scientific data needs to be “tamed”. The idea of Internet based cooperative infor-mation systems contains some important remarks on the ways of how we should deal with the information overload. Semantic Web technology offers idea, theory and tools to make scientific publishing, communication, and whole sci-ence more in tune. This technology requires a participation

of scientist worldwide for it to be effective. Early data tells that if scientific community would establish Semantic Web as the aim, it will result in definite progress of scientific communication research. However this question should be researched more.

Authors and publishers of scientific literature should be aware of the both scientific electracy, and tools available to mark scientific articles and other scientific literature. These tags enable computer programs to “understand” and “han-dle” scientific content in more correct manner. This kind of tagging is hard and time expensive to do. But time can be taken from such obsolete task as “making text look es-thetic”. As this requirement came from print media, and is not useful in new media.

The scientific publishing is not using the potential com-puter science achievements have to offer. The possibilities of natural language processing with combination to internet must be research extensively.

REFERENCES

[1] S. J. Russel, P. Norvig. ”Artificial intelligence, A modern appro-ach”. Pearson Education, 2003, p. 26–27.

[2] G. F. Luger. “Artificial Intelligence. Structures and Strategies for Complex Problem Solving”. Pearson Education Limited, 2005, p. ix.

[3] R. D. King, J. Rowland, S. G. Oliver, M. Young, W. Aubrey, E. Byrne, M. Liakata, M. Markham, P. Pir, L. N. Soldatova, A. Sparkes, K. E. Whelan, A. Clare. “The Automation of Sci-ence“. Science 3 April, 2009, vol. 324, No. 5923, pp. 85–89. DOI: 10.1126/science.1165620. http://openwetware.org/images/0/0b/The_Automation_of_Science.pdf.

[4] “Who Will Do the Science of the Future?” A Symposium on Careers of Women in Science. Washington, DC, USA: Natio-nal Academies Press, 2000, p 2. Prieiga per internetą: http://site.ebrary.com/lib/ktu/Doc?id=10038716&ppg=2. Copyright © 2000. National Academies Press. All rights rserved.

[5] A. Adam. Artificial Knowing: Gender and the Thinking Machine. Florence, KY, USA: Routledge, 1998. Prieiga per internetą: http://site.ebrary.com/lib/ktu/Doc?id=2003050&ppg=17. Copy-right © 1998. Routledge. All rights reserved.

[6] M. Savin-Baden. Learning Spaces: Creating Opportunities for Knowledge Creation in Academic Life. Buckingham, GBR: Open University Press, 2008, p. 161. Prieiga per internetą: http://site.ebrary.com/lib/ktu/Doc?id=10229855&ppg=161.

[7] J. Peat, E. Elliott, L. Baur. Scientific Writing: Easy When You Know How London, GBR: BMJ Publishing Group, 2002. p. 273-274. Prieiga per internetą: http://site.ebrary.com/lib/ktu/Doc?id=10033055&ppg=303, Copyright © 2002. BMJ Publis-hing Group. All rights reserved.

[8] R. Murray. Writing for Academic Journals. Berkshire, GBR: McGraw-Hill Education, 2004, p 138. Prieiga per internetą: http://site.ebrary.com/lib/ktu/Doc?id=10172374&ppg=138. Copyright © 2004. McGraw-Hill Education. All rights reser-ved.

[9] R. Murray. How to Write a Thesis. Berkshire, GBR: McGraw-Hill Education, 2006, p. 11. Prieiga per internetą: http://site.ebrary.com/lib/ktu/Doc?id=10172350&ppg=11. Copyright © 2006. McGraw-Hill Education. All rights reserved.

[10] M. Cargill, P. O’Connor. Writing scientific research articles– strategy and steps. John Wiley and Sons, 2009. Prieiga per

Page 129: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

129

AIDIS STUKAS · TECHNOLOGICAL STATUS OF SCHOLARLY COMMUNICATION

internetą: http://www.google.com/books?id=4BQiUf7n_lwC&dq=Book+Review:+Writing+Scientific+Research+Articles:+Strategy+and+Step&lr=&hl=lt&source=gbs_navlinks_s.

[11] A. Wright, “Glut- mastering information through the ages”. Pri-eiga per internetą: http://books.google.lt/books?id=nHWxPtId3RUC&printsec=frontcover&dq=glut&cd=1#v=onepage&q=&f=false.

[12] L. Lewin. “Using the Internet to Strengthen Curriculum”. Ale-xandria, VA, USA: Association for Supervision & Curriculum Development, 2001. Prieiga per internetą: http://site.ebrary.com/lib/ktu/Doc?id=10065770&ppg=140.

[13] M. Errami, Z. Sun, T. C. Long, A. C. George, and H. R. Garner, “Deja vu: a database of highly similar citations in the scientific literature,” Nucl. Acids Res., 37(suppl 1):D921–924, January 2009. Prieiga per internetą: http://nar.oxfordjournals.org/cgi/content/full/37/suppl_1/D921

[14] R. Meneghini, A. L. Packer. “Is there science beyond English? Initiatives to increase the quality and visibility of non-English publications might help to break down language barriers in scientific communication”. February; 8(2), p. 112–116. EMBO Rep. 2007. Prieiga per internetą: http://www.ncbi.nlm.nih.gov/pmc/articles/PMC1796769/.

[15] M. F. Moens. “Automatic Indexing and Abstracting of Docu-ment Texts”. Kluwer Academic Publishers, 2000.

[16] Prieiga per internetą: http://sf.library.lt:2092/lib/ktu/docDetail.action?docID=10046957&p00=automatic+summarization.

[17] I. Mani. “Automatic Summarization”. Philadelphia, PA, USA: John Benjamins Publishing Company, 2001. John Benjamins Publishing Company. Prieiga per internetą: http://site.ebrary.com/lib/ktu/Doc?id=5000290&ppg=237.

[18] K. Nagao. “Digital Content Annotation and Transcoding”. Artech House, Incorporated, 2003.

[19] M. Saravanan, B. Ravindran, S. Raman. “Improving Legal Docu-ment Summarization Using Graphical Models”. In: T. M. van Engers, “Legal Knowledge and Information Systems: JURIX 2006: The Nineteenth Annual Conference: IOS Press, 2006.

[20] F. Ibekwe-SanJuan, A. Condamines, M. T. Cabré. “Application-Driven Terminology Engineering”. Amsterdam NLD: John Ben-jamins Publishing Company, 2007. Prieiga per internetą: http://site.ebrary.com/lib/ktu/Doc?id=10161072&ppg=187.

[21] S. Raychaudhuri. “Computational Text Analysis: For Functional Genomics and Bioinformatics,” Oxford, GBR: Oxford Univer-sity Press, UK, 2006. Prieiga per internetą: http://www.cs.cmu.edu/~roni/papers/survey-slm-IEEE-PROC-0004.pdf.

[22] Prieiga per internetą: http://pdos.csail.mit.edu/SciGen/.

[23] A. M. Andrew. ”Internet commentary Cybernetics and systems on the web: hoax paper, nanotechnology”. Reading University, Earley, Reading, UK, vol. 34, No. 9/10, 2005, p. 1656–1658.

[24] Prieiga per internetą: http://sf.library.lt:2094/Insight/viewPDF.jsp?contentType=Article&Filename=html/Output/Published/EmeraldFullTextArticle/Pdf/0670340919.pdf.

[25] Prieiga per internetą: http://www.autorewrite.com/.

[26] Prieiga per internetą: http://techcrunch.com/2009/09/02/ netbase-thinks-you-can-get-rid-of-jews-with-alcohol-and-salt/.

[27] Prieiga per internetą: http://www.scientificamerican.com/article.cfm?id=the-semantic-web.

[28] G. Antoniou, F. van Harmelen. “A Semantic Web Primer”. 2009, p. 188.

[29] Prieiga per internetą: http://kianian.com/userfiles/semantic-web-primer.pdf.

[30] G. Antoniou, F. van Harmelen. “A Semantic Web Primer”. 2009, p. xv–xvi.

[31] Prieiga per internetą: http://kianian.com/userfiles/semantic-web-primer.pdf.

[32] Prieiga per internetą: http://esw.w3.org/HCLS/Scientific PublishingTaskForce.

[33] A. Ruttenberg, T. Clark, W. Bug, M. Samwald, O. Bodenreider, H. Chen, D. Doherty, K. Forsberg, Y. Gao, V. Kashyap, J. Kinos-hita, J. Luciano, M. S. Marshall, C. Ogbuji, J. Rees, S. Stephens, G. T. Wong, E. Wu, D. Zaccagnini, T. Hongsermeier, E. Neu-mann, I. Herman, Kei-Hoi Cheung. “Advancing translatio-nal research with the Semantic Web”. BMC Bioinformatics, 8 (Suppl. 3): S2, 2007. Prieiga per internetą: http://www.biomed-central.com/1471-2105/8/S3/S2.

[34] H. Kilicoglu, D. Demner-Fushman, T. C. Rindflesch, N. L. Wil-czynski, R. B. Haynes. “Towards Automatic Recognition of Scientifically Rigorous Clinical Research Evidence“. J Am Med Inform Assoc. Jan–Feb; 16 (1): 25–31, 2009. Prieiga per inter-netą: http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2605595/.

[35] C. Kieling, R. R. F. Gonçalves. “Assessing the quality of a scien-tific journal: the case of Revista Brasileira de Psiquiatria”. Pri-eiga per internetą: http://www.scielo.br/scielo.php?pid=S1516-44462007000200017&script=sci_arttext&tlng=en.

[36] T. Groza, S. Handschuh, K. Möller, S. Decker. “SALT – Seman-tically Annotated LATEX for Scientific Publications”. DERI, National University of Ireland, Galway, IDA Business Park, Lower Dangan, Galway, Ireland, 2007. Prieiga per internetą: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.116.5093&rep=rep1&type=pdf.

Page 130: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę
Page 131: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

131

Santrauka. Kompiliavimo procesas yra sudėtingas, todėl, sie-kiant jį suprasti, reikia įsisavinti didelį kiekį informacijos. Naudojant vaizdines priemones, šį sudėtingą ir kartu įdomų procesą galima suprasti greičiau, nei vien studijuojant lite-ratūrą apie kompiliatoriaus veikimo principus. Pirmoje šio straipsnio dalyje apibrėžiamas darbo aktualumas. Antroje dalyje trumpai aptariamos kitų autorių kompiliavimo pro-ceso vaizdavimo programos ir pagal pasirinktus kriterijus palyginamos su sukurta sistema. Trečioje dalyje aprašoma sukurta kompiliavimo proceso vizualizavimo sistema ir patei-kiami rezultatai bei išvados.

Reikšminiai žodžiai: kompiliatorius, vizualizavimas, one–pass compiler, EBNF, sintaksinis medis, virtuali mašina.

I. ĮVADAS

Kompiliatoriaus veikimo principai nagrinėjami nuo tada, kai buvo sukurtas pirmasis kompiliatorius. Bet ši tema aktuali iki šių dienų, nes tobulinamos jau sukurtos programavimo kalbos, kuriamos naujos ir tai skatina kurti ir tobulinti kompiliatorius.

Kompiliavimo procesas – sudėtingas, todėl, norint jį su-prasti, reikia įsisavinti didelį kiekį informacijos. A. Kaplano ir D. Shoupo [3] teigimu, naudojant vaizdines priemones, šį sudėtingą ir kartu įdomų procesą galima suprasti grei-čiau, nei vien studijuojant literatūrą apie kompiliatoriaus veikimo principus.

Kompiliavimo proceso vizualizavimo sistema buvo ku-riama1 Java programavimo kalba. Ši kalba pasirinkta todėl, kad yra griežtai tipizuota ir nepriklauso nuo kompiuterio architektūros. Kompiliavimo etapams vaizduoti pasirinkta „O“ kalba [2], nes ji nėra labai sudėtinga ir atitinka darbo reikalavimus (galimi sveiko tipo kintamieji, ciklo ir sąly-gos sakiniai bei įvesties ir išvesties operacijos).

II. EGZISTUOJANTYS SPRENDIMAI

Surastos keturios mokomojo pobūdžio kompiliavimo etapų vaizdavimo programos, plačiau aptariamos šio sky-riaus poskyriuose.

1 Už pagalbą vizualizavimo sistemai kurti dėkoju dėstytojui doc. dr. Algirdui Deveikiui bei darbo vadovui doc. dr. Aleksui Riškui.

A. Pauliaus Mažuikos sprendimasP. Mažuikos objektinio kodo generatorius [6] atlieka

kompiliavimo etapų vaizdavimą kalbai su:• sąlygos sakiniais if ... then ... else ir if ... then, ku-

rie skiriami kabliataškio simboliu; • loginėmis išraiškomis, gautomis naudojant opera-

cijas or, xor, and ir not; • lyginimo ženklais „<“, „>“, „=“, kurių operandai

yra identifikatoriai ir dešimtainiai skaičiai (kons-tantos) be ženklo;

• priskyrimo operatoriumi „:=“. Šis generatorius vaizduoja keturias kompiliatoriaus

veikimo fazes: simbolių lentelių kūrimą, leksinio analiza-toriaus kūrimą, sintaksės medžio formavimą ir objektinio kodo vaizdavimą triadų pavidalu. Taip pat vykdomas kodo optimizavimas.

B. Dr. Lotharo Schmitzo sprendimaiVokiečių mokslininkas dr. L. Schmitzas su studentais

sukūrė du metakompiliatorius (angl. compiler-compiler): SIC (Smalltalk kalba) ir Jaccie (Java kalba), kurie ne tik sukuria kompiliatorių pagal pateiktą gramatiką, bet ir vizu-aliai parodo kūrimo procesą [5].

1 PAV. METAKOMPILIATORIAUS VEIKIMO SCHEMA [5]

Kompiliavimo proceso vizualizavimas

Onutė ŠapuckaitėKauno technologijos universitetas

Programų sistemų inžinerijos katedraKaunas, Lietuva

El. paštas: [email protected]

Page 132: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

132

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

„Metakompiliatorius – tai kompiliatorius, kuris kom-piliuoja kitus kompiliatorius. Pradiniai duomenys – for-malus programavimo kalbos L aprašymas ir kompiuterio K komandų aprašymas. Rezultatas – kalbos L kompilia-torius kompiuteriui K. Tai idealus ir realiai sunkiai įgy-vendinamas atvejis. Paprastai apsiribojama viena kom-piuterio kalba, dažniausiai tarpine programavimo kalba, ir tai retai pavyksta gauti priimtinos kokybės rezultatą – kompiliatorių“ [4]. Metakompiliatoriaus veikimo schema pateikta 1 pav.

C. Steveno R. Vegdahlo sprendimasS. R. Vegdahlas [9] Java kalba sukūrė vizualizavimo

įrankį, kuris sintaksiniu medžiu vaizduoja kompiliatoriaus programinį kodą. Naudodami šią programą, studentai gali išnagrinėti dėstytojo sukurtą kompiliatoriaus versiją. Su šia programa jie gali kontroliuoti kompiliatoriaus kūrimo pro-cesą.

Valdant sintaksinį medį (2 pav.) bei atliekant programos derinimą, galima pastebėti, ar teisingai sukurtas kompilia-torius; jei pastebima netikslumų, programa leidžia juos iš-taisyti.

2 PAV. IŠ DALIES SUSKLEISTAS SINTAKSINIS MEDIS [9]

D. Programų savybių palyginimas1 lentelėje pateiktas kompiliavimo proceso vizualizavi-

mo sistemos bei kitų autorių analogiškų sistemų lyginimas pagal pasirinktus kriterijus. Daugumai analogų įvesties programose negali būti naudojami sąlygos ir ciklo sakiniai. Sukurta sistema pasižymi šiomis savybėmis ir tai galima laikyti privalumu.

1 LENTELĖ. KOMPILIAVIMO PROCESO VIZUALIZAVIMO SISTEMOS IR ANALOGŲ PALYGINIMAS

SavybėsKompiliavimo proceso vizualizavimo sistemos

P. Ma-žuikos sistema

Dr. L. Schmitzosistemos

S. R. Vegdahlo sistema

Sukurta sistema

SIC JaccieTipas pagal praėjimus

Daugelio praėjimų

Daugelio praėjimų

Daugelio praėjimų

- Vieno praėjimo

Grafinė aplinka

+ + + + +

Leksinė analizė

+ + + - +

Sintaksinė analizė

+ + + - +

Sintaksinis medis

+ + + + +

Semantinė analizė

+ + + - +

Kodo gene-ravimas

+ + + - +

Kodo opti-mizavimas

+ - - - -

Programų vykdymas

+ + + - +

Įvedimo / išvedimo operacijos

- + + - +

Sąlygos sakiniai

+ - - + +

Ciklo sakiniai

- - - + +

III. KOMPILIAVIMO PROCESO VIZUALIZAVIMO SISTEMA

Kompiliavimo proceso vizualizavimo sistema (3 pav.) demonstruoja vieno praėjimo kompiliatoriaus (angl. one-pass compiler) veikimo principą (4 pav.).

3 PAV. KOMPILIAVIMO PROCESO VIZUALIZAVIMO SISTEMOS LANGAS

A. „O“ programavimo kalbaKompiliavimo etapams vaizduoti buvo pasirinkta „O“

programavimo kalba [2], nes ji nėra labai sudėtinga ir

Page 133: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

133

ONUTĖ ŠAPUCKAITĖ · KOMPILIAVIMO PROCESO VIZUALIZAVIMAS

atitinka darbo tiksle nurodytus reikalavimus (galimi svei-ko tipo kintamieji, ciklo ir sąlygos sakiniai bei įvesties ir išvesties operacijos). „O“ kalba – tai mažas poaibis kalbos Oberon-2, kuri buvo sukurta Pascal programavimo kalbai patobulinti.

Kitas šios kalbos privalumas – ji gali būti kompiliuo-jama vieno praėjimo kompiliatoriumi (angl. one-pass compiler), nes objektai prieš panaudojimą yra aprašomi.

„O“ kalbos charakteristikos:• „O“ kalbos programas sudaro tik vienas modulis; • konstantos ir kintamieji gali būti tik sveiko (Inte-

ger) tipo; • didžiosios ir mažosios raidės skiriasi;• šioje kalboje naudojama [2]: o raktažodžiai: BEGIN, CONST, END, INPORT,

MODULE; o sąlygos sakiniai IF – THEN – ELSIF...ELSE –

END; o ciklo sakiniai WHILE – DO – END; o matematinės operacijos: +, -, *, DIV ir MOD; o loginės operacijos: =, #, <, >, <=, >=; o komentarai, kurių struktūra: komentaro pradžia

– (* , komentaro pabaiga – *); o skyrybos ženklai: „,“, „:“, „.“, „;“; „(„, „)“; o priskyrimo operacija :=; o įvedimo ir išvedimo procedūros: (2 lentelė).

2 LENTELĖ. ĮVEDIMO IR IŠVEDIMO PROCEDŪROS

Procedūros pavadinimas

Parametrai Aprašymas

In.Open Nėra Atidaro įvesties srautąIn.Int(v) v: INTEGER Įveda v reikšmę

Out.Int(x, n) x, n: INTEGER Išveda x reikšmę, kurios skaitmenų kiekį nusako n.

Out.Ln Nėra Pereina į kita eilute

• „O“ kalboje rezervuoti ne tik raktažodžiai: BEGIN, CONST, END, INPORT, MODULE, bet ir visi kiti baziniai Oberon-2 kalbos žodžiai: ARRAY, BY, CASE, EXIT, FOR, IN, IS, LOOP, NIL, OF, OR, POINTER, PROCEDURE, RECORD, REPEAT, RETURN, TO, TYPE, UNTIL, WITH, todėl „O“ kalboje šių žodžių negalima naudoti kintamųjų var-dams apibrėžti.

• „O“ kalboje nenaudojama: o procedūros ir funkcijos, išskyrus standartines

Oberon-2 kalbos procedūros: DEC, HALT, INC ir procedūras – funkcijas: ABS, MAX, MIN, ODD;

o masyvai, sąrašai, rekursiniais kreipiniai.B. Vieno praėjimo kompiliatorius

Vieno praėjimo kompiliatoriaus (angl. one-pass com-piler) visi kompiliavimo etapai atliekami vieno praėjimo metu (4 pav.) Pagrindinė šio kompiliatoriaus dalis – sintak-sinis ir semantinis analizatorius, kuris kreipiasi į leksemų analizatorių dėl leksemos iškvietimo ir, atlikęs einamos

programos dalies sintaksinę ir semantinę analizę, kreipiasi į kodo generatorių dėl objektinio kodo sudarymo jau išana-lizuotai programos daliai [1], [7].

4 PAV. VIENO PRAĖJIMO KOMPILIATORIAUS (ANGL. ONE – PASS COMPILER) STRUKTŪRA [2]

1) Leksinis analizatoriusPrieš atliekant leksinę analizę, sudaroma „O“ kalbos re-

zervuotų žodžių lentelė. Šių žodžių nėra daug, todėl lente-lei realizuoti pasirinktas paprastas ir šiuo atveju gana efek-tyvus būdas – tiesinis sąrašas;

2) Sintaksinis ir semantinis analizatorius„O“ kalba – kontekstiškai laisva, todėl jos sintaksė užra-

šoma išplėstine Bakus-Naura (angl. Extended Backus-Naur Form, EBNF) forma [2]. Kiekvieną EBNF sintaksinę tai-syklę realizuoja skirtingi vienos klasės metodai. Tarp metodų yra toks ryšys, koks sieja vieną EBNF taisyklę su kita. Tik-rindamas vieną iš sintaksinių taisyklių, kiekvienas metodas nubraižo jam priklausančią sintaksinio medžio dalį.

Taisyklėse naudojamų metasimbolių reikšmės:() – skliaustais nurodomoje vietoje gali stovėti tik vie-

nas iš juose esančių simbolių;[] – juose esantys simboliai nurodytoje vietoje gali būti

tik vieną kartą arba visai nebūti;{} – juose esantys simboliai nurodytoje vietoje gali būti

kiek norima kartų arba vieną kartą.„O“ kalbos EBNF gramatinės taisyklės [2]:Modulis = MODULE Vardas „;“ [Įvedimas] Paskelbimas [BEGIN

PilnojiOperacija] END Vardas „ . “.

Įvedimas = IMPORT Vardas{„ , “Vardas} „ ; “.

Paskelbimas = {CONST {KonstantosPaskelbimas „ ; “} | VAR {KintamojoPaskelbimas „ ; “}}.

KonstantosPaskelbimas = Vardas „=“ KonstantosIšraiška.

KonstantosIšraiška = [„+“ | „-“] (Skaičius | Vardas)

Page 134: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

134

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

variantas – procesoriaus darbą imituojanti programa, ki-taip sakant, virtuali mašina (angl. Virtual machine), turinti paprastą ir patogią komandų sistemą. Šiuo procesoriumi galima peržiūrėti pagrindinius kodo generavimo principus, nekreipiant dėmesio į konkrečiam realiam procesoriui bū-dingas detales.

Kitas privalumas – „O“ programos tekstas, sukom-piliuotas realiai neegzistuojančiam, bet egzistuojančiam kodo pavidalu procesoriui, gali būti vykdomas bet kurioje sistemoje, kur įdiegtas Java kalbos kompiliatorius, nes „O“ kalbos kompiliatorius parašytas Java kalba.

Kaip ir bet kuris kompiuteris, „O“ kalbos virtuali ma-šina (OVM) (5 pav.) turi procesorių ir atmintį. Procesorius vykdo tam tikrą komandų skaičių ir turi registrų – specia-lių atminties ląstelių, kurias naudoja komandos. Atmintyje saugoma programa ir duomenys.

5 PAV. OVM ARCHITEKTŪRA

a) AtmintisKadangi „O“ kalboje naudojami tik sveiko tipo duome-

nys, OVM atmintį sudarys tam tikras kiekis ląstelių. Kiek-vienoje iš jų saugoma po vieną sveiką skaičių. „O“ kalboje nenaudojami masyvai ir pačios programos nėra labai ilgos, todėl atminčiai pakanka 8 kilobaitų.

b) ProcesoriusObjektiniam kodui pateikti pasirenkamas atvirkštinės

lenkiškos notacijos (postfiksinis) būdas, nes jis nėra labai sudėtingas ir programiškai realizuojamas trumpomis ko-mandomis.

Pvz.: Išraiška 2 * 3 + 5, užrašyta atvirkštine lenkiška forma atrodytų, taip: 5 2 3 * + .

Kodui šia forma užrašyti naudojamas stekas. Pradinėje programoje rasti operandai iš atminties perkeliami į steką, operacija atliekama su steko viršūnėje ir viena pozicija žemiau esančiais operandais, gautas rezultatas įrašomas į steko viršūnę.

Kiekvienas operandas (konstanta, adresas) ir kiekvie-nos operacijos kodas OVM atmintyje užima vieną atmin-ties ląstelę. Kad skirtųsi nuo operandų, operacijos koduoja-mos neigiamais sveikais skaičiais.

Neigiamas operandas negali būti nurodytas programo-je, nes, kad būtų vykdoma x:=-1 ir panašus veiksmai, OVM komandų sistemoje numatyta ženklo pakeitimo operacija. Skaičiavimo proceso metu gautos neigiamos reikšmės sau-gomos steko atminties ląstelėse (5 pav.).

KintamojoPaskelbimas = Vardas {„ , “ Vardas} „ : “ Tipas.

Tipas = Vardas.

PilnojiOperacija = Operacija { „ ; “ Operacija}.

Operacija = [ Kintamasis „:=“ Išraiška | [Vardas „ . “ ] Vardas [„(“ [Kintamasis | Išraiška {„ , “ Kintamasis | Išraiška } ] „)“ ] | IF I rai ka THEN PilnojiOperacija { ELSIF Išraiška THEN PilnojiOperacija} [ELSE PilnojiOperacija] END | WHILE Išraiška DO PilnojiOperacija END].

Kintamasis = Vardas.

Išraiška = PaprastojiIšraiška [Santykis PaprastojiIš-raiška].

PaprastojiIšraiška = [„+“ | „-“] Dėmuo {SudėtiesOpe-racija Dėmuo}.

Dėmuo = Daugiklis {DaugybosOperacija Daugiklis}.

Daugiklis = Vardas [„ ( “ Išraiška | Tipas „ ) “ ] | Skaičius | „ ( “ Išraiška „ ) “.

Santykis = „=“ | „#“ | „<“ | „>“ | „<=“ | „>=“.

SudėtiesOperacija = „+“ | „-“.

DaugybosOperacija = „*“ | DIV | MOD.

Vardas = raidė {raidė | skaitmuo}.

Skaičius = skaitmuo {skaitmuo}.

3) Kodo generatoriusMokymui skirta programavimo kalba „O“ parašytos

programos kodas negeneruojamas kuriam nors realiam pro-cesoriui arba procesorių šeimai. Kodo generavimas realiam procesoriui būtų apsunkintas įvairiomis tik tam procesoriui būdingomis techninėmis detalėmis, turinčiomis nedidelę prasmę bendram kodo generavimo principų supratimui. Nemažai dėmesio tektų skirti procesoriaus komandų sis-temai, ir kodas, sugeneruotas vienam procesoriaus tipui, neveiktų naudojant kitokio tipo procesorių. Optimalus

Page 135: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

135

ONUTĖ ŠAPUCKAITĖ · KOMPILIAVIMO PROCESO VIZUALIZAVIMAS

• Programos skaitiklis:Programos komandos (operacijos ir operandai) lai-

komos OVM atmintyje. Jeigu nėra perėjimo, procesorius vykdo komandas paeiliui. Pirma vykdoma komanda, esan-ti ląstelėje, kurios adresas 0. Kitos vykdomos komandos adresas įrašomas į procesoriaus registro ląstelę, kuri pažy-mėta PC – programos skaitiklis (angl. program counter).

• Stekas ir steko rodyklė:Stekui, kuris reikalingas OVM skaičiavimams atlikti,

skiriama atminties ląstelės su didžiausiais adresais. Steko viršūnės adresas įrašomas į procesoriaus registro ląstelę, kuri pažymėta SP – steko rodyklė (angl. stack pointer). SP reikšmė mažėja į steką padėjus elementą ir didėja išėmus jį iš steko – stekas plečiasi į mažesnių adresų pusę. Prieš programos vykdymą stekas būna tuščias, o SP reikšmė lygi 8 192 (8 kilobaitams).

• Komandų sistema:Vykdant programą, OVM komandos (3 lentelė) iš at-

minties nuskaitomos į procesoriaus komandų registrą, kuris žymimas Cmd, ir atliekamos komandų nurodytos operaci-jos su steko viršūnėje ir viena pozicija žemiau esančiais operandais. Gautas rezultatas įrašomas į steko viršūnę arba grąžinamas atgal į atmintį.

3 lentelėje pateiktos OVM komandos [2]. Stulpelyje „Stekas“ pateikta steko būsena prieš vykdant komandą ir ją įvykdžius. Steko viršūnę atitinka operandas, esantis de-šinėje pusėje. Pavyzdžiui, užrašas x, y → x+y reiškia, kad iki ADD komandos vykdymo į steką buvo įkelti skaičiai x ir y (y steko viršūnėje, x viena pozicija žemiau), įvykdžius steko viršūnėje atsiranda šių skaičių suma ir steko elementų sumažėja vienetu.

3 LENTELĖ. OVM KOMANDOS

Kodas Ženklas Pavadinimas Stekas Veiksmasc>=0 HET Konstanta → c

-1 STOP Sustabdymas NesikeičiaAritmetinės operacijos

-2 ADD Sudėtis x, y → x+y-3 SUB Atimtis x, y → x-y-4 MUL Daugyba x, y → x*y-5 DIV Dalyba x, y → x

DIV y-6 MOD Liekana x, y → x

MOD y-7 NEG Neigimas x → -x

Atminties operacijos-8 LOAD Įkėlimas A → M[A]-9 SAVE Išsaugojimas A, x → M[A] := x

Steko operacijos -10 DUP Dubliavimas x → x, x-11 DROP Šalinimas x →-12 SWAP Sukeitimas x, y → y, x-13 OVER Dubliavimas x, y → x,

y, xPerėjimo komandos

-14 GOTO Perėjimas A → PC := A-15 IFEQ Perėjimas, jeigu

lygux, y, A → if x=y then

PC := A

Kodas Ženklas Pavadinimas Stekas Veiksmas-16 IFNE Perėjimas, jeigu

nelygux, y, A → if x<>y then

PC := A-17 IFLE Perėjimas, jeigu

mažiau lygux, y, A → if x<=y then

PC := A-18 IFLT Perėjimas, jeigu

mažiaux, y, A → if x<y then

PC := A-19 IFGE Perėjimas, jeigu

daugiau lygux, y, A → if x>=y then

PC := A-20 IFGT Perėjimas, jeigu

daugiaux, y, A → if x>y then

PC := AĮvedimo ir išvedimo operacijos

-21 IN Įvedimas → Įveda-mas skai-

čius

SP := SP – 1;Write („?“);

Readln (M[SP]);

-22 OUT Išvedimas x, w → Write ( x: w);-23 OUTLN Perėjimas į

naują eilute→ Nesikei-

čiaWriteLn

LOAD komanda pagal nurodyta adresą A į steko vir-šūnę įrašo atmintyje saugomą reikšmę. Steke ji pakeičia adresą A į reikšmę M [A].

Komanda GOTO atlieka perėjimą pagal adresą, esantį steko viršūnėje. Perėjimo realizacija vyksta iš steko viršū-nės perduodant reikšmę programos skaitikliui PC.

C. Sistemos veikimasDėl paprastumo, sukurtos mokomosios priemonės vei-

kimo principui iliustruoti pasirinkta „O“ kalba, parašyta programa, kuri apskaičiuoja matematinės išraiškos 2+2*2 reikšmę. Bet šis mokomasis kompiliatorius gali vykdyti ir daug sudėtingesnes programas, tokias kaip pirminių skai-čių paieška bei Euklido algoritmo realizavimas2.

Pirmasis kompiliavimo etapas, kurį iliustruoja su-kurtas kompiliavimo proceso vaizdavimo įrankis, – leksinė analizė.

6 pav. pateiktas kompiliavimo proceso vizualizavimo sistemos fragmentas, kuriame iliustruojama kairėje pusėje esančio „O“ kalba parašytos programos fragmento suskai-dymas į leksemas. Atliekant leksinę analizę, eliminuojami tarpo ir tabuliacijos simboliai bei komentarai.

6 PAV. KODO SKAIDYMAS Į LEKSEMAS

2 Jeigu norite išbandyti sistemos veikimą, prašom parašyti elektroninį

laišką adresu: [email protected].

Page 136: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

136

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

Antrąjį kompiliavimo etapą iliustruoja sukurtas kompi-liavimo proceso vaizdavimo įrankis – sintaksinė ir seman-tinė analizė.

7 pav. pateiktos sintaksinės taisyklės, pagal kurias mokomasis kompiliatorius matematinę išraišką d:=2+2*2 atvaizduoja sintaksiniu medžiu. Šią matematinę operaciją sudaro kintamasis, kurio vardas d, priskyrimo ženklas ir iš-raiška. Išraišką sudaro viena paprastoji išraiška, skaidoma į du dėmenis ir sudėties operaciją. Pirmą dėmenį sudaro daugiklis, atitinkantis skaičių 2. Antrą dėmenį sudaro du daugikliai, atitinkantys skaičių 2, bei daugybos operacija.

7 PAV. IŠRAIŠKOS ATVAIZDAVIMAS SINTAKSINIU MEDŽIU

Vieno praėjimo kompiliatoriaus atveju semantinė ir sin-taksinė analizės glaudžiai susijusios.

Semantinės analizės metu pagal identifikatorių lentelės duomenis atliekamas patikrinimas ir nustatoma, ar konkre-čioje programos vietoje teisingai panaudotas identifikato-rius.

Todėl prieš atliekant semantinę analizę užpildoma pir-moji identifikatorių lentelės dalis – standartinių identifika-torių blokas, antroji dalis – modulio blokas, pildomas ana-lizės metu (8 pav.). Į lentelę įrašomas identifikatorius, jo kategorija, tipas ir reikšmė. Lentelė realizuojama tiesiniu sąrašu.

8 PAV. SEMANTINĖS ANALIZĖS IDENTIFIKATORIŲ LENTELĖ

9 pav. pateiktas trečiojo kompiliavimo proceso etapo, objektinio kodo generavimo, fragmentas.

Kaip minėta, objektinis kodas pateikiamas atvirkštinės lenkiškos notacijos (postfiksiniu) būdu – operandai patei-kiami prieš operacijas.

Kad būtų paprasčiau programiškai realizuoti „O“ virtu-alios mašinos veikimą, operandai ir operacijos koduojami sveikais skaičiais: operandai – teigiamais, operacijos – nei-giamais.

9 PAV. OBJEKTINIO KODO GENERAVIMAS

10 pav. pateiktas matematinės išraiškos apskaičiavimo procesas. Atmintyje esantis objektinis kodas skaitomas nuosekliai, ir iš atminties į steką perkeliami operandus ati-ninkantys kodai. Atmintyje aptikta daugybos operacija nu-skaitoma į procesoriaus komandų registrą. Daugyba atlie-kama su steko viršūnėje ir viena pozicija žemiau esančiais operandais, gautas rezultatas įrašomas į steko viršūnę – ste-kas sumažėja vienetu. Sudėties operacija atliekama tokiu pat būdu. Kai atmintyje aptinkama išsaugojimo operacija, duomenys iš steko viršaus perkeliami į atmintį ir stekas su-trumpėja dviem pozicijomis.

10 PAV. OVM VEIKIMO PRINCIPO ATVAIZDAVIMAS

Kompiliavimo proceso vaizdavimo įrankis į ekraną gali išvesti trumpąjį klaidos pranešimą. Šiame pranešime nurodoma, kurioje kompiliuojamos programos eilutėje yra klaida ir koks klaidos pobūdis.

Page 137: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

137

ONUTĖ ŠAPUCKAITĖ · KOMPILIAVIMO PROCESO VIZUALIZAVIMAS

11 pav. pateiktas trumpasis klaidos pranešimas, kai kompiliuojamos programos identifikatorius INTEGER buvo pakeistas žodžiu IMTEGER.

11 PAV. TRUMPASIS KLAIDOS PRANEŠIMAS.

IV. REZULTATAI IR IŠVADOS

Darbo rezultatas – kompiliavimo etapų vaizdavimo įrankis, kuris parodo vieno praėjimo kompiliatoriaus (angl. one-pass compiler) veikimo principą: pavaizduota, kaip nuoseklus „O“ kalbos kodas nuskaitomas iš tekstinio failo, suskaidomas į leksemas, kaip užpildomos kompiliatoriaus simbolių lentelės, kaip sudaromas sintaksinis medis, gene-ruojamas objektinis kodas, kaip vykdomos programos, pa-rašytos „O“ kalba (pirminių skaičių paieškos pasirinktam intervale, Euklido algoritmo realizavimo ir matematinės operacijos 2+2*2).

Sukurtą programą galima panaudoti kaip mokomąją priemonę, kuri padėtų suprasti kompiliatoriaus veikimo principą, pavaizduodama pagrindinius kompiliatoriaus vei-kimo žingsnius.

LITERATŪRA

[1] A. V. Aho, R. Sethi, J. D. Ullman. “Compilers: Principles, Tech-niques, and Tools“. Addison Wesley, Pearson Education, Inc., 2001, 811 p.

[2] С. З. Свердлов. «Языки программирования и методы транс-ляции». Санкт-Петербург: Питер, 2007, 640 p.

[3] A. Kaplan, D. Shoup. “CUPV--A Visualization Tool for Genera-ted Parsers“. SIGCSE Bulletin, 2000, No. 32 (1), p. 11–15.

[4] Kompiuterinės leksikos aiškinamasis žodynas [žiūrėta 2010-03-17]. Prieiga per internetą: <http://www.likit.lt/term/z2odynas.html?word=metakompiliatorius>.

[5] Lotharo Schmitzo puslapis apie sistemas SIC ir Jaccie [žiūrėta 2010-02-11]. Prieiga per internetą: <http://www2.cs.unibw.de/Tools/Syntax/english/index.html>.

[6] P. Mažuika. „Objektinio kodo generavimas ir optimizavimas“. Bakalauro darbas. VDU Informatikos fakultetas. [Kaunas], 2007, 25 p.

[7] R. D. Resler, D. M. Deaver. “VCOCO: A Visualisation Tool for Teaching Compilers“. SIGCSE Bulletin, 1998, No. 30 (3), p. 199–202.

[8] L. Schmitz. “Syntaxbasierte Programmierwerkzeuge“. Stuttgart, 1995. 304 p.

[9] S. R. Vegdahl. “Using visualization tools to teach compiler design”. Journal of Computing Sciences in Colleges, 2001, No. 16 (2), p. 72–83.

Page 138: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę
Page 139: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

139

Santrauka. UML kalba – viena plačiausiai naudojamų mode-liavimo kalbų informacinėms sistemoms (IS) specifikuoti. Bet ne visi dalykinės srities ekspertai (veiklos atstovai) UML modeliavimo kalbą supranta ir moka. Visą informaciją, pateiktą klasių diagramomis, galima užrašyti natūralia kalba. Šiam tikslui galima panaudoti veiklos žodyno ir veiklos taisy-klių semantiką (SBVR). OMG SBVR standartas – labiausiai veiklos semantiką atitinkantis aprašas, kol kas nėra plačiai paplitęs, bet vis populiarėjantis skirtingose panaudojimo grupėse. Žinoma, sistemos analitikui daug priimtinesnė uni-fikuota modeliavimo kalba IS projektuoti, bet UML ir SBVR nėra susietos, jas reikia suderinti – transformuoti. Šiame straipsnyje sujungiamas SBVR metamodelis ir pasinaudojus sudarytu metamodeliu, parodoma automatizuota transfor-macija iš SBVR į UML, kad modeliuotojai ir veiklos atstovai lengvai sąveikautų tarpusavyje remdamiesi suprojektuotu IS modeliu.

Reikšminiai žodžiai: UML, SBVR, OCL, ATL, modelių transfor-macija, modeliavimas, veiklos žodynas, veiklos taisyklės.

I. ĮVADAS

Sparčiai tobulėjant informacinėms technologijoms ir didėjant kuriamų sistemų sudėtingumui bei skaičiui, atsi-rado poreikis labiau automatizuoti IS kūrimo procesą. Tam naudojami modeliais grindžiamo kūrimo (angl. Model Driven Development) metodai, kurių esmė – didesnis nau-dojamų abstrakcijų lygis, kai vietoj programavimo kalbų naudojamos modeliavimo kalbos (UML) [6]. Šiandien unifikuota modeliavimo kalba (UML) yra viena plačiau-siai naudojamų modeliavimo kalbų konceptualioms sche-moms specifikuoti. UML schemos gali būti papildomos

tekstinėmis išraiškomis, kurios aprašomos veiklos taisy-klėmis ir kurių negalima išreikšti grafiškai. Šios tekstinės išraiškos aprašomos objektinių reiškinių kalba (OCL).

2008 m. išleistas veiklos žodynų ir veiklos taisyklių (SBVR) standartas [9] padarė didelę įtaką veiklos taisy-klėms. Šis standartas apibrėžia metamodelį semantinėms veiklos taisyklėms, veiklos faktams ir veiklos žodynui doku-mentuoti. SBVR visiškai integruota į OMG Model-Driven Architecture (MDA) [3]. SBVR tikslas – sujungti veiklos konceptus bei veiklos taisykles ir užrašyti juos paprasta žmogiška kalba, kad probleminės srities ekspertai (įmonės atstovai) galėtų lengvai jas suprasti. Probleminės srities ekspertui sunku patikrinti sistemų analitiko sudarytas spe-cifikacijas dėl nesuprantamos formalios specifikavimo kal-bos (pvz., UML). Kita vertus, dėl šiam tikslui dažniausiai vartojamos natūraliosios kalbos ypatumų analitikui sunku patikrinti, ar eksperto pateikta probleminės srities informa-cija yra išsami ir teisinga (natūraliąja kalba pateikti teigi-niai gali būti daugiareikšmiai, prieštaringi, nestruktūrizuoti ir pan.). Padėti jiems susikalbėti gali veiklos taisyklių spe-cifikavimo kalba, kuri, viena vertus, išreiškiama natūralia-jai kalbai artimais sakiniais, kita vertus, yra formali (tiksli ir vienareikšmiška), kad būtų lengviau keistis informacija tarp organizacijų ir programinių įrankių. Veiklos taisyklės, aprašytos pagal SBVR standartą, gali būti išreiškiamos daugelyje kalbų. Pirmoji SBVR standarto versija atsirado 2008 m., bet preliminarios versijos jau buvo sukurtos prieš kelerius metus. Dabar SBVR darosi vis populiaresnė, ja vis labiau domimasi skirtingose grupėse, bandoma rasti įvairių būdų pritaikyti SBVR standartą semantiniams tinklams ir programinėms įrangoms. Kol kas yra nedaug SBVR įran-kių, vienas jų – VeTIS1,2 – SBVR redaktorius, integruotas į MagicDraw programą, gebantis generuoti UML klasių dia-gramas su OCL apribojimais iš SBVR žodyno ir taisyklių. Yra ir daugiau įrankių, vykdančių panašias transformacijas, bet daugelis jų dar nebaigti [7].

Žinoma, unifikuota modeliavimo kalba (UML) ir SBVR nėra susietos, todėl natūralią kalbą reikia transformuoti į UML, kad sistemos analitikas galėtų lengvai suprasti

SBVR metamodelio sudarymas ir panaudojimas veiklos žodynų transformacijoms į UML taikant

ATLAS transformavimo kalbą

Edvinas ŠinkevičiusInformacijos sistemų katedra

Kauno technologijos universitetasKaunas, Lietuva

El. paštas: [email protected]

Lina TutkutėInformacijos sistemų katedra

Kauno technologijos universitetasKaunas, Lietuva

El. paštas: [email protected]

1 PAV. DALYKINĖS SRITIES EKSPERTO IR SISTEMOS ANALITIKO DABARTINĖ SĄVEIKA

Page 140: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

140

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

probleminės srities eksperto sudarytą modelį pagal SBVR standartą [10]. Todėl pagrindinė šio straipsnio mintis – aprašyti automatinės transformacijos iš SBVR į UML idėją (kuri aiškiau paaiškinta 2 pav.).

2 PAV. REZULTATAS PASIEKTAS PANAUDOJUS SBVR TRANSFORMACIJĄ Į UML

Kaip matyti iš 1 pav., jei reikėtų sumodeliuoti IS, siste-mos analitikui privalu atlikti jos analizę konsultuojantis su užsakovu, vėliau pagal surinktus reikalavimus modeliuoti IS. Šio ilgo ir varginančio proceso galima išvengti leidus pačiam veiklos atstovui modeliuoti IS, kompiuteriu įvedant atitinkamas reikšmes natūralia kalba.

II. SBVR METAMODELIO SUDARYMAS

Norint pritaikyti SBVR metamodelį siekiamam rezul-tatui, kilo kliūčių: SBVR standarte pateiktas metamodelis aprašytas atskirais fragmentais ir nėra tinkamas veiklos žodynų ir taisyklių redaktoriams realizuoti. Analizės metu buvo pritaikyti keturi metamodeliai, kuriuos pagal SBVR sudarė ir savo UML2SBVR įrankyje taikė J. Cabotas [2], [1] (3 pav.).

• MRV (angl. Meaning and Representation Vocabulary);

• LFSV (angl. Logical Formulation of Semantics Vocabulary);

• VDBV (angl. Vocabulary for Describing Business Vocabularies);

• VDBR (angl. Vocabulary for Describing Business Rules).

MRV aprašo pagrindinių veiklos konceptų prasmę, vaizdavimą ir ryšius. Svarbiausios šio metamodelio dalys yra:

• reiškinys (angl. expression) – veiklos koncepto tekstinis aprašas;

• atvaizdas (angl. representation) – konceptą ir jo tekstinį reiškinį siejantis elementas;

• prasmė (angl. meaning) – veiklos konceptų prasmė;

• ekstensija (angl. extension) – realaus pasaulio daiktų egzempliorių aibė.

3 PAV. SBVR METAMODELIO DALIŲ RYŠIAI

VDBV – pagrindinis žodyno aprašymo metamode-lis, aprašantis veiklos konceptus ir faktų tipus, papildomą informaciją apie žodyną.

VDBR – veiklos taisyklių aprašymo metamodelis.LFSV skirtas aprašyti veiklos taisyklių, išreikštų natū-

ralia kalba, struktūrą semantinėmis formuluotėmis, kurios būna dviejų tipų:

• loginės formuluotės – skirtos aprašyti loginėms operacijoms, kvantoriams, atominėms formuluo-tėms, kurios paremtos faktų tipais ir kitos formu-luotėms;

• projekcijos – formuluoja aprašus, agregacijas bei klausimus.

4 PAV. PAGRINDINĖS SBVR METAMODELIO KLASĖS

Page 141: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

141

EDVINAS ŠINKEVIČIUS, LINA TUTKUTĖ · SBVR METAMODELIO SUDARYMAS IR PANAUDOJIMAS VEIKLOS ŽODYNŲ TRANSFORMACIJOMS Į UML TAIKANT ATLAS TRANSFORMAVIMO KALBĄ

Šie keturi metamodeliai analizės metu buvo sujungti į vieną SBVR metamodelį, kad būtų paprasčiau vykdyti ATL transformacijas. Metamodeliai jungti per bendrus elemen-tus, naudojant grafinį Eclipse diagramų redaktorių. 5 pav. pavaizduota metamodelių jungimo schema.

MRV metamodelis buvo naudojamas kaip pagrindinis. Prie jo buvo prijungtas VDBV metamodelis, naudojantis MRV elementus. Vėliau dar buvo prijungti VDBR ir LFSV metamodeliai. 5 pav. pavaizduoti tik pagrindiniai metamo-delių elementai.

4 pav. pateiktas sujungto SBVR metamodelio fragmen-tas [1].

III. ATL TRANSFORMACIJA REMIANTIS SUDARYTU SBVR METAMODELIU

SBVR2UML transformacija realizuojama ATL pro-cesoriumi, kuris veikia Eclipse platformoje. Kadangi šis tyrimas daugiausiai susijęs su projektavimu ir SBVR meta-modelio sudarymu, transformacijų greičiui nebuvo keliami specialūs reikalavimai, galintys būti aktualūs taikant trans-formacijas kitokio pobūdžio uždaviniams. Tuomet reikėtų atskirų tyrimų dėl transformacijų ir kodo generavimo grei-čio užtikrinimo. Sudėtingo modelio transformacijos užima daugiau laiko, palyginti su mažiau elementų turinčiais modeliais.

5 PAV. SBVR METAMODELIŲ SUJUNGIMO SCHEMA

Page 142: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

142

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

žodynui pavaizduotas apibendrinta veiklos diagrama (6 pav.). Pirmiausia transformuojami terminai, reiškian-tys primityvius objektų tipus, tada objektus reiškiantys terminai transformuojami į klases. Po to faktų tipų vai-dmenų pozicijos transformuojamos į savybes, atitinkančias nuosavus klasių atributus, ir į savybes, atitinkančias ryšių atributus. Faktų simboliai transformuojami į asociacijas ir apibendrinimus.

Norint gauti UML XMI, kurią būtų galima importuoti ir gauti klasių diagramas, reikia apsirašyti ATL transforma-cija, kurios kodo fragmentas pateiktas 7 pav.

A. ATL transformacijaATL buvo realizuotas Eclipse 3.4.1 platformoje taikant

SBVR 1.0 ir UML 2.1.2 metamodelius (XMI formatu), ATL transformacijų kalbą 3.0.0 ir ATL transformavimo procesorių 3.0.0. ATL transformacijos vykdymas SBVR

1 LENTELĖ. SUGENERUOTAS UML XMI SCHEMOS FRAGMENTAS, KURIS IMPORTUOJAMAS Į MAGICDRAW IR GAUNAMA KLASIŲ DIAGRAMA

Konceptas bank gives loan

Transformuotos UML XMI schemos elementas<packagedElement xmi:type=”uml:Class” xmi:id=”_F3Hu8Ay5Ed-GTMgM16I5Vw” name=”Bank”>

<ownedAttribute xmi:id=”_F3Hu8Qy5Ed-GTMgM16I5Vw” name=”loan” visibility=”private” type=”_

F3Hu9Ay5Ed-GTMgM16I5Vw” association=”_F3Hu-Qy5Ed-GTMgM16I5Vw”>

<upperValue xmi:type=”uml:LiteralUnlimitedNatural” xmi:id=”_F3Hu8gy5Ed-GTMgM16I5Vw” name=””

value=”*”/>

<lowerValue xmi:type=”uml:LiteralInteger” xmi:id=”_F3Hu8wy5Ed-GTMgM16I5Vw” name=””/>

</ownedAttribute>

</packagedElement>

<packagedElement xmi:type=”uml:Class” xmi:id=”_F3Hu9Ay5Ed-GTMgM16I5Vw” name=”Loan”>

<ownedAttribute xmi:id=”_F3Hu9Qy5Ed-GTMgM16I5Vw” name=”bank” visibility=”private” type=”_

F3Hu8Ay5Ed-GTMgM16I5Vw” association=”_F3Hu-Qy5Ed-GTMgM16I5Vw”>

<upperValue xmi:type=”uml:LiteralUnlimitedNatural” xmi:id=”_F3Hu9gy5Ed-GTMgM16I5Vw” name=””

value=”*”/>

<lowerValue xmi:type=”uml:LiteralInteger” xmi:id=”_F3Hu9wy5Ed-GTMgM16I5Vw” name=””/>

</ownedAttribute>

</packagedElement>

<packagedElement xmi:type=”uml:Association” xmi:id=”_F3Hu-Qy5Ed-GTMgM16I5Vw” name=”gives” membe-

rEnd=”_F3Hu9Qy5Ed-GTMgM16I5Vw _F3Hu8Qy5Ed-GTMgM16I5Vw”/>

Transformuotos UML XMI schemos elementas importuotas į MagicDraw ir pavaizduotas grafikškai

6 PAV. SBVR2UML TRANSFORMACIJOS APIBENDRINTA VEIKLOS DIAGRAMA

7 PAV. ATL KALBOS FRAGMENTAS PANAUDOTAS TRANSFORMACIJAI IŠ SBVR Į UML

Page 143: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

143

EDVINAS ŠINKEVIČIUS, LINA TUTKUTĖ · SBVR METAMODELIO SUDARYMAS IR PANAUDOJIMAS VEIKLOS ŽODYNŲ TRANSFORMACIJOMS Į UML TAIKANT ATLAS TRANSFORMAVIMO KALBĄ

B. Sugeneruoti UML XMI schemos elementai panau-dojus ATLTyrime transformacija buvo tikrinama kiekvienam

veik los žodyno konceptui sugeneravus XMI schemą ir transformavus ją į atitinkamus UML XMI schemos ele-mentus [6], kurie buvo importuojami į MagicDraw UML įrankį ir pavaizduojami klasių diagrama. Kadangi sudėtin-giems elementams reikėjo didelių fragmentų, čia pateikti principiniai fragmentai, atspindintys atitinkamų elementų metamodelius ir transformacijas (1 lentelė).

Veiklos žodyno konceptams specifikuoti vartojami trys elementai:

• term – terminas term skirtas vaizduoti objektų tipus (angl. object types arba general concepts) ir vaid-menis (angl. roles). Terminai užrašomi vienaskaita. Pavyzdžiui: sauna, hotel, loan, bank ir t. t.

• Name – vardas Name skirtas vaizduoti individua-lius konceptus, kurie paprastai yra tikriniai daik-tavardžiai. Viena iš išimčių – skaičių reikšmės, kurios taip pat vaizduojamos šiuo tipu (pvz., 25). Pavyzdžiui: KTU, Kaunas, katedra, 10 ir t. t.

• verb – faktų simboliai verb vaizduoja veiksmažodį, prielinksnį arba jų kombinaciją. Veiksmažodžiai rašomi vienaskaita, aktyvia ar pasyvia formo-mis, kurios dažnai būna viena kitos sinonimai. Pavyzdžiui, aktyvi asociacijos fakto tipo bank gives loan forma turi pasyvią sinoniminę formą loan is given by bank.

Pasinaudojus ATL transformacijos taisyklėmis, šie ele-mentai transformuojami į atitinkamus UML elementus.

V. IŠVADOS IR TOLESNI TYRIMAI

1. Šiuo metu egzistuoja tik keli bandymai transfor-muoti tarpusavyje SBVR ir UML: J. Caboto ir bendraau-torių transformacija iš UML į SBVR [2], [1]; labai supa-prastinta transformacija iš SBVR į UML [4]. Bendriniai SBVR transformavimo principai nagrinėjami [5]. VeTIS SBVR2UMLOCL transformacija yra kur kas išsamesnė, ji apima (beveik) visų SBVR veiklos žodyno konceptų trans-formavimą į UML klasių diagramas ir pagrindinių SBVR veiklos taisyklių transformavimą į UML klasių diagramų elementus bei OCL invariantus ir operacijų prieš sąlygas. Be to, sukurtas IS projektavimo metodas, kuriame veiklos žodynų ir veiklos taisyklių aprašų sudarymas integruotas į modeliais grindžiamą kūrimo procesą.

2. Transformacijoms realizuoti buvo pritaikytas J. Caboto (2009) sudarytas SBVR metamodelis (suside-dantis iš keturių metamodelių). Jo savybės buvo papildy-tos SBVR standarto atžvilgiu, kad būtų galima pritaikyti jį realizacijai. J. Caboto SBVR metamodeliai buvo sujungti ir papildyti kai kuriais ryšiais, nes jų reikėjo visiškai transfor-macijai; kai kurių J. Caboto SBVR metamodelio savybių buvo atsisakyta, siekiant išlaikyti jį kuo artimesnį oficia-liam standartui.

3. Galimybė plėsti veiklos žodynų ir taisyklių speci-fikavimą ribota natūralia kalba turi dideles perspektyvas.

Atskirų veiklos sričių ribotos natūralios kalbos žodynai lei-džia sukurti kompiuteriams ir žmonėms suprantamas sąsa-jas tarp duomenų bazių / programinių paslaugų ir realiame pasaulyje vartojamos žmonių kalbos. Jie vienareikšmiškai aprašo veiklos žinias ir leidžia taikyti jas informacinių sis-temų projektavimo procesams.

4. SBVR metamodelis leidžia aprašyti tam tikros vei-klos srities ontologiją, taigi veiklos žodynų ir veiklos taisy-klių redaktorių galima pritaikyti ontologijoms kurti ribota natūralia kalba. KTU Informacijos sistemų katedroje jau pradėti tyrimai šia tema. Praktikoje plačiai taikomų tokios paskirties įrankių kol kas nėra, bet vykdomi moksliniai dar-bai rodo šių įrankių aktualumą (Eder 2008), (Linehan 2008), (Lukichev 2007), (Wagner 2004, 2006). Veiklos žodynai, pavaizduoti ontologijomis, turi daug žadančias potencialias galimybes susieti semantinio tinklo ir įmonių programinės įrangos paslaugų technologijas, kurti semantines interneto paslaugas, integruoti paskirstytas duomenų bazes, vystyti natūralios kalbos technologijas ir kt.

5. VeTIS projekto rezultatai parodė, kad galimybės plėsti veiklos žodynų ir taisyklių specifikavimą ribota natū-ralia kalba turi dideles perspektyvas. Atskirų veiklos sričių ribotos natūralios kalbos žodynai leidžia sukurti kompiu-teriams ir žmonėms suprantamas sąsajas tarp duomenų bazių / programinių paslaugų ir realiame pasaulyje varto-jamos žmonių kalbos. Jie vienareikšmiškai aprašo veiklos žinias ir leidžia jas taikyti informacinių sistemų projekta-vimo procesuose.

6. Tolesni tyrimai tikslingi šiais požiūriais:• sukurti galimybes veiklos žodynams ir taisyklėms

keliomis kalbomis aprašyti, pirmiausia lietuvių kalba. Šiam tikslui veiklos konceptų terminų, vardų ir faktų tipų formų specifikacijas reikėtų išplėsti kalbų atributais; lietuvių kalbai šias specifikacijas reikėtų papildyti terminų formomis, kurios leistų nurodyti terminų linksnius;

• sukurti atvirkštinę transformaciją iš UML / OCL į SBVR projektinei dokumentacijai generuoti [10];

• plėtoti tyrimus, kurie leistų taikyti SBVR veiklos žodynus ir veiklos taisykles Pasaulio semantinio tinklo sprendimuose, susiejus specialių sričių onto-logijas su platesnėmis ontologijomis, integravus informacinius išteklius ir išplėtojus semantines tin-klo paslaugas;

• plėtoti tyrimus, kurie leistų rasti būdą pagreitinti transformacijas dideliems modeliams.

LITERATŪRA

[1] J. Cabot, R. Pau, R. Ravento. “From UML/OCL to SBVR specifications: A challenging transformation“, [interaktyvus, žiūrėta 2010-04-01]. Prieiga per internetą: http://www.lsi.upc.es/~jcabot/papers/IS09.pdf.

[2] J. Cabot, R. Pau, R. Ravento. “UML-to-SBVR and SBVR-to-HTML transformations“, [interaktyvus, žiūrėta 2010-03-10]. Prieiga per internetą: http://jordicabot.com/research/SBVR/index.html.

Page 144: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

144

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

[3] P. Ceravolo, C. Fugazza, M. Leida. “Modeling Semantics of Business Rules“. 2007 Inaugural IEEE International Conference on Digital Ecosystems and Technologies (IEEE DEST 2007), 2007, p. 171–176.

[4] M. Kleiner, P. Albert, J. Bézivin. “Parsing SBVR-Based Con-trolled Languages“. Model Driven Engineering Languages and Systems, LNCS, vol. 5795, 2009, p.122–136.

[5] M. H. Linehan. “Semantics in Model-Driven Business Design“. Proc. 2nd Int. Semantic Web Policy Workshop (SWPW’06), 2006.

[6] OMG Unified Modeling Language, Superstructure, V2.1.2. OMG formali specifikacija/2009-02-02, 2009.

[7] A. Raj, T. V. Prabhakar, S. Hendryx. “Transformation of SBVR business design to UML models“. ISEC ‘08: Proceedings of the

1st conference on India software engineering conference, ACM, Hyderabad, India, 2008, p. 29–38.

[8] M. Schacher. „Business Rules from an SBVR and an xUML Perspective (Parts 1–3)“. Business Rules Journal, 2006, t. 7, Nr. 6–8.

[9] Semantics of Business Vocabulary and Business Rules (SBVR). Version 1.0. December, 2008. Prieiga per internetą: http://www.omg.org/docs/formal/08-01- 02.pdf.

[10] E. Šinkevičius, R. Butleris. „Transformacija iš UML į SBVR naudojant Atlas kalbą Eclipse aplinkoje“. 14-osios Tarpuni-versitetinės magistrantų ir doktorantų mokslinės konferencijos „Informacinės technologijos“ pranešimų medžiaga / Vilniaus universitetas, Vytauto Didžiojo universitetas, Kauno technologi-jos universitetas. [Kaunas]: [Vilniaus universiteto Kauno Huma-nitarinis fakultetas]. 2009, p. 187–190.

Page 145: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

145

Santrauka. Populiarėjant ontologijoms ir didėjant jose sau-gomos informacijos kiekiui, atsiranda būtinybė saugoti ontologijas reliacinėse duomenų bazėse. Šiame straipsnyje supažindinsime su metodu, kuris leidžia vykdyti semantines SPARQL užklausas, kai ontologija saugoma reliacinėje duo-menų bazėje.

Reikšminiai žodžiai: ontologija, reliacinė duomenų bazė, OWL, SPARQL, SQL.

I. ĮVADAS

Ontologija – aukšto semantinio lygmens dalykinės sri-ties aprašymas [3], kuris apima klases, objektus, jų savy-bes ir ryšius. Ontologija leidžia daryti semantines išva-das, todėl ontologijos paieškos sistema pateikia vartotojui prasmingesnius rezultatus, negu įprasta paieškos sistema. Reliacinėje duomenų bazėje įvykdžius užklausą, sistema pateikia duomenis, pagal sintaksinius parametrus išrink-tus iš duomenų bazės. Vartotojas pats analizuoja šių duo-menų prasmę pagal tam tikrus kriterijus, kurių kompiuteris suprasti negali, taigi dalį duomenų paieškos atlieka pats žmogus. Šis procesas pavaizduotas 1 pav.:

1 PAV. TRADICINIS DUOMENŲ IŠRINKIMO PROCESAS

Pirmoji proceso veikla – vartotojo užklausos patei-kimas. Tai atliekama kompiuterio ekrane pasirinkus tam tikrus užklausos parametrus (įvedami reikšminiai žodžiai, iš sąrašo pasirenkamos reikšmės ir kt.). Tada pagal vartotojo pateiktus parametrus formuojama SQL užklausa (žinoma, tinkamai kvalifikuotas vartotojas gali pats tiesiogiai rašyti užklausas), kuri iš duomenų bazės išrenka norimus įrašus.

Gavęs rezultatų sąrašą, vartotojas pats turi ieškoti juose loginių sąryšių tarp resursų, analizuoti, kokias savybes jie turi, ir pagal tai iš daugybės rezultatų atsirinkti sau tinka-mus. Tarkime, vartotojas nori internetu užsisakyti vieš-butį Ispanijoje liepos mėnesį. Reliacinės duomenų bazės paieškos sistema su pateiktu sakiniu „Suraskite viešbutį Ispanijoje netoli Viduržemio jūros liepos mėnesį“ nesusido-rotų, nes nėra pajėgi suprasti sakinio reikšmės. Ji pateiktų visų galimų užsisakyti viešbučių sąrašą, iš kurių vartoto-jas pats išsirinktų tinkamą. Norint atlikti tokio tipo paiešką (jos schema pateikta 2 pav.), turi būti sudarytas aukštesnio lygmens duomenų aprašymo modelis – ontologija, nes ji suteikia galimybę daug detaliau aprašyti dalykinę sritį ir sukurti ryšius tarp skirtingų dalykinių sričių.

2 PAV. DUOMENŲ IŠRINKIMO PROCESAS NAUDOJANT ONTOLOGIJAS

II. RDF, RDF SCHEMA IR OWL

Ontologijai saugoti naudojamas RDF resursų aprašymo karkasas. RDF pagrindas – modelis, skirtas vaizduoti savy-bes ir savybių reikšmes. RDF modelis remiasi skirtingų duomenų vaizdavimo bendruomenių principais. RDF savy-bės gali būti laikomos resursų atributais, jos taip pat reiš-kia ryšius tarp resursų – tuo RDF primena ER diagramą. Objektinio projektavimo požiūriu, resursai atitinka objek-tus, o savybės – objektų kintamuosius [5].

RDF modelis sudarytas iš trijų pagrindinių dalių:• subject (subjekto) – bet kokio daikto, aprašyto

Semantinių užklausų vykdymas saugant ontologiją reliacinėje duomenų bazėje

Algirdas ŠukysInformacijos sistemų katedra

Kauno technologijos universitetasKaunas, Lietuva

El. paštas: [email protected]

Lina Nemuraitė Informacijos sistemų katedra

Kauno technologijos universitetas Kaunas, Lietuva

El. paštas: [email protected]

Page 146: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

146

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

RDF. Tai gali būti visas interneto puslapis, jo dalis ar, tarkime, knyga. Kiekvienas resursas turi turėti URI – adresą, kuris jį identifikuoja;

• predicate (predikato) – savybės, charakteristikos, atributo ar ryšio, skirto resursui apibūdinti;

• object (objekto) – savybės reikšmės. Tai gali būti kitas resursas arba duomenų tipo reikšmė.

Šios trys pagrindinės RDF dalys sudaro formuluotę. Tokia duomenų struktūra tinkama aprašyti didžiajai daliai informacijos, apdorojamos kompiuteriu [7]. Išnagrinėkime pavyzdį „Dangus yra mėlynos spalvos“. Šioje formuluo-tėje veiksnys – „Dangus“, jo savybė – „turi spalvą“, kurios reikšmė – „mėlyna“. Formuluotė pateikta 1 lentelėje.

1 LENTELĖ. RDF FORMULUOTĖS PAVYZDYS

subject http://www.pavyzdys.lt/Danguspredicate turiSpalvą

object „Mėlyna“

Vienas iš RDF modelio privalumų – atviro pasaulio prielaida [9]. Tiesa yra tai, kas pasakyta modelyje, bet tų dalykų, kurie nepaminėti, mes nelaikome netiesa, todėl modelį lengva papildyti naujais faktais, nepažeidus esamų faktų teisingumo.

Siekiant išplėsti semantines RDF galimybes, buvo sukur-tos dvi papildomos kalbos: RDF Schema (RDFS) ir OWL. RDFS paremta RDF kalba, turi visas RDF ir papildomų savybių, iš kurių svarbiausios – klasių ir savybių ribojimai. RDF leidžia kurti resursus, o RDFS leidžia juos grupuoti į klases. RDFS taip pat leidžia kurti klasių hierarchijas, tam naudojama savybė rdfs:subClassOf. Kiekviena klasė gali turėti neribotą skaičių tėvinių klasių. Hierarchiją galima kurti ir savybėms, tam skirta rdfs:subPropertyOf savybė. Kita RDFS galimybė – savybių ribojimas, kai savybę

leidžiama naudoti tik tam tikrų klasių egzemplioriams, nurodžius domain ir range.

OWL yra RDFS pagrindu sukurta kalba, dar labiau išplečianti ontologijos aprašymo galimybes. OWL papildy-mus galima skirstyti į kelias grupes [4]:

• ekvivalentiškumas – leidžia nustatyti, kad du resur-sai (klasės, individai ar savybės) aprašo tą patį rea-laus pasaulio objektą. Taip pat leidžiama apibrėžti, kad dvi klasės yra skirtingos (distinct), t. y. jei objektas priklauso vienai klasei, jis negali priklau-syti kitai;

• savybių charakteristikos, ribojimai – OWL suteikia galimybes plačiau aprašyti savybes (tranzityvumą, simetriškumą, inversiją), nustatyti jų tarpusavio sąryšius, kardinalumus;

• aibių savybės – naujų klasių kūrimo galimybės, pasinaudojus esamomis klasėmis ir sudarius jų sąjungas, sankirtas ir pan.

III. OWL2RDB ALGORITMAS

RDF aprašytos ontologijos saugomos tekstiniuose fai-luose, tačiau toks sprendimas turi trūkumą – kai ontologija yra didelės apimties, reikia daug kompiuterio darbinės atminties resursų norint saugoti tokią ontologiją atmintyje ir vykdyti joje užklausas.

Tačiau ontologija gali būti efektyviai saugoma ir relia-cinėje duomenų bazėje [1]. Saugojimui gali būti naudojami įvairūs algoritmai, kurie tarpusavyje skiriasi RDF grafo sau-gojimo metodu. Kai kurie jų yra nepriklausomi nuo ontolo-gijos schemos, t. y. duomenų bazės schema yra pastovi, todėl jie lankstesni, lengviau išplečiami. Vienas jų – Chebotko algoritmas, paremtas grafo saugojimu vienoje lentelėje su trimis stulpeliais (subject, predicate, object) [6]. Algoritmas SPARQL-to-SQL [8] naudoja RDFLib mechanizmą, kuris

3 PAV. VYNO ONTOLOGIJA

Page 147: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

147

ALGIRDAS ŠUKYS, LINA NEMURAITĖ · SEMANTINIŲ UŽKLAUSŲ VYKDYMAS SAUGANT ONTOLOGIJĄ RELIACINĖJE DUOMENŲ BAZĖJE

saugo ontologiją trijose lentelėse. Norint saugoti sudėtinges-nes OWL formuluotes, pavyzdžiui, kardinalumo ribojimus, toks saugojimo būdas nėra efektyvus, nes atsiranda daug perteklinių formuluočių [9], todėl pasirinktas algoritmas OWL2RDB [2], kuris transformuoja ontologiją į reliacinės duomenų bazės schemą. Šio algoritmo idėja – kiekvienai klasei sukurti po lentelę, kurios jungiasi ryšiais 1:0..1 (jei aprašoma klasių hierarchija) arba 1:* (jei aprašoma objekto savybė). Klasių objektus atitinka lentelių įrašai. Ontologijos apribojimams sukuriamos papildomos metaduomenų len-telės. 3 pav. pateikta vyno ontologija, sukurta ontologijos kūrimo įrankiu Protégé [3]. 4 pav. ir 5 pav. ši ontologija transformuota į reliacinės duomenų bazės schemą.

4 PAV. VYNO ONTOLOGIJA, TRANSFORMUOTA Į RELIACINĖS DUOMENŲ BAZĖS SCHEMĄ

5 PAV. ONTOLOGIJOS METADUOMENŲ LENTELĖS

IV. UŽKLAUSŲ VYKDYMAS OWL2RDB ALGORITMU SAUGOJAMOJE ONTOLOGIJOJE

Norint įvykdyti SPARQL užklausą, kai ontologija sau-goma reliacinėje duomenų bazėje pagal OWL2RDB algo-ritmą, reikia užklausą transformuoti. Transformavimui

siūlome metodą, kuris pradinę SPARQL užklausą išskaido į SPARQL užklausą, skirtą atrinkti tik klases, ir SQL užklau-sas, skirtas atrinkti individualiems konceptams. Šis meto-das paremtas Pellet OWL Reasoner ontologijų analizės ir užklausų vykdymo biblioteka (6 pav.).

Parser (RDF / XML, Turtle,..)

Species Validation & Ontology Repair

TBox Absorption

Internationalization

Tableau Reasoner

ABox Query Engine

SPARQL Parser

KnowledgeBase Interface

(Reasoner SPI)

TBox ABox

Tg

Tu

6 PAV. PELLET OWL ARCHITEKTŪRA

Pellet OWL Reasoner biblioteka pritaikyta vykdyti užklausas, kai ontologija saugoma tekstiniame faile, o OWL2RDB algoritmas saugo ontologiją reliacinėje duo-menų bazėje, todėl buvo pakeistas vienas iš Pellet OWL komponentų. Vietoj komponento Parser, kuris apdoroja tekstinį ontologijos failą ir pagal jį sudaro ontologijos modelį, sukurtas kitas komponentas – Ontology Integrator (7 pav.). Jo veikimo algoritmas pateiktas kitame skyrelyje.

Ontology Integrator

Species Validation & Ontology Repair

TBox Absorption

Internationalization

Tableau Reasoner

ABox Query Engine

SPARQL Parser

KnowledgeBase Interface

(Reasoner SPI)

TBox ABox

Tg

Tu

Database Connector

7 PAV. PAPILDYTA PELLET OWL ARCHITEKTŪRA

A. Ontologijos modelio sudarymas pagal reliacinės duomenų bazės schemąŠis algoritmas skirtas sukurti Pellet OWL Reasoner

ontologijos modelį pagal reliacinės duomenų bazės schemą. Jo veikimas paremtas SQL Server metaduomenų analize. Algoritmas išrenka visus duomenų bazės lentelių ryšius ir pagal juos sukuria klases, nustato klasių hierarchijas, objektų bei duomenų tipų savybes (8 pav.).

Page 148: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

148

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

• Jeigu viena iš ryšio lentelių reiškia objekto savybę (tai nustatoma iš kardinalumo metaduomenų lente-lių), sukuriama objekto savybė. Pagal kitą lentelę sukuriama klasė, ji nustatoma kaip objekto savybės domain arba range, pagal išorinio rakto poziciją. 11 pav. pateiktame pavyzdyje bus sukurta objekto savybė MadeFromGrape, jos domain bus klasė Wine. 12 pav. pavyzdyje klasė WineGrape nusta-toma objekto savybės MadeFromGrape range klase.

11 PAV. OBJEKTO TIPO DOMAIN RYŠYS TARP DUOMENŲ LENTELIŲ

12 PAV. OBJEKTO TIPO RANGE RYŠYS TARP DUOMENŲ LENTELIŲ

Į ontologijos modelį neįtraukiami lentelių įrašai (indi-vidualūs ontologijos konceptai), nes OWL2RDB algoritmo idėja remiasi tuo, kad individualūs konceptai neturi būti įkeliami į operatyvinę atmintį. Jie išrenkami vėliau naudo-jant SQL.

B. Užklausų vykdymasAntrasis algoritmas – SPARQL užklausų vykdymas

ontologijoje. Vartotojas pateikia įprastą SPARQL užklausą, kuri vėliau transformuojama (13 pav.). Transformacija rei-kalinga dėl to, kad dalis ontologijos (klasių hierarchija) saugoma Pellet OWL Reasoner bibliotekoje, dalis lieka reliacinėje duomenų bazėje (individualūs konceptai), todėl ir užklausos turi būti vykdomos tiek Pellet OWL Reasoner bibliotekoje, tiek reliacinėje duomenų bazėje. Šis algori-tmas pateiktos SPARQL užklausos sąlygos dalį skaido į dvi dalis: • sudaroma nauja SPARQL užklausa, kurioje lieka tik

sąlygos dalys, susijusios su klasių gavimu;• sudaromos SQL užklausos, skirtos išrinkti individua-

lius konceptus.Užklausos vykdomos etapais, kiekviena užklausa

naudoja prieš tai vykdytų užklausų rezultatus – jei reikia rasti klasių individualius konceptus, naudojama SPARQL išrinkta klasių hierarchija. Šis procesas išsamiau paaiškin-tas kitame skyrelyje.

8 PAV. ONTOLOGIJOS MODELIO IŠ RELIACINĖS DB SCHEMOS SUDARYMO PROCESAS

Toliau pateikiamas algoritmo aprašymas. • Jeigu ryšio kardinalumas yra 1:0..1, sukuriamos dvi

klasės (jų vardai atitinka lentelių vadus) ir tarp jų nustatoma hierarchija. 9 pav. pateiktame pavyzdyje sukurtos klasės PotableLiquid ir Wine, PotableLiquid nustatyta kaip tėvinė Wine klasė.

9 PAV. HIERARCHINIS RYŠYS TARP DUOMENŲ LENTELIŲ

• Jeigu ryšio kardinalumas yra 1:*, kuriama objekto savybė, kurios pavadinimas nustatomas pagal antrosios klasės išorinio rakto atributo pavadinimą. Pirmoji klasė nustatoma kaip objekto savybės range, antroji – domain. 10 pav. pateiktame pavyzdyje sukurta objekto savybė isVerifiedBy, jos domain – klasė Wine, range – CertificationCompany.

10 PAV. OBJEKTO TIPO RYŠYS TARP DUOMENŲ LENTELIŲ

Page 149: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

149

ALGIRDAS ŠUKYS, LINA NEMURAITĖ · SEMANTINIŲ UŽKLAUSŲ VYKDYMAS SAUGANT ONTOLOGIJĄ RELIACINĖJE DUOMENŲ BAZĖJE

13 PAV. UŽKLAUSOS VYKDYMO PROCESAS

V. SPARQL UŽKLAUSOS PAVYZDYS

Šiame skyriuje nuodugniai aprašysime pavyzdinės užklausos vykdymą 4 pav. ir 5 pav. pavaizduotose onto-logijose. Siekiant nustatyti sistemos atrenkamų duomenų teisingumą, jie buvo lyginami su rezultatais, gautais nau-dojant tekstiniame faile saugomą ontologiją, užklausą vyk-dant Pellet OWL Reasoner. 14 pav. pateikti ontologijos lentelių duomenys.

14 PAV. ONTOLOGIJOS LENTELIŲ DUOMENYS

Toliau pateikta užklausa, kuri ontologijoje randa visus gėrimus ir jų gamintojus, sertifikuotus kompanijos „French_Certification_Company“:

select ?type ?drink ?maker where

{

?type rdfs:subClassOf wine:PotableLiquid .

FILTER (?type != wine:PotableLiquid) .

?drink rdf:type ?type .

?drink wine:isVerifiedBy

wine:French_Certification_Company .

?drink wine:hasWineMaker ?maker

}

Užklausa turi 4 sąlygos dalis, kurių kiekviena toliau aprašyta išsamiai.

C. Pirmosios užklausos sąlygos vykdymas?type rdfs:subClassOf wine:PotableLiquid.

FILTER(?type!=wine:PotableLiquid)

Ši užklausos dalis vykdoma Pellet OWL Reasoner, ji grąžina visas PotableLiquid poklases, atmetant pačią PotableLiquid, tam naudojamas FILTER, nes Pellet OWL Reasoner laiko, kad klasė yra savo pačios poklasė. Šiame pavyzdyje gaunamas vienintelis įrašas Wine, jis priskiria-mas kintamajam

?type:select ?type where

{

?type rdfs:subClassOf wine:PotableLiquid .

FILTER (?type != wine:PotableLiquid)

}

Gauti rezultatai pateikti 2 lentelėje.

2 LENTELĖ. PIRMOJO UŽKLAUSOS VYKDYMO ETAPO REZULTATAI

?typeWine

D. Antrosios užklausos sąlygos vykdymas?drink rdf:type ?type

Šioje užklausos dalyje randami visi ankstesnėje užklau-soje gautų klasių egzemplioriai. SQL užklausa formuojama pagal klasių pavadinimus. Kadangi klasė Wine turi tėvinę klasę PotableLiquid (tai sužinoma iš Pellet OWL Reasoner ontologijos modelio), o individualių konceptų pavadini-mai saugomi aukščiausioje pagal hierarchiją klasėje, vynų pavadinimai ir id gaunami kreipiantis į ją:

select

WineId,

PotableLiquidName as WineName

from

Wine,

PotableLiquid

where

WineId = PotableLiquidId

Page 150: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

150

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

Gaunami visi Wine klasės egzemplioriai, jie priskiriami kintamajam ?drink (3 lentelėje rodomos WineName reikš-mės):

3 LENTELĖ. ANTROJO UŽKLAUSOS VYKDYMO ETAPO REZULTATAI

?type ?drinkWine FoxenCheninBlank

Wine MariettaZinfandelWine MariettaPetiteSyrah

E. Trečiosios užklausos sąlygos vykdymas?drink wine:isVerifiedBy wine:French_Certification_

Company

Filtruojamas vynų sąrašas, išrenkami tik tie vynai, kuriuos sertifikavo nurodyta kompanija. Čia taip pat iš Pellet OWL Reasoner ontologijos modelio sužinoma, kad savybės isVerifiedBy domain klasė yra Wine, o range – CertificationCompany. Pagal šias reikšmes formuojama SQL užklausa:

select

CertificationCompanyName,

CertificationCompanyId

from

Wine,

CertificationCompany

where

Wine.isVerifiedBy =

CertificationCompany.

CertificationCompanyId

and

Wine.WineId = 3

Gauta CertificationCompanyName reikšmė lyginama su French_Certification_Company – jeigu vynas sertifikuotas šios kompanijos, jis paliekamas sąraše. 4 lentelėje pateikti trečiojo etapo rezultatai:

4 LENTELĖ. TREČIOJO UŽKLAUSOS VYKDYMO ETAPO REZULTATAI

?type ?drinkWine FoxenCheninBlankWine MariettaPetiteSyrah

F. Ketvirtosios užklausos sąlygos vykdymas?drink wine:hasMaker ?maker

Vykdomas savybės išrinkimas. Pirmiausia randama savybės hasMaker domain ir range klasės iš Pellet OWL Reasoner ontologijos modelio. hasMaker domain yra PotableLiquid, o range – Maker. SQL užklausa formuo-jama pagal šias reikšmes. Ankstesnėje užklausoje išrinkti

rezultatai (?drink) priklauso klasei Wine, todėl įrašoma papildoma sąlyga PotableLiquid.potableLiquidId = Wine.WineId, sujungti Wine ir PotableLiquid klases. Toliau rodoma, kaip rasti vyno, kurio id = 3, gamintoją. Atskira užklausa vykdoma kiekvienam vynui.

select

MakerName,

MakerId

from

PotableLiquid,

Maker,

Wine

where

PotableLiquid.hasMaker = Maker.MakerId

and

PotableLiquid.potableLiquidId =

Wine.WineId and

Wine.WineId = 3

Gautas gamintojų sąrašas priskiriamas kintamajam ?maker. 5 lentelėje pateikti galutiniai užklausos vykdymo rezultatai.

5 LENTELĖ. GALUTINIO UŽKLAUSOS VYKDYMO ETAPO REZULTATAI

?type ?drink ?makerWine FoxenCheninBlank FoxenWine MariettaPetiteSyrah Marietta

Galutiniai rezultatai sutapo su rezultatais, kai ontologija saugoma tekstiniame faile.

VI. IŠVADOS

1. Šiame straipsnyje pristatytas metodas, leidžiantis vykdyti užklausas ontologijose, kurios saugomos reliaci-nėse duomenų bazėse pagal OWL2RDB algoritmą. Metodo veikimo esmė – išskaidyti pradinę SPARQL užklausą ir vykdyti ją etapais – pirmiausia išrinkti rezultatus klasių, vėliau individualių konceptų lygmeniu.

2. Metodui išbandyti buvo realizuotas prototipas, kuriuo gauti užklausų vykdymo rezultatai palyginti su rezultatais, gautais saugant ontologijas įprastu būdu – tekstiniuose failuose. Sukurtas metodas leidžia išrinkti klasių hierarchijas, rasti individualius konceptus ir objektų savybes.

3. Sukurtas metodas pasižymi tuo, kad individai užklausų vykdymo metu nėra įkeliami į pagrindinę atmintį, o išrenkami SQL kalba, todėl šis metodas leidžia analizuoti ontologijas, turinčias daug egzempliorių, kurių neįmanoma sudėti į pagrindinę atmintį.

4. Ateityje numatyta išanalizuoti sudėtingesnius užklausų atvejus ir išsamiai išnagrinėti SPARQL transfor-mavimo į SQL galimybes, taip pat atlikti didesnės apimties eksperimentus, kurie leistų įvertinti metodo efektyvumą.

Page 151: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

151

ALGIRDAS ŠUKYS, LINA NEMURAITĖ · SEMANTINIŲ UŽKLAUSŲ VYKDYMAS SAUGANT ONTOLOGIJĄ RELIACINĖJE DUOMENŲ BAZĖJE

LITERATŪRA

[1] C. J. O. Baker, K. H. Cheung. Semantic Web Revolutionizing Knowledge Discovery in the Life Sciences. Springer Science + Business Media, I ir II dalys, 2007.

[2] E. Vyšniauskas, L. Nemuraitė. “Transforming Ontology Repre-sentation from OWL to Reliatonal Database“. Information Tech-nology and Control, vol. 35 (3A), 2006, p. 333–343.

[3] M. Horridge, S. Jupp, G. Moulton, A. Rector, R. Stewens, C. Wroe. A Practical Guide To Building OWL Ontologies Using Protege 4 and CO-ODE tools. The University Of Manchester, 2007.

[4] J. Golbeck, A. Mannes, J. Hendler. “Semantic Web Technolo-gies and Terrorist Network Analysis”. Emergent Technologies and Enabling Policies for Counter Terrorism, IEEE Press, 2005, p. 1–15.

[5] O. Lassila, R. R. Swick. “Resource Description Framework

(RDF) Model and Syntax Specification“. Prieiga per internetą: http://www.w3.org/TR/PR-rdf-syntax/.

[6] J. Son, D. Jeong, D. Baik. “Practical Approach: Independently Using SPARQL-to-SQL Translation Algorithms on Storage“. Fourth International Conference on Networked Computing and Advanced Information Management, 2008, p. 598–603.

[7] K. Kjernsmo, A. Passant. “SPARQL New Features and Ratio-nale“. 2009. Prieiga per internetą: http://www.w3.org/TR/2009/ WD-sparql-features-20090702/.

[8] B. Elliot, E. Cheng, C. Thomas-Ogbuji, Z. Meral Ozsoyoglu. “A Complete Translation from SPARQL into Efficient SQL“. Proceedings of the 2009 International Database Engineering & Applications Symposium 2009, p. 31–42.

[9] J. Bock, S. Grimm, J. Henß, J. Kleb. “A Database Backend for OWL“. In: Proceedings of the 5th International Workshop on OWL: Experiences and Directions OWLED 2009, Chantilly, VA, United States, October 23–24, 2009, vol. 529, 2009, p. 1–8.

Page 152: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę
Page 153: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

153

Santrauka. Šiame straipsnyje aptariama Lietuvos distancinio mokymosi tinklo (LieDM) migravimo tarp virtualių moky-mosi aplinkų priežastys. Analizuojama alternatyva (Moodle) VMA Blackboard Vista sistemai. Analizuojami vaizdo konfe-rencijų sprendimai pritaikyti Moodle aplinkai, sudaromi ir pagrindžiami jų atrankos kriterijai. Pateikiamas alternaty-vios nuotolinio mokymosi platformos sukūrimo sprendimas

Reikšminiai žodiai: LieDM, virtuali mokymosi aplinka, migravimas, Moodle, vaizdo konferencija, integravimas.

I. ĮVADAS

Per pastaruosius keletą metų Lietuvos nuotolinio mokymosi rinkoje susiformavo technologiškai stipri ir funkcio naliai visavertė nuotolinio mokymosi platforma. Technologinį jos pagrindą sudarė Lietuvos distancinio mokymosi tinklo (http://www.liedm.lt) palaikomos sis-temos: virtuali mokymosi aplinka Blackboard Vista bei vaizdo konferencijų (VK) tinklas. Tačiau ekonominė krizė, palietusi daugelį sričių, pasiekė ir Lietuvos virtualaus uni-versiteto (http://www.lvu.lt) programos uždavinį LieDM, iki šiol sėkmingai teikusio Blackboard sistemos paslaugas. Sumažėjus uždavinio finansavimui išryškėjo nemokamos virtualios mokymosi aplinkos poreikis. Pasirinkta iki tol lygiagrečiai naudota atvirojo kodo VMA Moodle [1].

Tęsiantis ekonominei krizei, pasirodė viešų pareiškimų [1], siūlančių steigti LieDM konsorciumą bei pasidalyti LieDM išlaikymo kaštus. Esmė ta, kad vaizdo konferen-cijų tinklo pakeisti pigesniu (kaip Blackboard migracijos į Moodle atveju) nepavyks, tad nesusidarius konsorciumui vaizdo konferencijų tinklas nebebus palaikomas.

Šiame straipsnyje pateikta alternatyvios nuotolinio mokymosi platformos sukūrimo analizė.

II. VIRTUALI MOKYMOSI APLINKA

Alternatyvios mokymosi platformos poreikiams for-malizuoti aptarkime virtualios mokymosi aplinkos (VMA) sąvoką.

Virtualios mokymosi aplinkos naudojamos mokymosi procesui teikti, administruoti ir valdyti. VMA terminas var-tojamas apibrėžti plačiai grupei sistemų, skirtų studentų, dėstytojų ir administratorių prisijungimui prie tinklinių e. mokymosi paslaugų [2]. Paprastai šios paslaugos apima prisijungimo valdymą, mokymosi medžiagos teikimą, ben-dravimą ir studentų grupių valdymą, žinių vertinimą, stebė-jimą. Tokios sistemos gali būti sukurtos vadovaujantis skir-tingais pedagoginiais metodais ir teorijomis, tai nulemia ir skirtingas sistemų galimybes bei funkcionalumą. Galime išskirti šias dažniausiai pasitaikančias įrankių grupes:

• administravimo įrankiai: vartotojų registravimas, grupių formavimas ir pan.;

• turinio pateikimo priemonės: turinio valdymas, suderinamumas su standartais ir pan.;

• bendravimo įrankiai: forumai, vidinis elektroninis paštas, tekstiniai pokalbiai, garso ir vaizdo konfe-rencijos;

• kurso organizavimo įrankiai: kalendorius, užduo-čių skyrimo ir vertinimų priemonės, studentų ste-bėjimo priemonės, automatizuotas testavimas ir vertinimas.

Įrankius pagal jų naudojimo pobūdį galima būtų skirs-tyti į sinchroninius (vykdomus vienu metu, sinchroniškai) ir asinchroninius.

Sinchroniniai mokymosi įrankiai naudojami sinchro-niniam mokymui, pasižymi motyvacijos palaikymu [3], leidžia interaktyvų bendravimą ir bendradarbiavimą tarp dėstytojo bei studentų.

III. VIRTUALI MOKYMOSI APLINKA MOODLE

Moodle – šiuo metu viena populiariausių atviro kodo sistemų. Programa sėkmingai taikoma ne tik aukštojo mokslo, bet ir profesinio bei bendrojo lavinimo įstaigose visame pasaulyje [4].

Programą sudaro moduliai, kuriuos aktyvuojant atitin-kamai išplečiamas sistemos funkcionalumas:

Vaizdo konferencijų integracija virtualioje mokymosi aplinkoje Moodle – LieDM nuotolinio

mokymosi platformos alternatyva

Petras TamošiūnasInformatikos fakultetas

Kauno technologijos universitetasKaunas, Lietuva

El. paštas: [email protected]

Page 154: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

154

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

• administravimo priemonės: pasirinkimo modulis (studentų kursų pasirinkimas);

• turinio pateikimo priemonės: žurnalo modulis (žurnalas yra privatus tarp mokytojo ir mokinio), išteklių modulis (įvairaus formato turinys: tekstų, pateikčių rengyklės, vaizdinė, garsinė ir kt.; failų atnaujinimas, persiuntimas;

• bendravimo priemonės: pokalbių modulis, disku-sijų modulis (tik mokytojų diskusijos, kursų nau-jienų forumai, kelių vartotojų forumai);

• kurso organizavimo priemonės: vertinimo modulis, klausimų (testų) modulis (pasirenkamų atsakymų klausimai, žodžio ar frazės atsakymų klausimai, „taip arba ne“ atsakymų klausimai, atviro pobūdžio klausimai ir pan.), kūrimas tekstiniu arba HTML formatu), stebėjimo modulis (analizių, ataskaitų pateikimas), studijų modulis (palaiko galimą ver-tinimo skalę, mokytojas gali pateikti bandomąsias užduotis ir kt.).

Moodle turi standartines virtualioms mokymosi aplin-koms būdingas funkcijas ir gali būti naudojama kaip alter-natyva Blackboard Vista sistemai. Bet be vaizdo konfe-rencijų funkcijų ji yra nevisavertė nuotolinio mokymosi platformos alternatyva. Todėl apžvelkime LieDM vaizdo konferencijų tinklą.

IV. LIEDM VK TINKLAS

Vaizdo konferencijų tinklą sudaro: daugiašalių vaizdo konferencijų serveris (Tandberg MPS800), vaizdo kon-ferencijų įrašymo ir transliavimo įranga (Tandberg TCS, RealNetworks Helix Universal server, Windows media streaming server), vaizdo konferencijų valdymo ir rezerva-vimo įrenginys (Tandberg TMS) bei apie 80 galinių įrengi-nių, išsidėsčiusių visoje Lietuvoje.

Pagal Valstybinio mokslo ir studijų fondo remiamą Eureka programos projektą TESTVIL buvo realizuojama Vaizdo interaktyvių paskaitų sistema (ViPS), leidžianti paskaitas transliuoti ir su dėstytojų gyvai bendrauti inter-netu. Naudojant ViPS sistemą, studentui pakanka turėti prie interneto prijungtą personalinį kompiuterį.

ViPS ir VK sistemų technologinė realizacija pateikta 1 pav. ViPS sistema užtikrina vienpusį vaizdo „dėstytojo studentams“ ryšį, kelia minimalius reikalavimus studento kompiuteriui. VK sistema leidžia dėstytojui vaizdu ir garsu bendrauti su nutolusiose klasėse esančiais studentais.

V. VK INTEGRUOTŲ VMA MOODLE ALTERNATYVŲ ANALIZĖ

Viena galimų VMA bendravimo funkcijų – vaizdo kon-ferencija. Tai technologija, leidžianti sinchroniškai ben-drauti per atstumą vaizdu ir garsu. Skirtingose vietose esan-tys dalyviai vienu metu gali girdėti ir matyti vieni kitus.

Vaizdo konferencijas galima suskirstyti į [5]:• dvipuses vaizdo konferencijas – dalyvauja du

nutolę pašnekovai arba jų grupės, matantys vieni kitus monitoriuje;

• daugiašales vaizdo konferencijas – dalyvauja keli ir daugiau pašnekovų, matantys visus pašnekovus monitoriuje. Vaizdo konferencija gali būti organi-zuojama taip, kad geriausiai matoma būtų kalbanti „šalis“, o kiti dalyviai būtų arba visai nematomi, arba iš jų darbo vietų transliuojami vaizdai būtų sumažinti.

1 PAV. VK IR VIPS REALIZACIJA LIEDM TINKLE [3]

1 lentelėje pateikta Moodle sistemai pritaikytų VK įrankių alternatyvos (pasirinkti populiariausi). Sistemų funkcio nalumui palyginti pateiktos penkios Moodle siste-mai nepritaikytos VK aplikacijos, dvi iš jų – LieDM naudo-jamos VK tinklas ir ViPS.

Tinkamiausiam VK įrankiui – integruojamam Moodle VMA nustatyti parinkti šie kriterijai :

• tiesioginė pranešėjo transliacija – būtina funkcija, realizuota ViPS ir VK tinklo sistemose;

• daugiataškė vaizdo konferencija – būtina funkcija, VK tinkle naudojant transliacijų serverį galima naudoti daugiataškes vaizdo konferencijas;

• tekstiniai pokalbiai – būtina funkcija norint palai-kyti interaktyvumą tarp mokymosi dalyvių neper-traukus kalbančiojo;

• privatus pokalbis – būtina funkcija mokymosi pro-cese. Scenarijai: privatus dėstytojo–studento ar stu-dento–studento ryšys;

• darbalaukio dalijimasis – būtina funkcija bendro darbo procese;

• transliacijos įrašymas – būtina funkcija, įgalinanti pakartotinai panaudoti medžiagą;

• failų dalijimasis – būtina funkcija bendro darbo procese;

• vietinis diegimas – galimybė VK įrankį įdiegti organizacijoje. Daugeliu atveju Moodle siste-mai sukurti VK moduliai yra tik sąsajos (bridge) su tikrąją sistema, kuri veikia kitame serveryje. Nutolusiose šalyse (Lietuvos atžvilgiu) esantys serveriai neužtikrina pastovaus tinklo pralaidumo,

Page 155: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

155

PETRAS TAMOŠIŪNAS · VAIZDO KONFERENCIJŲ INTEGRACIJA VIRTUALIOJE MOKYMOSI APLINKOJE MOODLE – LIEDM NUOTOLINIO MOKYMOSI PLATFORMOS ALTERNATYVA

sunku prognozuoti ryšio sutrikimus, atsiranda tei-sinių duomenų saugojimo problemų. Todėl būtina diegti vietinę sistemą;

• sistemos palaikymas – būtinas kriterijus mokymosi proceso pateikiamumui užtikrinti. LieDM atveju Blackboard sistema palaikoma centralizuotai. Atvirojo kodo sistemoms būdingas tik bendruome-nės palaikymas, t. y. nėra konkrečių įsipareigojimų, todėl diegiant tokio tipo sistemas būtina rasti būdą, kaip užtikrinti palaikymą;

• mokama sistema – krizės metu išaiškėjo, kad licen-cijų įkainiai gali būti lemiami.

Iš 1 lentelės matome, kad daugiausia pageidaujamų kriterijų tenkina atvirojo kodo sprendimas BigBlueButton (http://bigbluebutton.org/). Tai yra funkcionali atvirojo kodo sistema, veikianti nemokamo Red5 Flash serverio pagrindu. Sistemą galima diegti organizacijos serveryje (tam pateiktos išsamios instrukcijos) ir jau paruoštu inte-gravimo moduliu integruoti su Moodle sistema. Trūkumai – negarantuotas sistemos palaikymas, ribotas failų dali-jimosi sistemos funkcionalumas. Taigi tai nėra visavertė alternatyva šiuo metu LieDM naudojamai mokymosi pla-tformai.

Keliamus reikalavimus VK sistemai, pritaikytai darbui su Moodle sistema, geriausiai galėtų atitikti nauja, LieDM tinklo funkcinius reikalavimus atitinkanti sistema.

VI. IŠVADOS

1. VMA Moodle turi standartines virtualioms moky-mosi aplinkoms būdingas funkcijas ir gali būti naudojama

kaip alternatyva Blackboard Vista sistemai, bet be vaizdo konferencijų funkcijų ji yra nevisavertė LieDM nuotolinio mokymosi platformos alternatyva.

2. Sistemos palaikymas – būtinas kriterijus mokymosi proceso pateikiamumui užtikrinti. LieDM atveju Blackboard sistema palaikoma centralizuotai. Atvirojo kodo sistemoms būdingas tik bendruomenės palaikymas, t. y. nėra konkre-čių įsipareigojimų, todėl diegiant tokio tipo sistemas būtina rasti būdą, kaip užtikrinti palaikymą.

3. Analizuojant VK sistemų savybes nerastas keliamus reikalavimus atitinkantis VK įrankis, pritaikytas Moodle sistemai. Sprendimas: naujos LieDM tinklo funkcinius rei-kalavimus atitinkančios sistemos kūrimas.

LITERATŪRA

[1] Lietuvos virtualus universitetas oficialus puslapis [žiūrėta 2010-03-28]. Prieiga per internetą: http://www.lvu.lt/.

[2] G. Balbieris, N. Kriščiūnienė, D. Muraškienė ir kt. „Virtualioji Mokymosi Aplinka Mokyklai, Mokyklų tobulinimo programa mokymo ir mokymosi sąlygų gerinimas pagrindinėse moky-klose“. 2005. Prieiga per internetą: http://www.mtp.smm.lt/.

[3] G. Cibulskis, P. Tamošiūnas. „Sinchroninio mokymosi sistemos modelis ir praktinė realizacija“. Informacinės technologijos, 2007.

[4] Moodle VMA oficialus puslapis – MoodleDocs [žiūrėta 2009-12-12]. Prieiga per internetą: http://moodle.org/about/.

[5] D. Rutkauskienė, A. Targamadzė, V. R. Kovertaitė ir kt. Nuoto-linis mokymasis: mokomoji knyga. Kaunas: Technologija, 2003, 255 p.

[6] Elluminate oficialus puslapis [žiūrėta 2010-03-23]. Prieiga per internetą: http://www.elluminate.com/.

1 LENTELĖ. VK SISTEMŲ SAVYBIŲ ANALIZĖ

Kriterijai

Pag

eida

ujam

as r

ezul

tata

s

Moodle integruojamos sistemos Moodle neintegruojamossistemos

Ellu

min

ate

Live

[6]

Dim

Dim

[7]

Big

Blu

eBut

ton

[8]

WiZ

iQ [9

]

Skyp

e M

odul

e [4

]

LieD

M V

K [3

]

ViPS

[3]

Ado

be C

onne

ct [1

0]

Yugm

a [1

1]

GoT

oMee

ting

[12]

Tiesioginė pranešėjo transliacija T T T T T N T T T T T

Daugiataškė vaizdo konferencija T T T T T T T N T T T

Tekstiniai pokalbiai T T T T T T N T T T T

Privatus pokalbis T T T T T T N N T T T

Darbalaukio dalijimasis T T T T T T T N T T T

Transliacijos įrašymas T T T T T N T T T T T

Failų dalijimasis T T T D T T N D T T T

Vietinis (lokalus) diegimas T N N T N N N N N N N

Sistemos palaikymas T T T D N T T T T T T

Mokama sistema N T T N T N D D T T T

Žymėjimo lėntelėje reikšmė: T – tenkina kriterijų, D – iš dalies tenkina kriterijų, N – netenkina kriterijaus.

Page 156: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

156

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

[7] Dimdim oficialus puslapis [žiūrėta 2010-04-9]. Prieiga per inter-netą: http://www.dimdim.com/.

[8] BigBlueButton oficialus puslapis [žiūrėta 2010-04-8]. Prieiga per internetą: http://bigbluebutton.org//.

[9] Wiziq oficialus puslapis [žiūrėta 2010-04-9]. Prieiga per internetą: http://www.wiziq.com/

[10] Adobe connect oficialus puslapis [žiūrėta 2010-04-11]. Prieiga per internetą: http:// www.adobe.com/products/acrobatconnectpro/.

[11] Yugma oficialus puslapis [žiūrėta 2010-04-5]. Prieiga per inter-netą: http://www.yugma.com/.

[12] GoToMeeting oficialus puslapis [žiūrėta 2010-04-5]. Prieiga per internetą: http://www.gotomeeting.com/.

Page 157: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

157

Santrauka. Straipsnyje aptariami veiklos taisyk lių ir su jomis susijusių veiklos procesų modeliavimo ir realizavimo infor-macinėse sistemose klausimai. Veiksmų ribojimų taisyk les sujungus su procesų logika, gaunamos nelanksčios informaci-nės sistemos. Straipsnyje pateikta metodika, leidžianti atskirti šių tipų taisyk les. Ribojimų taisyk lės realizuojamos duomenų bazėse, pasitelkus sprendimų lenteles. Pateiktas pagal šią meto-diką realizuotos draudimo informacinės sistemos pavyzdys.

Reikšminiai žodžiai: veiklos taisyk lės, veiklos procesai, spren-dimų lentelės.

I. ĮVADAS

Kuriant informacines sistemas (IS), veiksmų ar struktū-ros ribojimus išreiškiančios veiklos taisyk lės dažnai sujun-giamos su veiklos procesų logika. Tokios sistemos nėra lanksčios, nes bet koks veiksmų ribojimo taisyk lių pakei-timas sukelia ir veiklos procesų pokyčius.

Tikslinga atskirti veiksmų ribojimų taisyk les nuo veik-los procesų logikos ir realizuoti ribojimų taisyk les duomenų bazėse ar programų komponentuose taip, kad sukurtos sis-temos būtų lanksčios. Bet kaip tai padaryti praktiškai? Šia tema daug diskutuojama literatūroje, vis dėlto sistemų ana-litikams ir projektuotojams nuolat trūksta praktinių meto-dikų apie veiklos taisyk lių atskyrimą [1], [2], [3].

II. VEIKLOS TAISYK LĖS IR JŲ KLASIFIKACIJA

Yra sudaryta daugybė įvairių veiklos taisyk lių klasi-fikavimo būdų. Vieną svarbiausių pateikė grupė IT srities specialistų GUIDE veiklos taisyk lių projekte [4].

Pagal GUIDE, veiklos taisyk lė – sakinys, kuris nusako arba riboja tam tikrus veiklos aspektus. Veiklos taisyk lės yra skirtos kontroliuoti ar veikti verslo elgseną bei struk-tūrą. Veiklos taisyk lės yra atominės, t. y. jos negali būti skaidomos į detalesnes veiklos taisyk les.

GUIDE projekte taisyk lės skirstomos į struktūrines, skirtas apibrėžti statinius organizacijos veiklos aspektus; veiksmų, išreiškiančias dinaminius organizacijos veiklos

aspektus; išvedimo, skirtas žinioms apie veiklą išvesti iš kitų veiklos žinių.

OMG veiklos taisyk lių standarte SBVR skiriami du veik-los taisyk lių tipai: struktūrinės, apibrėžiančios veiklos rei-kalavimus, ir operacinės, skirtos įpareigoti (arba uždrausti) vykdyti tam tikrus veiksmus [5]. SBVR neapima procesų taisyk lių, t. y. nuoseklių, lygiagrečių veiksmų sekų, ciklų, reakcijų į įvykius ir t. t. Struktūrinės SBVR taisyk lės atitinka GUIDE struktūrines ir išvedimo taisyk les, operacines taisyk-les galima laikyti veiksmų ribojimais. Taigi SBVR apima tik dalį GUIDE veiksmų taisyk lių – veiksmų ribojimus (1 pav).

Visas taisyk les galima pavaizduoti tiek deklaratyviu, tiek procedūriniu būdu. J. Vanthienenas ir S. Goedertieris – vieni iš autorių, nagrinėjančių veiklos taisyk lių ir procesų atsky-rimą. Savo straipsnyje jie parodė, kaip galima atskirti tam tikrų tipų procesų taisyk les (veiksmų sekos, laiko ir reakci-jos), kurias tikslinga realizuoti procesų logika, nuo veiklos taisyk lių, kurias tikslinga vaizduoti deklaratyviai ir realizuoti atskirai [2]. Deklaratyvios veiklos taisyk lės leidžia užtikrinti duomenų vientisumą pagal tai, kokia tvarka vykdomi vei-klos procesai. Bet šie autoriai nagrinėjo tik tam tikrus taisyk-lių tipus. Veiklos taisyk lių ir procesų atskyrimo principus galima formuluoti bendriau: struktūrines ir veiksmų ribojimo taisyk les tikslinga vaizduoti deklaratyviai ir realizuoti vei-klos taisyk lių logika, o procesų taisyk les tikslinga vaizduoti procesų modeliais ir realizuoti procedūriniu būdu. 1 pav. pavaizduotos minėtų veiklos taisyk lių tipų sąsajos.

1 PAV. VEIKLOS TAISYK LIŲ KLASIFIKACIJOS IR JŲ TARPUSAVIO SĄSAJOS

Veiklos taisyk lių atskyrimas nuo veiklos procesų ir realizavimas sprendimų lentelėmis

Asta TulušienėInformacijos sistemų katedra

Kauno technologijos universitetasKaunas

El. paštas: [email protected]

vadovė prof. Lina NemuraitėInformacijos sistemų katedra

Kauno technologijos universitetasKaunas

El. paštas: [email protected]

Page 158: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

158

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

III. SPRENDIMŲ LENTELĖS

Veiklos taisyk lėms specifikuoti galima taikyti spren-dimų lenteles – sudėtingos logikos modeliavimo ir realiza-vimo priemones, skirtas susijusių veiklos taisyk lių aibėms aprašyti ir tikrinti [6], [7]. Sprendimų lentelėmis galima aprašyti ir analizuoti situacijas, kuriose vertinamų išraiškų (t. y. sąlygų) aibės būsena apibrėžia gaunamus rezultatus (t. y. veiksmus). Sprendimų lentelės (1 lentelė) sudaromos taip, kad skirtingos situacijos stulpeliuose būtų pateikiamos vieną kartą.

1 LENTELĖ. SPRENDIMŲ LENTELĖS DALYS

Sąlygos Galimų sąlygų reikšmių aibių kombinacijosVeiksmai Galimų veiksmų reikšmių aibių kombinacijos

Sprendimų lenteles galima taikyti, kai veiklos taisyk-lės yra panašios, kiekviena vertinama sąlyga turi baigtinį reikšmių ar reikšmių intervalų skaičių ir rezultato negalima apskaičiuoti pagal formulę.

Sprendimų lentelės veiklos taisyk lių sistemose padeda išvengti:

• nesuderinamumų, pavyzdžiui, prieštaringų taisyk-lių, kai tomis pačiomis sąlygomis galima gauti skir-tingus rezultatus; ciklų, kurie gaunami, jei taisyk lės išvada tampa jos sąlyga;

• pertekliškumo (pvz., perteklinių sąlygų ar taisyk-lių), kuris dažniausiai nesukelia klaidų, bet kenkia sistemos efektyvumui;

• neišsamumo, atsirandančio dėl neaprašytų atributų reikšmių ar kombinacijų, sąlygų, veiksmų ir kitų trūkstamų žinių.

Pagrindiniai sprendimų lentelių privalumai:• galima patikrinti taisyk lių išsamumą: kiekvienai

būsenų kombinacijai turi būti nurodyta bent viena veiksmų kombinacija;

• galima patikrinti taisyk lių suderinamumą: kiekvie-nai būsenų kombinacijai turi būti nurodyta viena ir tik viena veiksmų kombinacija;

• lentelių sudarymo logika leidžia išvengti ciklų.

IV. SPRENDIMŲ LENTELIŲ REALIZAVIMAS DUOMENŲ BAZĖSE

Literatūroje [8] rasta pasiūlymų, kaip sprendimų lente-les galima realizuoti duomenų bazėje (DB).

A. 1-oji metodikaVeiklos taisyk lių aibė duomenų bazėje realizuojama len-

tele, kurios stulpelių skaičius yra lygus skirtingų veiksmų ir sąlygų skaičiui.

Pagrindinis šios metodikos trūkumas – neefektyvumas, kai daugelyje veiklos taisyk lių naudojama tik dalis sąlygų ar veiksmų. Tuomet daug sprendimų lentelės laukų lieka neužpildyti. Be to, pakeitus veiklos taisyk lių aibę (papil-džius naujomis taisyk lėmis ar pašalinus naudotas taisyk-

les), tenka koreguoti sprendimų lentelę (pridėti ar šalinti laukus).

B. 2-oji metodikaVeiklos taisyk lės realizuojamos DB lentelėmis, kuriose

taisyk lės, jų dalys, veiksmai, sąlygos ir jų sąsajos saugomi įrašų pavidalu. Šis sprendimų lentelių modelis pavaizduo-tas 2 pav. (pirminių identifikatorių atributai pažymėti stere-otipais <<P>>).

package diagramaData[ ]

<<P>>PavadinimasKomentaras

Subjektas

Sprendimų lentelės subjektas

<<P>>PavadinimasDataAutorius

Sprendimų lentelė

NumerisTaisyklė

Subjekto būsena<<P>>Pavadinimas

Būsena

Taisyklės dalis

Tikrinimo laikasSąlygaVeiksmas

0..*

1

0..1kviečiamaSprendimųLentelė0..1

0..*

1

0..*1

1..*

1

1

0..*

0..*

1

0..*

1

1..*1

2 PAV. SPRENDIMŲ LENTELIŲ MODELIS

Toliau pateiktas trumpas 2 pav. pavaizduoto modelio elementų aprašas:

• „Sprendimų lentelė“ – reliacinė lentelė, kurioje saugomos sprendimų lentelės charakteristikos, pavyzdžiui, sukūrimo data, autorius;

• „Subjekto“ lentelėje saugomi:a) visi galimi sprendimų lentelės subjektai, nurodant

jų tipą (sąlyga ar veiksmas);b) jei, esant tam tikrai sąlygai, kreipiamasi į kitą

sprendimų lentelę, nurodoma tos lentelės išorinio rakto reikšmė;

• „Sprendimų lentelės subjektas“ – ryšys, siejantis sprendimų lentelę ir subjektą;

• lentelėje „Būsena“ saugoma galimų subjektų reikš-mių (būsenų) aibė;

• „Subjekto būsena“ – ryšys, susiejantis būsenas ir subjektus;

• lentelėje „Taisyk lė“ saugomos sprendimų lentelės taisyk lės;

• „Taisyk lės dalis“ – ryšių lentelė, susiejanti taisyk-les, būsenas ir subjektus.

Taikant antrąją metodiką, išvengiama pirmosios meto-dikos trūkumų, kadangi DB saugoma ne fizinė sprendimų lentelė, bet informacija apie sprendimų lentelių elementus. Todėl bet kokie veiklos taisyk lių aibės pakeitimai realizuo-jami paprasčiau nei taikant pirmąją metodiką.

V. VEIKLOS PROCESŲ IR VEIKLOS TAISYK LIŲ MODELIAVIMO PRINCIPAI

Kuriant informacines sistemas, veiklos procesai daž-niausiai modeliuojami UML veiklos diagramomis, kurios

Page 159: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

159

ASTA TULUŠIENĖ, LINA NEMURAITĖ · VEIKLOS TAISYKLIŲ ATSKYRIMAS NUO VEIKLOS PROCESŲ IR REALIZAVIMAS SPRENDIMŲ LENTELĖMIS

parodo procesų veiksmų sekas. Veiklos diagramomis taip pat galima vaizduoti skaičiavimo procesus, panaudojimo atvejų scenarijus, metodų algoritmus.

Norint atskirti deklaratyvių ir procedūrinių taisyk-lių logiką, veiklos procesų diagramose nereikia vaizduoti deklaratyvių veiklos taisyk lių kaip procesų veiksmų. Pavyzdžiui, išvedimo taisyk lės, kuriomis dažnai išreiš-kiama sprendimų priėmimo logika, neturi būti pateikiamos kaip veiklos procesų veiksmai, nes jos kinta dažniau nei procesai [2] (3 pav).

3 PAV. SPRENDIMŲ PRIĖMIMO LOGIKOS ELIMINAVIMAS IŠ VEIKLOS PROCESO

Veiklos procesuose turėtų būti modeliuojamos ir reali-zuojamos procedūrinės veiklos taisyk lės, kurias turi reali-zuoti procedūrinė logika.

4 PAV. VEIKLOS PROCESO (PROCEDŪRINIŲ) TAISYK LIŲ PAVYZDYS

Pavyzdžiui, veiksmų sekos taisyk lė „Prekės pristatomos tik apmokėjus sąskaitą“ riboja tam tikras galimas proceso veiksmų sekas (4 pav.). Pasikeitus šiai veiklos taisyk lei, pasikeistų ir veiklos proceso modelis.

Išplėtus J. Vanthieneno ir S. Goedertierio pasiūlytus principus, procedūrinėje veiklos logikoje galima realizuoti veiksmų sekos, laiko, reakcijos, lygiagrečių veiksmų, ciklo, sinchronizavimo, išskirtinių atvejų ir kitas procedūrines veiklos taisyk les [3].

Veiklos procesų diagramose deklaratyvią veiklos taisyk-lių logiką galima aprašyti sprendimų taškuose. Jei sudė-tinga vienoje diagramoje pavaizduoti visų susijusių veiklos taisyk lių rinkinio logiką, tikslinga skaidyti ją į dalis.

VI. METODIKOS TAIKYMAS DRAUDIMO AKCINĖS BENDROVĖS VEIKLAI KOMPIUTERIZUOTI

Pademonstruosime šią metodiką modeliuodami drau-dimo paslaugas teikiančios akcinės bendrovės veiklą. Vienai iš draudimo sutarties įmokos apskaičiavimo taisyk-lių „Rasti bazinę įmoką“ sudaryta veiklos diagrama ir pateikta 5 pav.

Rasti bazinę įmoką Rasti bazinę įmokąactivity [ ]

: Apskaičiuoti turto draudimo bazinę įmoką

: Apskaičiuoti transporto priemonės

draudimo bazinę įmoką

: Apskaičiuoti draudimo nuo

nelaimingų atsitikimų bazinę

įmoką

: Apskaičiuoti sveikatos

draudimo bazinę įmoką

: Apskaičiuoti civilinės

atsakomybės draudimo bazinę

įmoką

: Apskaičiuoti kelionės

draudimo bazinę įmoką

[Ar tai civilinėsatsakomybės

draudimosutartis?]

[Ar taikelionėsdraudimosutartis?]

[Ar taiturto

draudimosutartis?]

[Ar taiTP draudimo

sutartis?]

[Ar taisveikatosdraudimosutartis?]

[Ar taidraudimo nuo

nelaimingųatsitikimųsutartis?]

[Draudimo sutarties tipas]

5 PAV. BAZINĖS ĮMOKOS APSKAIČIAVIMO PROCESO VEIKLOS DIAGRAMA

Transporto priemonės (TP) draudimo bazinės įmokos skaičiavimo logika pavaizduota 6 pav. pateiktame diagra-mos fragmente.

Apskaičiuoti transporto priemonės draudimo bazinę įmoką Apskaičiuoti transporto priemonės draudimo bazinę įmokąactivity [ ]

Bazinė įmoka 0,66 Lt dienai

Bazinė įmoka 0,01 Lt dienai

Bazinė įmoka 0,03 Lt dienai

Bazinė įmoka 0,2 Lt dienai

Bazinė įmoka 0,12 Lt dienai

Bazinė įmoka 0,25 Lt dienai

Bazinė įmoka 0,31 Lt dienai

Bazinė įmoka 0,05 Lt dienai

Bazinė įmoka 0,01 Lt dienai

Bazinė įmoka 0,02 Lt dienai

Bazinė įmoka 1,4 Lt dienai

Bazinė įmoka 1,2 Lt dienai

Bazinė įmoka 1 Lt dienai

Bazinė įmoka 0,8 Lt dienai

TP draudimo tipui naudojamas žymėjimas:T1 – Privalomasis vairuotojų civilinės atsakomybės draudimas;T2 – Kasko draudimas.

[Ar TP yraautobusas?]

[Ar TP yratraktoriaus,savaeigio

mechanizmopriekaba?]

[Ar TP yrakrovininis

automobilis?]

[Ar TP yratraktorius arsavaeigis

mechanizmas?]

[Ar TP yralengvasis

automobilis?] [Ar TP yrapuspriekabė?][Ar TP yra

motociklas/ motoroleris?]

[ArT1?]

[Ar T2?][Ar T2?]

[Ar T2?]

[Ar T2?][Ar T2?] [Ar T2?]

[Ar T1?] [Ar T1?]

[Ar T1?]

[Ar TP yrapriekaba?]

[Ar T1?] [Ar T2?][Ar T1?]

[Ar T1?]

[TP tipas]; [TP draudimo tipas]

6 PAV. TP DRAUDIMO BAZINĖS ĮMOKOS SKAIČIAVIMO VEIKLOS DIAGRAMA

Procesų veiklos diagramose pavaizduota deklaratyvioji veiklos logika gali būti pateikiama sprendimų lentelėmis. Veiklos diagramos objektai apibrėžia šiuos sprendimų len-telės elementus:

• veiklos diagramoje tikrinamos sąlygos apibrėžia sprendimų lentelės sąlygas ir galimas sąlygų reikš-mių aibes (7 pav.);

• veiklos diagramos veiksmai apibrėžia sprendimų lentelės veiksmus (7 pav.);

• veiklos diagramos veiklos apibrėžia sprendimų len-telės sąlygas ar veiksmus bei parodo, kada spren-dimui priimti reikia naudoti hierarchinę sprendimų lentelę (8 pav.);

Page 160: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

160

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

7 PAV. VEIKLOS DIAGRAMOS OBJEKTŲ IR SPRENDIMŲ LENTELĖS ELEMENTŲ SĄSAJA

8 PAV. VEIKLOS DIAGRAMOS VEIKLŲ IR SPRENDIMŲ LENTELĖS SĄLYGŲ IR VEIKSMŲ SĄSAJA

• kiekvienas veiklos diagramos valdymo srautas api-brėžia sąlygą ar sąlygų kombinaciją bei vykdomus veiksmus, t. y. konkretų sprendimų lentelės stulpelį (9 pav.).

9 PAV. VEIKLOS DIAGRAMOS ŠAKOS VAIZDAVIMAS SPRENDIMŲ LENTELĖJE

Draudimo bendrovės deklaratyvių veiklos taisyk lių rinkiniams sudarytos sprendimų lentelės buvo realizuotos

Oracle 10g Express Edition DBVS pagal IV skyriuje apra-šytos 2-osios metodikos principus. Vartotojo sąsaja sukurta naudojant Oracle Application Express. Iš viso realizuota 114 taisyk lių, išbandyti jų pakeitimai, taisyk lių šalinimas ir naujų taisyk lių įvedimas. Veiklos procesai keičiasi tik tada, kai atsiranda nauji veiksmai, bet tai jau reiškia veiklos pro-cesų pokyčius.

VII. IŠVADOS

Šiuolaikinės informacinės sistemos turi būti lanksčios veiklos pokyčiams, sukeltiems daugelio veiksnių, tarp kurių reikšmingą vietą užima veiklos taisyk lės. Tačiau net ir geriausiai vertinamuose projektuose pasigendama aiškiai realizuotų metodų veiklos taisyk lėms aprašyti, jų rinkiniams sudaryti ir atnaujinti. Sprendimų lentelės žino-mos jau seniai, bet jos per mažai taikomos praktikoje. Šiame darbe, laikantis deklaratyvių veiklos taisyk lių ir procesų atskyrimo principų, sudaryta veiklos procesų ir taisyk lių vaizdavimo bei realizavimo sprendimų lentelė-mis metodika. Šis darbas parodė, kad sprendimų lentelių kūrimas gali būti integruotas į šiuolaikinius projektavimo procesus, vaizduojant veiklos procesus UML veiklos diagramomis ir perkeliant sąlygas bei veiksmus į spren-dimų lenteles; taikant atskyrimo principą, veiklos pro-cesai tampa paprastesni, o projektavimas įgauna aiškias gaires. Metodika išbandyta kuriant transporto priemonių draudimo informacinę sistemą, kurioje deklaratyvi vei-klos taisyk lių logika realizuota hierarchinėmis sprendimų lentelėmis. Sukurta veiklos taisyk lių įvedimo ir modifi-kavimo sąsaja leidžia lengvai keisti veiklos taisyk les. Kadangi sąlygų, veiksmų skaičius ir lentelių hierarchijos gylis yra neribotas, sukurtą sprendimą galima taikyti įvai-riose dalykinėse srityse. Tolesnio tyrimo tikslas – ekspe-rimentiškai patikrinti sprendimo efektyvumą, esant dide-liam sąlygų bei veiksmų skaičiui ir gilioms sprendimų lentelių hierarchijoms.

LITERATŪRA

[1] T. Graml, R. Bracht, M. Spies. “Patterns of Business Rules to Enable Agile Business Processes”. Proceedings of the 11th IEEE International Enterprise Distributed Object Computing Confe-rence, IEEE Computer Society, 2007, p. 365–375.

[2] J. Vanthienen, S. Goedertier. “How Business Rules Define Busi-ness Processes”. Business Rules Journal, vol. 8, No. 3, March 2007. Prieiga per internetą: http://www.BRCommunity.com/a2007/b336.html.

[3] L. Čeponienė, L. Nemuraitė, G. Vedrickas. “Separation of event and constraint rules in UML&OCL models of service orien-ted information systems”. Information technology and control, 2009, vol. 38 (1), p. 29–37.

[4] Business Rules Group, Defining Business Rules: What Are They Really? (formerly, known as the GUIDE Business Rules Project), 3rd ed., July 2000. Prieiga per internetą: http://www.businessrulesgroup. org/first_paper/BRG-whatisBR_3ed.pdf.

[5] Semantics of Business Vocabulary and Business Rules (SBVR),

Page 161: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

161

ASTA TULUŠIENĖ, LINA NEMURAITĖ · VEIKLOS TAISYKLIŲ ATSKYRIMAS NUO VEIKLOS PROCESŲ IR REALIZAVIMAS SPRENDIMŲ LENTELĖMIS

v1.0 OMG Available Specification, OMG Document No. for-mal/2008-01-02, 2008.

[6] J. Vanthienen. “Quality by Design: Using Decision Tables in Business Rules”. Prieiga per internetą: http://www.brcommunity.com/n008.php.

[7] R. G. Ross. “Decision Tables, Part 1 ~ The Route to Consolida-ted Business Logic”. Business Rules Journal, vol. 6, No. 7, July

2005. Prieiga per internetą: http://www.BRCommunity.com/a2005/b240.html.

[8] J. Vanthienen, G. Wets. “Integration of the Decision Table For-malism with a Relational Database Environment”. Department of Applied Economic Sciences, Katholieke Universiteit Leuven. Belgium, 1995.

Page 162: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę
Page 163: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

163

Santrauka. Straipsnyje aptarta galimybė veik los procesų modeliavimą praplėsti veik los taisyk lėmis. Išanalizuoti veik-los procesai, jų struktūra, modeliavimo standartai. Nusta-tyti tinkami veik los taisyk lių abstrakcijos lygmenys, veik los taisyk lių klasifikacija bei integracijos į informacinę sistemą galimybės. Pateiktas VT integracijos į veik los procesus mode-liavimo standartą planas. Sudarytas veik los procesų modelia-vimo naudojant VT metodikos prototipas. Pagrįstas veik los procesų modeliavimo praplėsto veik los taisyk lėmis naudingu-mas ir pritaikomumas.

Reikšminiai žodžiai: veik los procesai, veik los taisyk lės, veik los procesų modeliavimas, BPMN, BPDM.

I. ĮVADAS

Organizacijos, siekiančios adaptuotis prie sparčiai besi-keičiančių aplinkos sąlygų, privalo optimizuoti savo proce-sus. Veik los procesų (VP) modeliavimas suteikia galimybę ne tik grafiškai atvaizduoti organizacijoje vykdomus pro-cesus, bet ir vykdyti jų simuliavimą, taip nustatant silpną-sias vietas. Vystant veik los procesų modeliavimo metodi-kas ir įrankius, sukurtas OMG grupės standartas – BPMN (angl. Business Process Modeling Notation), kuris tinka-mai atvaizduoja realaus pasaulio objektus bei eliminuoja atotrūkį tarp veik los procesų ir kompiuterizuojamų procesų modeliavimo. Vis dėlto šis standartas modeliuoja proceso dinamiką, tačiau nevisiškai įvertina galimus ribojimus, t. y. specifikuojami apribojimai nėra ganėtinai išsamūs ir neiš-samiai atvaizduoja realaus pasaulio procesų elgseną. Dėl šios priežasties veik los procesų modeliavimą būtina papil-dyti apribojimų valdymo elementais, t. y. veik los taisyk-lėmis (VT). Jos užtikrina įvairaus sudėtingumo apribojimų / iniciavimo / stabdymo sąlygų įvertinimą veik los procese. Veik los taisyk lė nusako, kaip turi būti elgiamasi tam tikroje situacijoje, esant tam tikroms sąlygoms. Veik los taisyk lių klasifikacijų yra įvairių, dėl to būtina atrinkti tinkamiausią veik los procesui specifikuoti. Veik los taisyk lės ne tik įver-tina esamus apribojimus, bet ir suvienodina organizacijos veik los žodyną, kurio pagrindu jos formuojamos.

Antrame skyriuje aptarta veik los procesų modeliavimo

sąvoka, išnagrinėtos modeliavimo vystymosi tendencijos ir dabartinė situacija. Atlikta VP metodikų analizė, įvertintas organizacijos atstovo ir IT eksperto indėlis modeliuojant procesus bei nustatant modeliavimo rezultato panaudo-jimą, kuriant informacinę sistemą (IS) ar optimizuojant įmonės veik lą. Aprašytas veik los procesų modeliavimo metamodelis (BPDM – angl. Business Process Definition Metamodel), jo struktūra, privalumai modeliuojant VP skirtinguose įrankiuose ir realizuojant juos skirtingose platformose. Išanalizuota veik los proceso struktūra pagal BPMN, jo galimybės atvaizduoti realaus pasaulio objek-tus, jų tarpusavio ryšius, taip pat nustatyti esami trūkumai, susiję su apribojimų veik los procesams aprašymu. Trečiame skyriuje analizuojamos veik los taisyk lių abstrakcijų lygiai bei galimos klasifikacijos. Ketvirtame skyriuje pasiūlyta schema informacinei sistemai praplėsti veik los taisyk lėmis, integravus jas į veik los procesų modeliavimą. Taip pat aprašomi veik los procesų modeliavimo metamodelio pra-plėtimo veik los taisyk lėmis žingsniai bei detalizuojami VP modeliavimo etapai kuriant veik los taisyk les. Paskutiniame skyriuje pateiktos išvados bei planuojami tolesni tyrimai.

II. VEIK LOS PROCESŲ MODELIAVIMAS

Veik los procesų modeliavimas (angl. Business Process Modeling) – tai organizacijos procesų atvaizdavimas ir simuliavimas programine įranga. Procesų modeliavimas organizacijoje atliekamas ketinant diegti naują programinę / techninę įrangą, atnaujinti įrangą, optimizuoti veik los pro-cesus, restruktūrizuoti / plėsti veik lą, įsidiegti sertifikatus, sujungti / padalyti organizaciją [10].

A. Veik los procesų vystymosi tendencijosPirmoji procesų modeliavimo karta (1900–1950 m.)

buvo srautų diagramos, funkcinių srautų blokinės diagra-mos, duomenų srautų diagramos, kontrolinių srautų dia-gramos, Ganto diagramos, Petri tinklai ir IDE. Šie mode-liai buvo paremti funkcijų ir procedūrų identifikavimu bei valdymu. Pagrindinė šios metodikos paskirtis – inžinerinių procesų dokumentavimas. Antroji karta (1950–1990 m.)

Veik los procesų modeliavimo praplėtimas veiklos taisyk lėmis

Lina TutkutėInformacijos sistemų katedra

Kauno technologijos universitetasKaunas, Lietuva

El. paštas: [email protected]

Edvinas ŠinkevičiusInformacijos sistemų katedra

Kauno technologijos universitetasKaunas, Lietuva

El. paštas: [email protected]

Page 164: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

164

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

pradėjo modeliuoti ne tik inžinerinius, bet ir veik los pro-cesus [15], [18].

Trečiojoje procesų modeliavimo kartoje [15] funkci-jas ir procedūras pakeitė procesai. Organizacijų vykdomai veik lai tampant sudėtingesnei, neužteko funkcijomis grin-džiamos metodikos vykdomiems procesams, jų tarpusavio sąveikai bei apribojimams identifikuoti. Proceso sąvoka leido sumodeliuoti sudėtingas veik las išlaikant procesų tar-pusavio nepriklausomumą, kartu formaliai aprašant jų tar-pusavio sąveiką bei reikiamus apribojimus [15]. Ši procesų modeliavimo metodika įvedė naują sąvoką procesų rein-žinerija. Taip buvo sudarytas uždaras proceso gyvavimo ciklas (identifikavimas, modeliavimas, vykdymas, opti-mizavimas) užtikrinantis tinkamą procesų valdymą. Ėmus modeliuoti procesus programine įranga, veik los procesų ir procesų modeliavimo sąvokos buvo atskirtos. Pagrindinis dėmesys sutelktas į kompiuterizuojamus organizacijos pro-cesus. Dėl šios priežasties organizacija prarado tinkamą šių procesų valdymą, nes modeliavimą atlikdavo IT analitikai / projektuotojai. Modeliuojant procesus nebūdavo įvertinami organizacijos verslumo aspektai. Kad diagramos būtų aiš-kios tiek IT analitikams, tiek organizacijos atstovams, imta vystyti procesų modeliavimo grafinės notacijas (UML, angl. Unified Modeling Language).

Šiuo metu, ketvirtojoje procesų modeliavimo kartoje sudaryti modeliai leidžia ne tik grafiškai identifikuoti pro-cesus, bet ir sumodeliuoti visą informacinę sistemą ir taip gauti ją realizuojantį programinį kodą (MDA – angl. Model Driven Architecture) [13]. Siekiant galutinai sumodeliuoti sistemą, būtina tinkamai identifikuoti organizacijoje vyk-domus veik los procesus. Taip užtikrinama visiška sukurtos informacinės sistemos integracija [14]. Šis procesų mode-liavimas apima ir esybių, duomenų srautų, procesų srautų, vartotojo sąsajos modeliavimą. Vis dėlto, kaip minėta, organizacijos identifikuoja procesus ne tik kurdamos infor-macines sistemas, bet ir, pavyzdžiui, optimizuodamos savo veik lą. Vystant procesų grafinę notaciją, organizacijos atstovams tapo įmanoma patiems identifikuoti ir apsibrėžti veik los procesus. Naujausi standartai (BPMN) leidžia apibrėžti procesą, jo vykdymo aplinkybes, apribojimus, atsakingus asmenis bei sekti procesų vykdymą ar atlikti jų simuliavimą. Eliminuotas atotrūkis tarp veik los procesų ir inžinerinių procesų. Šiuo metu veik los procesų modeliavi-mas dažnai tapatinamas su veik los procesų valdymu (angl. Business Process Management), nes apima visą funkcio-nalumą.

Lygiagrečiai BPMN [12] (OMG grupės standartas) vys-tomi ir kiti veik los procesų modeliavimo metodai, pavyz-džiui, Darbų sekų modelis (angl. Workflow), IDEF (angl. Integration Definition Function Modeling), UML (angl. Unified Modeling Language) [11]. Darbų sekų modelyje [9], [19] veik los procesas išskaidomas į darbų sekas iden-tifikavus atsakingus asmenis bei ryšį su kitais procesais. UML skirtas modeliuoti kompiuterizuojamus veik los pro-cesus [7] ir atstovauja PIM (angl. Platform Independent Model) lygmeniui MDA hierarchijoje. BPMN tiksliausiai atvaizduoja realaus pasaulio objektus ir savo notacija yra suprantamas organizacijų atstovams [12].

B. Veik los procesų aprašymo metamodelis (BPDM)Veik los procesas yra rinkinys susietų struktūrizuotų

veik lų ar užduočių, vykdančių tam tikrą paslaugą ar gami-nančių tam tikrą produktą. Veik los procesą galima dekom-ponuoti į keletą subprocesų. Dekomponavimas vykdomas naudojant „iš viršaus į apačią“ (angl. top-down) principą, kol procesas išskaidomas į nedalomas veik las (angl. activity).

Veik los procesų struktūros skiriasi pagal pasirinktą modeliavimo metodiką. Veik los procesų modeliavimo pagrindinis tikslas – visiškai ir vienareikšmiškai atvaizduoti realaus pasaulio procesus. Taip pat, remiantis MDA meto-dika, turi būti ne tik galimybė simuliuoti veik los procesus, bet juos sumodeliavus transformuoti į programinį kodą.

Siekiant įgyvendinti šiuos abu uždavinius, OMG (angl. Object Management Group) grupė sudarė formalų meta-modelį BPDM skirtą vykdomų veik los procesų (angl. Executable Business Process) sintaksei apibrėžti [2]. Metamodelis vienareikšmiškai identifikuoja elementus ir ryšius tarp jų, kurie nusako veik los procesą. BPDM neaprašo veik los proceso atvaizdavimo, t. y. nėra notacija, yra nepri-klausomas nuo platformos. Sumodeliuotas veik los procesas gali būti transformuotas į pasirinktą technologinę platformą. Kadangi proceso struktūra apibrėžta vienareikšmiškai suda-rius transformaciją, ją galima atlikti pakartotinai ir automa-tizuotai (1 pav.). Taip BPDM užtikrina sumodeliuotų veik-los procesų suderinamumą tarp skirtingų notacijų (BPDM, UML ir kitos) ir technologinių platformų (J2EE, BPEL4WS [1], XPDL ir pan.), įgalina veik los procesų migraciją tarp modeliavimo įrankių, palaikančių šį standartą.

BPDM metamodelio pagrindas yra PSL (angl. Process Specific Language) [1].

BPDM palaiko tiek procesų orkestruotę, tiek choreogra-fiją. Orkestruotė – tai proceso ir jį detalizuojančių elementų (veik lų, ryšių, informacinių srautų, apribojimų) valdymas. Choreografija – abstraktesnė sąvoka, nusakanti pačių pro-cesų valdymą tarp bendradarbiaujančių esybių, pavyzdžiui, tarp skirtingų organizacijai atstovaujančių vaidmenų (angl. actor), tarp vidinių ir išorinių esybių (klientų, tiekėjų, pada-linių ir pan.).

1 PAV. VEIK LOS PROCESŲ MODELIŲ TRANSFORMACIJOS NAUDOJANT BPDM

BPDM metamodelis sudarytas iš 6 paketų, sugrupuotų į tris grupes:

• Bendros elgsenos modelis (angl. Common Behavior Model) aprašo dinaminės elgsenos aspektus tarp orkestruotės ir choreografijos bendruoju atveju (Elgsenos modelis ir Sąveikos elgsenos modelis),

Page 165: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

165

LINA TUTKUTĖ, EDVINAS ŠINKEVIČIUSĖ · VEIKLOS PROCESŲ MODELIAVIMO PRAPLĖTIMAS VEIKLOS TAISYKLĖMIS

apima visus elementus, skirtus procesų elgsenai aprašyti;

• Veik los modelis (angl. Activity Model) su BPMN praplėtimu skirtas orkestruotei valdyti, t. y. procesų vidinių elementų tarpusavio sąveikai ir vykdymui Jis palengvina procesų pokyčių valdymą pasikeitus veik los sąlygoms;

• Sąveikų protokolo modelis (angl. Interaction Protocol Model) skirtas choreografijoms valdyti, t. y. joms grupuoti, naudoti pakartotinai.

Naudodamas elementus iš bendrų modelių bibliotekos, BPDM užtikrina suderinamumą su kitais MOF (angl. Meta Object Facility) grupės standartais.

BPDM – veik los procesų modeliavimo kalbos BPMN metamodelis. Taigi BPMN yra nuo platformos nepriklau-soma kalba, skirta veik los procesų orkestruotėms ir chore-ografijai modeliuoti. BPMN standartas – grafinė notacija, kurios elementai skirti verslo procesams ar transakcijoms modeliuoti. Šios notacijos paskirtis – palengvinti organiza-cijų bendradarbiavimą bei verslo transakcijų supratimą [7], [3]. Elementų aibė apima procesų pradžią, vidinį judėjimą, procesus, srautus, transakcijas bei jų užbaigimą. Notacija nukreipta į procesų sekas arba transakcijas. Elementų aibės plėtiniai leidžia detaliai projektuoti procesus ir transakci-jas, o detalūs modeliai yra informatyvūs realizuojant sis-temą tiek rankiniu, tiek automatiniu būdu.

BPMN taip pat perteikia tradicinio verslo procesų gali-mybes tvarkant B2B procesų sąvokas, tokias kaip viešus bei privačius procesus ir choreografiją, bei pažangias modelia-vimo sąvokas, tokias kaip prieštaravimo tvarkymas, opera-cijų ir kompensavimo valdymas.

C. Proceso struktūraPagrindinis BPMN konceptas yra Procesas

(angl. Process), kurį gali sudaryti keli subprocesai (angl. subprocess) (2 pav.), tai leidžia išskaidyti modelio elgseną ir pakartotinai panaudoti proceso komponentus ir veik las (angl. activity). Veik los gali turėti transakcijų semantiką (angl. transactional semantics), tai reiškia, kad veik lose saugoma elgsena turi būti maksimaliai atominė. Veik las

gali atlikti žmonės, organizacijos arba automatizuotos sis-temos

Veik los, sudarančios procesą, jungiamos jungiamaisiais objektais (angl. connecting object), tai gali būti sekos ar pranešimo srautas. Esant poreikiui, jungiamieji objektai praplečiami išsišakojimais (angl. gateways), esant proceso vykdymo išsišakojimui – ir įvykiais (angl. event), kurie gali inicijuoti / stabdyti proceso vykdymą. BPDM elementai grupuojami į juostas (angl. lane), šios – į baseinus (angl. pool). Juostos skirtos procesui specifikuoti, t. y. orkestruo-tei aprašyti. Pranešimų srautai tarp baseinų realizuoja pro-cesų choreografiją.

Apribojimams neskiriamas ypatingas dėmesys, juos galima iš dalies realizuoti naudojant išsišakojimus arba pranešimo srautus, bet tolesnis procesų modeliavimas ar simuliavimas jų neatspindi. Vis dėlto neužtenka integruoti sudėtingesnius apribojimus į veik los procesų modeliavimą, būtina užtikrinti ir jų valdymą. Dėl šios priežasties veik los procesų modeliavimą būtina papildyti nauja sąvoka – veik-los taisyk le.

III. VEIK LOS TAISYK LIŲ ABSTRAKCIJŲ LYGMENYS IR KLASIFIKACIJA

A. Veik los taisyk lių abstrakcijos lygmenysVeik los taisyk lė – tai loginis teiginys, nusakantis, kaip

turi būti elgiamasi, t. y., kokių veiksmų turi būti imtasi, kon-krečioje situacijoje. Veik los taisyk lė gali būti keturių skir-tingų abstrakcijos lygių (3 pav.) [8], kiekvienas iš jų skirtas skirtingai darbo grupei, dirbančiai su VT [16]. Pirmame lygyje veik los taisyk lę suformuoja įmonės atstovai – išreiš-kia idėją, kad tam tikras įmonės vykdomas procesas turėtų būti kontroliuojamas. Antrame lygyje VT idėja užfiksuo-jama neformaliu VT aprašu, nusakančiu pagrindinę jos paskirtį, bet nedetalizuojant jos veikimo. Šiame lygmenyje siekiama VT poreikį išgryninti, t. y. nors ir neformaliai, veik los taisyk lė interpretuojama kaip nedalomas vienetas, susijęs su konkrečiais verslo procesais. Šio lygio veik-

2 PAV. VEIK LOS PROCESO METAMODELIS (PAGAL BPDM)

Page 166: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

166

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

los taisyk les leidžia modeliuoti SBVR (angl. Semantics Business Vocabulary and Rules) standartas. Trečiame lygyje veik los taisyk lė modeliuojama pasirinkus taisyk lių specifikavimo kalbą. Ši užduotis skirta IT ekspertui (ana-litikui / projektuotojui). VT specifikacija atsako į klausimą „ką veik los taisyk lė turi daryti“, bet ne „kaip“.

3 PAV. VEIK LOS TAISYK LIŲ ABSTRAKCIJOS LYGIAI

Šiame lygyje veik los taisyk lė įgyja visas deklaratyviai apibrėžtai taisyk lei reikalingas savybes: užbaigtumą, tiks-lumą, autonomiškumą, deklaratyvumą, aktualumą.

Idealiu atveju, tinkamai sumodeliavus veik los taisyk les, pagal MDA (angl. Model Driven Architecture, Modeliais grindžiama architektūrą) principą, iš jų galima sugene-ruoti programinį kodą. Kadangi nėra bendros VT modelia-vimo kalbos, skirtingi veik los taisyk lių valdymo įrankiai tas pačias VT realizuoja skirtingai. Dėl to, priklausomai nuo VT sudėtingumo, tam tikrą dalį sumodeliuotų veik los taisyk lių VT valdymo įrankis pats transformuoja į progra-minį kodą, likusioms (sudėtingą logiką turinčioms VT) reikia parašyti vykdymo kodą. Tai – ketvirtas abstrakcijos lygis, kai veik los taisyk lės išreikštos programiniu kodu. Su šiomis VT dirba programuotojas.

Ilgą laiką įmonės atstovams veik los taisyk lių valdymas buvo neprieinamas, nes jos buvo programuojamos ir deda-mos į programinį kodą ar duomenų bazių trigerius. Siekiant VT atskirti nuo programinio kodo, sukurtos VTVS (veik los taisyk lių valdymo sistemos). Pagrindinė jų paskirtis [6], [17], turint IS duomenų struktūrą, grafiniu įrankiu sukurti veik los taisyk les ir integruoti jas į informacinę sistemą. Vis dėlto šiame etape veik los taisyk lės būdavo aprašomos formaliomis struktūromis, t. y. būdavo trečio abstrakcijos lygmens. Organizacijos atstovai ne visada suprasdavo VT aprašymo būdus ir ryšį su duomenų struktūromis. Taip pat visiškai nebuvo siejimo su veik los procesais (organizacijos atstovas tik vizualiai galėjo grupuoti VT). Tinkamai valdo-mos veik los taisyk lės turi būti integruotos į veik los procesų modeliavimą ir būti antro / trečio abstrakcijos lygmenų.

B. Veik los taisyk lių klasifikacijaVeik los taisyk lės gali turėti ne tik skirtingus abstrakci-

jos lygmenis, bet ir skirtingą struktūrą. Siekiant tinkamai sumodeliuoti veik los taisyk les, reikia įvertinti VT galimy-bes pagal jų tipus ir struktūrą. Kadangi nėra bendros VT modeliavimo kalbos, yra labai daug galimų VT klasifika-cijų. Veik los taisyk lės pagal jų veiksmus informacinėje sis-temoje gali būti grupuojamos į šias tris kategorijas:

• apribojančios informaciją pagal veik los įvykį (apima apribojimus ir rekomendacijas);

• leidžiančios vykdyti veiksmus įvykus tam tikram veik los įvykiui (apima leidimus vykdyti);

• sukuriančios naujus duomenis įvykus tam tikram veik los įvykiui (apima skaičiavimus ir išvadas).

Pagal detalesnę veik los taisyk lių klasifikaciją (4 pav.) VT skirstomos į vientisumo, išvesties, produkcines, ECA (įvykiais grindžiamas), transformacijos taisyk les [6]. Taisyk lė gali: apibrėžti terminą, sujungti terminus į faktus, pateikti skaičiavimų rezultatus, patikrinti sąlygas naujam faktui sukurti, patikrinti sąlygas veiksmui inicijuoti.

4 PAV. VEIK LOS TAISYK LIŲ KLASIFIKACIJA PAGAL ATLIEKAMAS FUNKCIJAS INFORMACINĖJE SISTEMOJE

VT modeliavimo įrankiuose dažniausiai naudojama struktūra – if <sąlyga> then <veiksmas1> else <veiks-mas2> (produkcinė taisyk lė). Sąlyga nurodo, kas turi būti tenkinama, kad būtų galima vykdyti veiksmas1, priešingu atveju vykdomas veiksmas2. Veiksmai gali būti įvairūs: sprendimo priėmimas, informacijos išvedimas, duomenų įrašymas / keitimas, veiksmo inicijavimas (pvz., if studento vidurkis yra 10, then stipendija yra 200 Lt).

IV. VEIK LOS PROCESŲ MODELIAVIMO METODO IŠPLĖTIMAS VEIK LOS TAISYK LĖMIS

C. Informacinės sistemos išplėtimas veik los taisyk lių moduliuŠiuo metu veik los procesų modeliavimas apima veik-

los dinamikos specifikavimą įvertinus tam tikrus bazinius apribojimus (pvz., išsišakojimus, inicijavimo /stabdymo / nutraukimo sąlygas ir pan.). Visus kitus papildomus apribo-jimus ar sudėtingesnes sąlygas reikia specifikuoti atskirai ir jos nėra įvertinamos simuliuojant sumodeliuotus procesus.

5 PAV. INFORMACINĖS SISTEMOS KŪRIMAS, GRINDŽIAMAS VEIK LOS PROCESŲ MODELIAMU BEI VEIK LOS TAISYK LIŲ VALDYMU

Page 167: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

167

LINA TUTKUTĖ, EDVINAS ŠINKEVIČIUSĖ · VEIKLOS PROCESŲ MODELIAVIMO PRAPLĖTIMAS VEIKLOS TAISYKLĖMIS

Taigi, modeliuojant naują informacinę sistemą ar rekonstruojant esamą (5 pav.), būtina veik los procesų mode-liavimo (VP) įrankį išplėsti veik los taisyk lių modeliavimu (VT). Taip būtų užtikrinta, kad įmonės atstovai identifikuos veik lą ribojančios sąlygos per pirmąją IS kūrimo stadiją ir susies su konkrečiais veik los procesais.

Sumodeliuotos VT taisyk lės transformuojamos į vyk-domą kodą ir saugomos VT saugykloje. Kadangi VT sau-gykla yra autonomiškas elementas, jis gali būti prieinamas skirtingoms duomenų saugykloms, taikomosioms progra-moms. Sukūrus veik los taisyk les, vykdomasis VT modulis integruojamas į informacinę sistemą. Dirbant su informa-cine sistema, reikiamu momentu ji kreipiasi į VT variklį, kuris iš VT saugyklos atrenka reikiamas VT ir grąžina per vykdomąjį VT modulį. Įmonės atstovas pagal poreikį gali modifikuoti VT per internetinę valdymo sąsają.

D. Veik los taisyk lių integracija į veik los procesų mode-liavimo metamodelįVeik los procesų modeliavimo metodas (BPMN) išple-

čiamas veik los taisyk lių modeliavimu šiais etapais:• identifikuojami BPMN elementai;• identifikuojamos BPMN diagramos vietos ir ele-

mentai, kuriuos VT gali išplėsti;• sudaromas veik los taisyk lių metamodelis;• BPMN metamodelis papildomas VT metamodeliu;• nustatoma VT formalizavimo laipsnio priklauso-

mybė nuo BPMN diagramos detalizavimo lygmens.Išplėtus veik los procesų modelį veik los taisyk lėmis,

sudaromos veik los procesų diagramos ( 6 pav.).

6 PAV. VEIK LOS PROCESŲ MODELIAVIMAS INTEGRUOJANT VEIK LOS TAISYK LES

Pirmas etapas – sudaryti BPMN diagramą. Antras etapas – pasirinkti reikiamą diagramos elementą, kuriam norima sukurti veik los taisyk lę. Diagramos elementai gali būti penkių tipų: srauto objektas (įvykis, veik la, išsišako-jimas), duomenų objektas (duomenų objektas, duomenų įeiga, duomenų išeiga, duomenų saugykla, savybės), jun-giamasis objektas (sekos srautas, pranešimo srautas, aso-ciacija, duomenų asociacija), plaukimo takelis (juosta, baseinas) ir artefaktai (grupės, teksto anotacijos). Trečias etapas – sukurti veik los taisyk lę. Veik los taisyk lės gali būti skirtingų tipų pagal detalumo lygmenį (neformalus / forma-lus aprašas), atvaizdavimo formą (medis, lentelė), pakarto-tinį panaudojimą (šablonas).

Veik los taisyk lių integravimo į veik los procesų mode-liavimą privalumai:

- modeliuojant veik los taisyk les (statiką), sudaromas veik los žodynas, kuris suvienodina organizacijoje vartojamus terminus;

- veik los taisyk lės kartu su veik los procesais gali būti transformuojamos į atitinkamas UML diagra-mas, t. y. vykdomas perėjimas nuo CIM prie PSM modelių pagal MDA metodiką;

- veik los taisyk lės kartu su veik los procesais gali būti transformuojamos į vykdomą kodą (pagal įrankio galimybes);

- veik los taisyk les galima transformuoti į veik los proceso dokumentaciją [5], t. y. organizacijos atsto-vas gali perskaityti VT, užrašytas natūralios kalbos sakiniais (SBVR standartas), jas patvirtinti arba atmesti. Taip validuojamas veik los procesas.

V. IŠVADOS IR TOLESNI TYRIMAI

1. Organizacijoms, siekiančios optimizuoti savo kaštus, būtina tinkamai identifikuoti vykdomus procesus. Šiuo metu egzistuojančios modeliavimo priemonės, pavyzdžiui, BPMN, leidžia organizacijų atstovams naudotis lengvai įsisavinama notacija ir ja modeliuoti bei simuliuoti savo veik los procesus. Vis dėlto, norint identifikuoti tam tikrus veik los apribojimus, kurie dažniausiai būna sudėtingi, esamos notacijos neuž-tenka, būtina praplėsti ją papildomomis struktūromis – veik-los taisyk lėmis. Taip būtų išvengta papildomų dokumentų, aprašančių sudėtingus apribojimus, bei užtikrinta, kad į juos bus atsižvelgta vykdant procesų simuliavimą, t. y. užtikrinti pilną VP kontrolę. Pasiūlyta veik los taisyk lių integravimo į veik los procesus metodika leidžia veik los procesus ir veik-los taisyk les modeliuoti kartu. Dėl to organizacijos atstovas sutaupo laiko, pats gali kontroliuoti procesus (tiek statinius apribojimus, tiek dinaminius), vykdyti jų simuliavimą.

2. Tolesni tyrimai siejami su veik los taisyk lių meta-modelio sudarymu ir jo integracija į veik los procesų meta-modelį. Šiame etapus bus nustatyti galimi veik los taisyk-lių tipai, jų pritaikymo galimybės skirtingiems BPMN standarto elementams. Veik los taisyk lės turi užtikrinti ne tik grafinį informacijos (apribojimų) atvaizdavimą, bet ir tolesnį jos panaudojimą (generuojant kodą, modeliuojant IS, dokumentuojant procesus ir pan.).

Page 168: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

168

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

LITERATŪRA

[1] C. Bock, M. Gruninger. “PSL: A Semantic Domain for Flow Models”. Software and Systems Modeling Journal, 2005.

[2] BPDM specification, OMG group, 2008, [interaktyvus, žiū-rėta 2010-03-20]. Prieiga per internetą: http://www.omg.org/specBMM/1.1/Beta2/PDF.

[3] BPMN specification, OMG group, 2008, [interaktyvus, žiūrėta 2010-03-20]. Prieiga per internetą: http://www.bpmn.org/.

[4] Business Process with BPEL4WS: Understanding BPEL4WS, [interaktyvus, žiūrėta 2008-02-21]. Prieiga per internetą: www.ibm.com/developerworks/library/ws-bpelcol1/.

[5] J. Cabot, R. Pau, R. Ravents. “From uml/ocl to sbvr specificati-ons: a challenging Transformation”. Information Systems Else-vier, 2009.

[6] M. Chisholm. “How to Build a Business Rules Engine”. Morgan Kaufman Publishers, 2004.

[7] O. Glassey. “A case study on process modelling – Three ques-tions and three techniques”. Decision Support Systems, vol. 44, No. 4, March, 2008, p. 842–853.

[8] B. Von Halle. “Business Rules Applied: Building Better Systems Using the Business Rules Approach”. John Wiley & Sons, Inc., Announces Quarterly Dividend, 2001.

[9] D. Hollingsworth. “The Workflow Reference Model 10 Years On”. Fujitsu Services, United Kingdom Chair, Technical Commit-tee, WfMC [interaktyvus, žiūrėta 2009-12-15]. Prieiga per inter-netą: http://www.wfmc.org/Specifications-Working-Documents/General/View-category.html?limitstart=10.

[10] A. Lindsay, D. Downs, K. Lunn. “Business processes – attempts to find a definition”. Information and Software Technology, No. 45, 2003, p. 1015–1019.

[11] G. Mentzas, C. Halaris, S. Kavadias. “Modelling business pro-cesses with workflow systems: an evaluation of alternative approaches”., International Journal of Information Management, vol. 21, 2001, p. 123–135.

[12] M. Muehlen, M. Indulska, G. Kamp. “Business process and business rule modeling languages for compliance management: a representational analysis”. ACM International Conference Proceeding Series, vol. 334, 2007, p. 127–132.

[13] OMG Model-Driven Architecture Home Page [interaktyvus, žiūrėta 2010 03 10]. Prieiga per internetą: www.omg.org/mda/index.htm.

[14] R. Paiano, A. L. Guido, A. Pandurino. “Designing Complex Web Information Systems: Integrating Evolutionary Process Engine-ering”, 2009.

[15] A. Rolstadås. “Business process modeling and reengineering”., In: Performance Management: A Business Process Benchmar-king Approach, p. 148–150, 1995.

[16] T. Skersys, V. Pečiulis, R. Simutis. “Business rules specification using natural language-based templates: approach and imple-mentation”., Information Technologies’ 2008: proceedings of the 14th International Conference on Information and Software Technologies, Kaunas, Lithuania, April, 2008, p. 353–360.

[17] L. Tutkutė. “Possibilities of business rules modeling and inte-gration into the information systems”. Research Reports on Business Informatics, Proceedings of the 8th MINE Workshop Methodologies for Interactive Networked Enterprises, Gdansk, September, 2008, p. 29–34.

[18] S. Williams. “Business Process Modeling Improves Administra-tive Control”. Automation, December, 1967, p. 44–50.

[19] Workflow Management Coalition, Glossary – A Workflow Management Coalition Specification, Brussels Belgium, 1994.

Page 169: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

169

Santrauka. Straipsnyje aptarti dažniausiai naudojami duo-menų integravimo metodai ir jų esminiai bruožai, išskirtos pagrindinės integravimo uždavinių problemos: skirtingi duomenų šaltinių formatai, neužtikrinama liktinių duomenų panaudojimo skirtingose IS kokybė ir vientisumas, ribotos gali-mybės papildyti duomenų modelį naujais duomenimis. Todėl iškelta idėja – duomenų integravimui naudoti ontologijas ir semantinio tinklo aprašymo kalbas RDF/OWL. Išnagrinėtos Oracle duomenų bazių valdymo sistemos (DBVS) galimybės saugoti RDF grafus. Sudarytas Oracle DBVS SPACIAL RDF duomenų modelis ir detalus jo aprašymas. Pateiktos SQL ir SPARQL funkcinės galimybės integruotoms užklausoms rea-lizuoti iš RDF grafų, saugomų minėtoje DBVS.

Reikšminiai žodžiai: ontologijos, duomenų integravimo metodai, Oracle SPACIAL RDF duomenų modelis.

I. ĮVADAS

Šiuo metu dominuojančios informacinių sistemų (IS) infrastruktūros charakterizuojamos kaip sudėtingos, dau-gialypės, heterogeninės aplinkos. Duomenų ir įvairių pro-gramų integravimas – nuolatinis iššūkis sistemų kūrėjams kaip ir tikslios, šiuolaikinėje konkurencinėje rinkoje būti-nos informacijos suteikimas. Efektyviam duomenų srautų tarp skirtingų duomenų šaltinių integravimui ir valdymui užtikrinti galima pasirinkti šiuo metu populiariausius metodus: ETL (angl. Extract, Transform, Load), replika-vimą (angl. replication), jungimą (angl. federation), įvy-kiais valdomą integraciją (angl. event-based integration), žiniatinklio technologijas ar atvirus standartus. Tačiau šių metodų naudojimas tarp skirtingų DBVS turi esminių trū-kumų [14]:

• neužtikrinamos ir nesprendžiamos duomenų auto-matinio atnaujinimo problemos;

• neatsisakoma saugoti tuos pačius duomenis keliuose informaciniuose ištekliuose;

• nėra galimybės gauti duomenis arba jų pagrindu suformuotus informacinius pranešimus tiesioginės prieigos būdu, nenaudojant daug sąnaudų reikalau-jančių priemonių: duomenų bazių kopijų, fakso, elektroninio pašto.

Daugelis duomenų integravimo projektų žlunga dėl [14]:

• metodų stygiaus, kaip papildyti duomenų modelį naujais duomenimis;

• prastų perspektyvų pakartotinai (angl. re-use) panaudoti duomenis;

• ribotų galimybių pakartotinai agreguoti (angl. re-aggregate) aplikacijas;

• skirtingų duomenų šaltinių formatų (tekstinių failų, XML schemų, reliacinių modelių) naudojimo.

Vienas naujausių mokslo tyrimo objektų – ontologi-jomis grindžiama (angl. ontology-based) duomenų inte-gracija, kurios architektūrinis modelis pateikiamas 1 pav. Ontologijų panaudojimo integravimo procese esminiai pri-valumai: ryšiai tarp įvairių duomenų šaltinių, apibrėžiami nenaudojant programinio kodo, o remiantis lanksčiu duo-menų modeliu – RDF, kuris leidžia centralizuotai valdyti metaduomenų modelius.

1 PAV. RDF GRAFŲ PANAUDOJIMAS SKIRTINGŲ DUOMENŲ ŠALTINIŲ INTEGRAVIMO PROCESE

Šioje srityje atliekami tyrimai rodo [1], kad semanti-nių technologijų naudojimas duomenų integravimo procese užtikrina duomenų kokybę, turimų duomenų ir verslo tai-syklių nuoseklumą ir darną. Nes tik tuomet galima anali-zuoti didelius informacijos kiekius, atskleisti įvairiausius jos aspektus, spręsti minėtas problemas ir paskleisti rezul-tatus kitose terpėse.

Oracle DBVS galimybės ontologijomis grindžiamo duomenų integravimo procese

Virginija UzdanavičiūtėInformacijos sistemų katedra

Kauno technologijos universitetasKaunas, Lietuva

El. paštas: [email protected]

Rimantas ButlerisInformacijos sistemų katedra

Kauno technologijos universitetasKaunas, Lietuva

El. paštas: [email protected]

Page 170: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

170

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

Naudojant RDF/OWL duomenų modelius, turi būti išspręsta ontologijų saugojimo problema, t. y., kur ir kokio algoritmo pagrindu bus saugojami RDF grafai. Galimi sprendimų variantai:

• tekstiniuose failuose;• reliacinėse DB.Pirmasis būdas reikalauja pakankamų kompiuterio

resursų ontologijoms valdyti, neužtikrinamas greitas ir efektyvus saugojimas, užklausų vykdymas.

Antruoju sprendimo būdu užtikrinamas vienas RDF grafų saugojimo metodas, prieiga prie modelių, centrali-zuotas pakeitimų valdymas, galima naudoti užklausų kal-bas (SQL, SPARQL).

Kadangi antrasis būdas turi daugiau privalumų, tiks-linga išnagrinėti šiuolaikines DBVS, užtikrinančias RDF grafų saugojimą. Nuo 11 g versijos, Oracle DBVS užtikrina šį funkcionalumą, kuris ir apžvelgiamas šiame straipsnyje.

II. DUOMENŲ MODELIŲ PALYGINIMAS

SQL/RDBMS, Xquery/XML, SPARQL/RDF – tai pagrindiniai šiuolaikiniai metodai, skirti informacijai gauti ir valdyti. Šios informacijos gavimo technikos naudojamos priklausomai nuo sprendžiamo uždavinio sudėtingumo ir duomenų valdymui keliamų reikalavimų.

A. SQL/RDBMS duomenų valdymo metodasSQL/RDBMS: reliacinių duomenų bazių užklausų

kalba SQL naudojama tuomet, kai reikalingas efektyvus transakcijų valdymas. Dažniausiai vartotojas manipuliuoja duomenimis naudodamasis aplikacijomis, kurios reikalauja įprastų įvedimo parametrų – teksto, datos, skaičiaus duo-menų tipų. Transakcijų pavyzdžiai pateikti 1 lentelėje.

1 LENTELĖ. TRANSAKCIJŲ VALDYMAS ORACLE DBVS

Transakcijos Aprašymas

Insert into autorius (autoriaus-Id, pavar-de, gim_data) values (100, ‘Jim Jones’,

1959.01.01)Insert into autorius (autoriaus_id, pavar-de, gim_data) values (100, ‘Jack Smith’,

1969.07.01);Commit;

Insert into auotrius (autoriaus_id, pa-varde, gim_data) values (100, ‘Jenny

Brown’, 1977.01.01);Rollback;

Vykdomi 2 SQL sakiniai: autorių įvedimas į DB. Commit – išsaugo visus

pakeitimus DB;Rollback – atstato DB į pra-dinę būseną, t. y. 3 autorius neįvedamas į DB lentelę.

Visi metaduomenys apie transakciją saugojami aplika-cijoje arba duomenų bazių (DB) schemoje. Metodo privalu-mai: sąlyginai mažas transakcijos vykdymo laikas, efekty-vumas, patikimumas ir kokybė.

Kai transakcijos vykdomos keliose skirtingose sis-temose, jas sunku suvaldyti. Programų klientai naudoja skirtingas aplikacijas ir DB tai pačiai transakcijai įvyk-dyti. Tuomet SQL naudoti labai sunku. Todėl dažniausiai

naudojamas kitas metodas – Xquery/XML kartu su tinklo paslaugomis (Web servisais).

B. Xquery/XML duomenų valdymo metodasXML dokumentai [13] naudojami SQL transakcijoms

vykdyti (2 lentelė), išskyrus XML metaduomenis apie tran-sakcijos duomenis. Tada siunčiamas XML dokumentas iš vienos organizacijos į kitą ir sutarta schema gali būti nau-dojama metaduomenims apie transakciją identifikuoti. Šis metodas taikytinas tuomet, kai organizacijos veiklos yra gerai struktūrizuotos.

2 LENTELĖ. XQUERY UŽKLAUSOS PAVYZDYS

XQuery užklausaAprašymas

fire-xquery --query=’{doc(“periodic.xml”)/PERIODIC_TABLE/ATOM[NAME=”Zinc”]}’

Užklausa, skirta surasti che-minio elemento – Cinko in-

formaciją, cheminių elementų lentelėje.

XQuery – duomenų užklausų XML kalba, naudojama XML duomenų bazėse, atitinka SQL užklausas tradicinėse DB. XQuery/XML ne toks efektyvus metodas [10], [12] kaip SQL/RDBMS, bet suteikia daugiau galimybių tran-sakcijoms vykdyti ir lankstumą, reikalingą informacijai aplikacijose pateikti. Xquery/XML reikalauja, kad infor-macijos siuntėjas ir gavėjas susitartų dėl dokumento for-mato. Vartotojai apytiksliai turi žinoti, kiek laiko ir kaip informacija bus naudojama. Daugeliu atvejų žinoma:

• kam informacija bus reikalinga;• kaip vartotojai apdoros informaciją;• kaip informacija bus pakartotinai panaudota atei-

tyje.

C. SPARQL/RDF duomenų valdymo metodasOntologijomis grindžiamos semantinio Web technologi-

jos leidžia sistemoms „kalbėtis“ apie jų saugomų duomenų pobūdį, manipuliavimo tais duomenimis būdus ir veiksmus, kuriems vykdyti galima panaudoti tuos duomenis (2 pav.).

2 PAV. DUOMENYS SEMANTINIAME TINKLE

SPARQL/RDF (angl. Simple Protocol/RDF Query Language) metodas sukurtas kuo lanksčiau informacijai paskirstyti. RDF (angl. Resource Description Framework) yra W3C konsorciumo patvirtinta kalba [4], [7], skirta metaduomenims aprašyti semantiniame tinkle.

Page 171: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

171

VIRGINIJA UZDANAVIČIŪTĖ, RIMANTAS BUTLERIS · O R A C L E DBVS GALIMYBĖS ONTOLOGIJOMIS GRINDŽIAMO DUOMENŲ INTEGRAVIMO PROCESE

RDF kalboje ryšiai tarp resursų nusakomi trejetu: <subjektas/išteklius><predikatas/savybė><objektas/reikšmė> (3 lentelė).

3 LENTELĖ. RDF FORMULUOTĖ

Dalys

SakinysOra Lassila yra šio šaltinio

http://www.w3.org/Home/Lassila kūrėja Subjektas (Šaltinis) http://www.w3.org/Home/Lassila

Predikatas (Savybė) Creator Objektas (Reikšmė) “Ora Lassila“

Tokių trejetų aibė sudaro RDF grafą (3 pav.), kuris yra kryptinis ir žymėtasis.

3 PAV. RDF GRAFAS

RDF gali būti naudojamas modeliuoti ir integruoti relia-cinėse DB saugomus duomenis, apibrėžti ryšius tarp įvairių duomenų šaltinių nenaudojant programinio kodo [5]. Tai taip pat leidžia centralizuotai valdyti metaduomenų mode-lius nesutelkus duomenų į vieną saugyklą.

Informacijai iš RDF grafų gauti buvo reikalinga užklausų kalba. Užklausomis grįstų samprotavimų standar-tas sukurtas 2006 m., o 2008 m. sausio mėn. W3C konsor-ciumas rekomendavo naudoti ją kaip ontologijų užklausų kalbą. Metodo esmė – vartotojai, turintys mažai techninių žinių ir menkai nutuokiantys, kur duomenys saugomi ar kaip jie yra struktūrizuoti, gali kurti užklausas.

SPARQL palaiko 4 užklausų formas:• SELECT grąžina visus arba dalį kintamųjų, kurie

buvo susieti užklausos šablone;• CONSTRUCT grąžina RDF grafą, sukonstruotą

pagal užklausos šablone paminėtus kintamuosius;• ASK nustato, ar egzistuoja faktinė informacija

pagal užklausą. Grąžinama loginė reikšmė;• DESCRIBE grąžina RDF grafą, kuris aprašo rastus

resursus.SPARQL [8] leidžia rašyti paprastas užklausas, išreiš-

kiamas paprastu grafo šablonu <subjektas/išteklius> <predikatas/savybė><objektas/reikšmė>, kur kiekvienas elementas gali būti kintamasis ir sudėtingesnes, naudo-jančias agreguotus šablonų rinkinius ir papildomus ribo-jimus. SPARQL yra nepriklausoma nuo kalbos ir nau-dojamos platformos. Kiekvienas iš minėtų metodų turi privalumų ir trūkumų, todėl 4 lentelėje pateikta lygina-moji jų analizė.

Lankstumas – tai reikalavimas greitai ir efektyviai, be didelių modifikacijų atlikti pakeitimus duomenų mode-lyje.

Efektyvus transakcijų valdymas – kad pati tranzakcija netaptų iš dalies įvykdyta įvykus ryšio ar techninės įrangos trikdžiams ir nepraradus duomenų. Užtikrinamos galimy-bės atlikti keletą veiksmų DB, neišsaugant pakeitimų.

Minimalios techninės žinios užklausoms kurti – varto-tojui nereikia žinoti SQL, XML kalbų.

Patikimumas – užtikrinamas transakcijų vykdymas, klausiamos informacijos kokybė.

Centralizuotas duomenų valdymas – užtikrinama ben-dra prieiga prie duomenų ir pakeitimų valdymas.

4 LENTELĖ. DUOMENŲ VALDYMO METODŲ LYGINAMOJI ANALIZĖ

Duomenų modelių lyginimasDuomenų valdymo metodai

SQL/RD-BMS

Xquery/XML

SPARQL/RDF

Metodo lakstumas - -/+ +

Efektyvus transakcijų valdymas + - -Minimalios techninės žinios

užklausoms kurti- - +

Metodo patikimumas + - +Centralizuotas duomenų val-

dymas+ - +

III. HETEROGENINIŲ DUOMENŲ ŠALTINIŲ INTEGRAVIMO PROCESAS ORACLE DBVS

Plėtojant RDF ir OWL [6] aprašymo kalbas, tobulinant technologijas darbui su ontologijomis, atsirado poreikis turėti pagrindines operacijas atliekančius įrankius, kuriais galima atlikti pagrindinius veiksmus: kurti ontologijos modelius, išsaugoti, nuskaityti, kurti užklausas, valdyti duomenis ir ontologijų elementus. Oracle DBVS 11 g palaiko RDF/RDFS/OWL [11], todėl buvo iškeltas tiks-las – išnagrinėti šios korporacijos siūlomą duomenų inte-gravimo iš Web šaltinių, RSS resursų ir turinio valdymo sistemų spendimą (4 pav.) .

4 PAV. SEMANTINIŲ TECHNOLOGIJŲ PANAUDOJIMAS, REALIZUOJANT INTEGRAVIMO PROCESĄ ORACLE DBVS [11]

Šioje semantinėje RDF/OWL saugykloje (5 pav.) [1] vartotojui galima:

• užkrauti, saugoti RDF/RDFS/OWL modelius;

Page 172: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

172

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

• vykdyti DML (angl. Data Manipulation Language) funkcijas iš RDF/RDFS/OWL modelių;

• apibrėžti modelių taisykles;• naudojant SPARQL grafinius šablonus, vykdyti SQL

užklausas iš RDF/OWL duomenų ir ontologijų; • vykdyti ontologijomis grindžiamas užklausas iš

reliacinės DB.Oracle RDF/RDFS/OWL semantinių duomenų saugyk-

lai būdingos šios savybės [3]:• patikimumas – trilijonai RDF trejetų aibių;• prieinamumas – tūkstančiai vartotojų;• apsauga – apsaugo jautrią verslo informaciją;• greitis – efektyvus užkrovimo ir užklausų vykdy-

mas;• prieinamumas – iki verslo programų;• neribotas valdymas – daug informacinių išteklių.Saugyklos struktūrinis modelis pateiktas 6 pav. Kiekvienas duomenų modelis yra RDF/OWL gra-

fas, susidedantis iš kryptingų žymių. Kiekviena žymė

vaizduojama kaip predikatas, susiejantis subjektą ir objektą.

D. Oracle SPATIAL RDF duomenų modelis

Oracle RDF duomenų modelis (7 pav.) palaiko 3 duo-menų bazių objektų tipus [9]:

• modelį (RDF grafas) – kaip saugomą informaciją apie tam tikrą dalykinę sritį;

• taisyklių bazę;• taisyklių indeksus.RDF trijulė yra išskaidyta ir objektai saugomi lente-

lėse [2]. Lentelėje „rdf_model$“ saugoma informacija apie visus RDF ir OWL modelius DB-ėje. Sukūrus naują RDF modelį, automatiškai sukuriamas naujas modelio indenti-fikatorius – „model_id“ ir tuomet įrašas išsaugomas lente-lėje „rdf_model$“. Po to kiekvienam RDF trijulės vienetui sukuriami įrašai lentelėje „rdf_value$“. Tekstinės reikšmės išsaugomos „value name“ lauke. Jeigu tokios RDF grafo

Lentelės

A1

A2

An....

RDF/OWL duomenys ir ontologijos

Model 1

Model 2

Model n....

Žodynai ir taisyklių bazės

OWL RDF/RDFS

Taisyklės m....

Taisyklių indeksai

Suformuotas trejetas 1

Suformuotas trejetas p

Suformuotas trejetas 2

6 PAV. SAUGYKLOS STRUKTŪRŲ MODELIS [3]

RDF/OWL duomenys ir ontologijos

Reliacinių DB duomenys

Semantika Užklausų valdymasFormuoti

RDF/OWL duomenis ir ontologijas

Ontologijomis grindžiama užklausa

Sau

gykla

Įkel

ti gr

upę

mod

elių

DM

LĮk

elti

vien

ą m

odel

į

OWL RDF/SVartotojo

apibrėžiamos taisyklės

5 PAV. SEMANTINIS RDF/OWL DUOMENŲ SAUGYKLOS MODELIS [3]

Page 173: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

173

VIRGINIJA UZDANAVIČIŪTĖ, RIMANTAS BUTLERIS · O R A C L E DBVS GALIMYBĖS ONTOLOGIJOMIS GRINDŽIAMO DUOMENŲ INTEGRAVIMO PROCESE

reikšmės jau yra lentelėje, tuomet nauji įrašai nekuriami, o naudojami esami.

7 PAV. ORACLE RDF SAUGYKLOS DUOMENŲ MODELIS

RDF trijulės duomenys surišami į grafą: subjektai ir objektai saugojami kaip mazgai, o savybės – kaip nuoro-dos. Tokie duomenys valdomi centralizuotai – pagrindinėje schemoje, kurioje yra vartotojo funkcijos ir konstrukcijos užklausoms kurti, RDF duomenims atnaujinti. RDF duo-menys saugomi vienu metodu: kiekviena RDF trijulė (sub-jektas, predikatas, objektas) – traktuojamas kaip vienas DB objektas.

Subjekto mazgai yra pradiniai nuorodų mazgai, o objekto mazgai – galiniai. Ši informacija saugoma lentelėje „rdf_links“, o lentelėje „rdf_blank_node$“ yra saugoma informacija apie tuščius mazgus, „rdf_node“ – saugo tik identifikatorių „node_id“, kuris yra toks pat kaip mazgų (subjektų, objektų) identifikatorius „value_id“.

IV. INTEGRUOTŲ UŽKLAUSŲ FORMAVIMO GALIMYBĖS ORACLE DBVS

Iš saugyklos RDF/OWL duomenys gali būti išren-kami naudojant SQL užklausų kalbą. „SEM_MATCH“ lentelės funkcija gali būti panaudojama formuojant SQL užklausą, išgaunant RDFS, OWL ir vartotojo apibrėžtas taisykles, nes tenkina W3C konsorciumo iškeltus reika-lavimus.

5 lentelėje pateikiami minėtos funkcijos naudojimo pavyzdžiai: Tomo senelio vardo ir sergančių imunodeficito sutrikimu paieška: SPARQL užklausos ir jas vaizduojan-čios ontologijos.

Duomenų išgavimo iš RDF modelio pavyzdys pateiktas 6 lentelėje.

5 LENTELĖ. SPARQL UŽKLAUSŲ PAVYZDŽIAI

Užklausų formavimo pavyzdžiai

Semantinė užklausaGrafinis

atvaizdavimas

select y fromTABLE (SEM_MATCH(‚{:Tom :hasParent ?x .

?x :hasFather ?y}‘,SEM_Models(‘family‘), ...);

select x fromTABLE (SEM_MATCH(‘{:Tom :hasGrandFather

?x},SEM_Models(‘family‘),

...);select patient,

Diagnosis from patientsWhere SEM_RELATED(

Diagnosis, ‘rdfs:subClassOf ‘‘Immunodeficiency

Sydrome‘, ‘Cancer_ontology ‘)=1

6 LENTELĖ. RDF UŽKLAUSOS KŪRIMO PAVYZDYS

Užklausų kūrimo

pavyzdžiaiRDF užklausa Aprašymas

SELECT t.GetSubjectFROM TABLE (RDF_MATCH (RDFModels(‘Reviewers’),RDFPattern (RDF_Triple(‘?r’, ‘ReviewerOf’, ‘?c’),RDF_Triple(‘?r’, ‘rdf:type’, ‘Ph. D. Student’),RDF_Triple(‘?r’, ‘age’, ‘?a’)), ‘?a < 25’)) t;

Duomenų modelis „Recenzentai“ saugo informaciją apie visus konferencijos recen-zentus. Formuojama SQL užklausa, išren-kanti informaciją apie recenzentus, kurie yra jaunesni nei 25 metų doktorantai.

V. IŠVADOS IR TOLIMESNI TYRIMAI

1. Oracle DBVS duomenų integravimo sprendimai lei-džia greitai ir efektyviai pasiekti, integruoti ir valdyti pati-kimus, nuolatos didėjančius duomenų kiekius iš heteroge-ninių duomenų šaltinių. Tai leidžia optimaliai išnaudoti jau esančias sistemas ir infrastruktūrą: patenkinti šiandienius informacijos reikalavimus, užtikrinti duomenų kokybę, optimizuoti ir išplėsti visų jau turimų sistemų vertę, paruošti aplinką naujoms verslo įžvalgos galimybėms.

2. RDF/OWL technologijų naudojimas duomenų integ-ravimo sprendimams leidžia atvaizduoti duomenų sričių tarpusavio ryšius, susieti duomenis per duomenų rinkinius ir identifikuoti naujas asociacijas. Pakartotinai naudojant liktinius duomenis atsiranda galimybės:

• saugoti ir atvaizduoti bet kokio tipo duomenis;

Page 174: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

174

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

• lengvai modifikuoti modelį, įvertinti pasikeiti-mus;

• greitai reaguoti į kliento poreikių pokyčius.3. Tolesni tyrimai bus tęsiami siekiant sudaryti hetero-

geninių duomenų šaltinių integravimo, grindžiamo ontolo-gijomis, proceso modelį.

LITERATŪRA

[1] M. Gagnon, “Ontology-Based Integration of Data Sources”, Information Fusion, 2007 10th International Conference.

[2] J. Pollock. “A Semantic Web Business Case”. Prieiga per internetą: http://www.w3.org/2001/sw/sweo/public/BusinessCase/BusinessCase.pdf.

[3] X. Lopez, M.Annamalai, J. Banerjee, J. Ihm, J. Steiner. “Seman-tic Data Integration for the Enterprise – Oracle Semantic Tech-nologies”. Prieiga per internetą: http://www.semanticuniverse.com/articles-semantic-data-integration-enterprise-oracle-semantic-technologies.html.

[4] RDF Semantics. Prieiga per internetą: http://www.w3.org/TR/2004/REC-rdf-mt-20040210.

[5] L. Tankelevičienė, R. Sakalauskas. „Dalykinės srities ontolo-gija grįsta intelektualioji gedimų diagnostikos sistema“, Jaunųjų mokslininkų darbai, Nr. 5 (21), 2008.

[6] OWL Web Ontology Language Reference. Prieiga per internetą: http://www.w3.org/TR/owl-ref.

[7] Resource Description Framework (RDF). Prieiga per internetą: http://www.w3.org/TR/rdf-concepts.

[8] SPARQL Query Language for RDF. Prieiga per internetą: http://www.w3.org/TR/rdf-sparql-query.

[9] S. Stephens. “Semantic Data Integration in the Life Science“. White Paper, 2005.

[10] XML Query. Prieiga per internetą: http://www.w3.org/XML/Query.

[11] Oracle Database Semantic Technologies Overview. White Paper, 2007.

[12] Xquery/XML. Prieiga per internetą: http://www.microsoft.com/lietuva/sql/prodinfo/whats-new-in-sqlserver2005.mspx.

[13] Xquery biblioteka Nux. Prieiga per internetą: http://acs.lbl.gov/software/nux.

[14] Enterprise Data Integration. „Maximizing the Business Value of Your Enterprise Data“, 2010. Prieiga per internetą: http://www.informatica.com/INFA_Resources/br_data_integration_6671.pdf.

Page 175: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

175

Abstract. A hybrid system is a system presenting bothcontinuous time evolution and discrete events. To define andanalyse such systems prior to building the actual products,a hybrid process algebra can be employed.

Simulation is often used as a convenient way for a betterunderstanding of the systems’ evolution and its potentialweaknesses. This paper presents a general architecture of thesimulation tool for hybrid process algebras, together with aconcrete BHPC language simulator implementation.Keywords: Process algebra, hybrid systems, simulation.

I. INTRODUCTION

Hybrid systems combine continuous real-time behaviour

and discrete events. The discrete events are caused by the

evolution of continuous dynamics or external stimuli, and

the continuous dynamics changes in response to discrete

events[1, p. 2]. Embedded devices, which display both dis-

crete behaviour of digital controllers and the continuous-

time behaviour of their physical components, are a good

example of such hybrid systems. In order to verify the

correctness of the software system and the absence of an

undesired behaviour before actually building the product,

the hybrid process algebra may be employed, as it mod-

els the system and analyses it by using a mathematical

reasoning [2, p. 3].

A tool for hybrid process algebra simulation enhances

the workflow of system formalisation by providing a quick

way to check the behaviour of a system model in a defined

environment. It takes the system model as an input and

applies process algebra operators to simulate the processes.

The goal of this work is to define and implement a

simulation tool for the hybrid process algebras. The tool

is required to be easily adaptable for different process

algebras. Thus, several of the currently most popular

hybrid process algebras are selected for the comparison

of both their correlating and unique operators.

II. COMPARISON OF HYBRID PROCESS ALGEBRAS

Some of the first process algebra theories were devel-

oped starting from 1970 [3]. R. Milner’s process theory

CCS (Calculus of Communicating Systems) [4], C.A.R.

Hoare’s CSP (Communicating Sequential Processes) [5]

and J. A. Bergstra’s with J. W. Klop’s ACP (Algebra

of Communicating Processes) [6] can be mentioned as

the most notable works in the field. Currently, there is a

number of process algebras developed for hybrid systems,

including ACP [7], BHPC [1], Hybrid [8], HyPA

[9] and -Calculus [10]. Three of them are chosen for

further analysis w.r.t. their current tools availability, since

the existence of such tools shows that there is an interest

in it.

A. Overview of the existing hybrid process algebras

1) Hybrid : Hybrid language [8] is an extension

to the language , which was originally designed as

a modelling and simulation language for specification

of discrete-event, continuous-time or combined discrete-

event/continuous-time models. The first simulator, how-

ever, was suited to discrete-event models only. The simula-

tor was successfully applied to a large number of industrial

cases, such as an integrated circuit manufacturing plant, a

brewery, and process industry plants [8, p. 7].

Hybrid offers several simulation tool alternatives

for the Chi 1.0 language. The tools’ back-ends vary

from compilation of a system model to an executable

file using intermediate C language translation, Python or

Matlab Simulink based simulators, and several translation

to other available simulators (mCRL, Promela, Uppaal)

[11]. Although 2.0 language is currently defined [12],

no simulator is yet publicly available.

2) HyPA: Hybrid Process Algebra [9] is a process alge-

bra, extending ACP process algebra by providing a disrupt

operator from LOTOS, variants of the flow clauses and

re-initialization clauses [9, p. 56]. HyPA was developed

in close cooperation with the researchers of the hybrid

language. As a result, the two languages have evolved

towards each other and have many similarities in the

formal semantics [9, p. 88].

3) BHPC: Behavioural Hybrid Process Calculus [1] is

used to define a system of processes that consist of observ-

able continuous-time variables, related in a time-dependant

manner by a set of their trajectories (continuous-time

variable evolution definitions). The discrete behaviour of

a system is defined by a set of instantly executed actions

for the (symmetric) process synchronisation [1, p. 66].

B. Transition systems

Transition systems are used to describe the dynamic

behaviour of the analysed systems. A transition is a

relation function defined over a subset of the Cartesian

product of the states ( ) and is usually denoted by an

arrow, e.g. ( ) [1, p. 75].

Abstract. A hybrid system is a system presenting both continuous time evolution and discrete events. To define and analyse such systems prior to building the actual products, a hybrid process algebra can be employed. Simulation is often used as a convenient way for a better understanding of the systems’ evolution and its potential weaknesses. This paper presents a general architecture of the simulation tool for hybrid process algebras, together with a concrete BHPC language simulator implementation.

Keywords: Process algebra, hybrid systems, simulation.

Simulation Tool for Hybrid Process Algebras

Šarūnas Valaškevičius Vytautas Magnus University

Kaunas, Lithuania E-mail: [email protected]

Tomas Krilavičius Vytautas Magnus University

Kaunas, Lithuania E-mail: [email protected]

Page 176: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

176

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

Hybrid transition system is defined by a tuple

, consisting of a system state space ,

discrete action labels , continuous-time trajectories

and transition relations and

[9, pp. 60-61].

All actions are discrete and do not modify system time,

also, there are no empty trajectories and all trajectories

are finite. Infinite evolution systems can be modelled by

concatenating finite trajectories [1, p. 75].

The simulator has a system state at any one

simulation point . As either

increases or discrete actions are executed, the previously

kept state is replaced by the next state .

C. Operators

A list of basic operators that are found in majority of

currently existing hybrid process algebras includes:

Deadlock is resolved instantly and process simulation

stops.

Alternative composition – in time non-deterministic

hybrid process algebras like BHPC or HyPA, the al-

ternative composition is resolved instantly by leaving

only one choice to execute, discarding the others.

Whereas in strong time deterministic process algebras

like Hybrid , alternative composition resolution is

delayed for all processes, which have to define the

same trajectories for the same variables. In case there

are several trajectories available in all processes, the

variable evolution is chosen non-deterministically. As

soon as all process terms cannot delay together, the

alternative composition is resolved in favour of doing

an action [2, p. 16].

Continuous-time evolution defines a transition, where

system variables change their state continuously, in

line with the system evolution time.

Instantaneous modification is a transition in which

the state of the system variables is changed instanta-

neously, without system time modification.

Guards – an operation which either delays process

execution or stops it (depending on the nature of the

process algebra time determinism), if the valuation of

it results to true.

Parallel composition defines a system execution way,

where two or more processes are executed in parallel.

Synchronisation of the processes depends on the

chosen hybrid process algebra: in BHPC it is defined

as a set of synchronisation actions [1, pp. 78, 82],

and the process that executes this action has to wait

(without trajectories execution – the waiting is done

only for discrete actions) for all parallel processes to

execute the same action. In HyPA, the synchronisa-

tion is achieved by defining communication function, where is a set of actions [9, p.

59]. If is defined, then actions and

are executed in the parallel composition as one syn-

chronised action . Hybrid uses communicationchannels for sending and receiving synchronisation

actions, additionally, synchronisation can be urgent

using urgent communicator operator [8, pp. 35-36].

Sequential composition – a defined way for con-

structing sequences of operations which are executed.

When the first sequence element is successfully ter-

minated, then the process behaves as the second

one until the sequence is finished or some element

execution fails. This operator is absent in BHPC and,

instead, action prefix and trajectory prefix are used.

Recursion is an operation, where an active simulation

process is changed to another. If sequential compo-

sition is used, the simulation process returns to the

previously executed process once it is finished. In

BHPC, where sequential composition is not possible,

recursion operation replaces the active process by

another, and returning to previously executed process

is not possible.

D. Language specific operators

1) BHPC: In addition to the basic operators, BHPC

also supports renaming and hide operators for the process

abstraction and more expressive synchronisation of parallel

composition. Both operators affect actions and system

variables. Also, idle and delay operators are used. Idle

defines a process state, where the process idles (takes an

empty trajectory) until receiving a trajectory exit command

from a parallel process. Delay operator – acts similarly

as idle, with an exception, that it waits not for an action

synchronisation, but for a defined period of time to pass.

2) HyPA: In contrast to BHPC, where each trajectory

is defined with its own exit conditions, HyPA offers

infinite trajectory definitions with a disrupt operator, which

terminates the trajectory according to the following guard.

Reinitialisation clauses in HyPA are used to instantly over-

ride process variables. Also, a (directed) communicationfunction is defined for the synchronisation of parallel

composition. HyPA uses encapsulation operator ,

which disables actions in the process .

HyPA uses a successful termination predicate [9, p.

62-63], [8, p. 26] which allows using sequential composi-

tion operator:

Where and denotes process terms, and stands for

valuation.

3) Hybrid : Alternative composition with following

delay predicate (guard) is used in Hybrid to define

a trajectory exit condition. For synchronising parallel

processes Hybrid uses channel operators, which can

directionally send or receive a process term and can be

urgent or delayable. Similarly as in HyPA, encapsulationoperator exists in Hybrid to block a predefined action

set from execution. And a successful termination is used

for sequential composition. Also, Hybrid defines a

consistency predicate , which helps

to ensure, that the process term is consistent with the

valuation in the environment [8, pp. 26, 42].

Page 177: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

177

ŠARŪNAS VALAŠKEVIČIUS, TOMAS KRILAVIČIUS · SIMULATION TOOL FOR HYBRID PROCESS ALGEBRAS

III. SIMULATION TOOL FOR HYBRID PROCESS

ALGEBRAS

A. Generic architecture

As it has been written above, a simulator is an ap-

plication which takes a process system definition as an

input and acts according to the predefined rules for each

definition statement. One of the objectives is to create

a program structure, which would be robust and easily

expandable. A stack based approach [13, pp. 418-422] for

holding current state of system evolution was chosen as it

is a proven and widely used method for executing recursive

function calls. Also, in order to support simple language

expandability, the operator implementation should employ

as little as possible other operator types directly (loosely

bounded) – abstract interfaces should be used to define the

base operator type.

The top element of the simulator structure is the non-

deterministic choice selector, which contains information

about each possible simulation flow at the current step.

The non-synchronisable SOS rules are applied at the

Listing 1: Simulation stages

expansion (lst. 1) stage. Guard evaluation, choice operation

or parallel composition expansion (linearisation) are good

examples of such operations. At this stage, no actions nor

trajectories are allowed to execute. Furthermore, if new

system evolution choices, which should be selected in

a non-deterministic manner, are created, they are moved

to the simulator’s top level data structure as an equal

alternative to the current simulation route and are resolved

in the next simulator stage.

Execute (lst. 1) stage is primarily designed for execution

of actions and trajectories – this is the stage where the

synchronisable operations are executed.

1) DAE solver integration: Usually, the trajectories of

hybrid process algebras are expressed as a system of differ-

ential algebraic equations describing the evolution of the

system variables. To support such evolution, SUNDIALS

IDA library [14] is used. The package is derived from

DASPK and is designed to solve DAE systems in the form

. The main reason why the IDA library is

chosen for solving DAE systems is that it provides fast

and elegant solution for the problem and allows using

custom evaluation functions for the integration. This way,

the same calculations logic is applied both to guard, dis-crete variables assignment and continuous-time evolutionsolving. As SUNDIALS IDA library provides a clean

API in C programming language, a C++ adapter class

DaeSolver is written for the simulator. This class uses

simulator’s Evaluable class family functionality to solve

model’s equations and then passes the result back to IDA.

Also, in order to use a different DAE solver library or tool,

only the DaeSolver class should be changed.

B. Common language constructs

In this section, the implementation of commonly used

operators is described.

Deadlock is an operator, after which, current simulation

flow stops. It is executed in the expansion stage via a C++

exception throwing.

Alternative composition creates new simulation flow

choices in the top level simulator data structure. As

this is valid only for non-deterministic choices, strong

time deterministic systems should add additional logic

to this operator – the operator should also show parallel

composition functionality, which would allow a time flow

without immediate choice resolution. In the -Calculus, if

there are different environment evolutions possible, those

choices are moved to the top level choices structure for

a non-deterministic selection. In the Hybrid – the alter-

native processes trajectories should be checked to ensure

the same variables evolution. Once all of the alternative

process terms cannot continue together, the alternative

composition is resolved either by an action execution or a

deadlock, if there are no actions possible.

Guard evaluates mathematical expression and, if the

boolean result is true, it throws a deadlock exception.

Sequential composition has no specific handling class,

as it is a direct functionality of main simulation loop.

Recursion creates a simulator execution stack element.

Also, if the recursion operation is the last in the current

stack element, then this stack element is deleted and the

result is an operation sequence replacement.

Parallel composition expands parallel operations by

creating new non-deterministic choices of possible sim-

ulation flows. Each parallel composition operator creates

new instances of the main simulation executor to the

parallel processes, expands them, and dynamically cre-

ates synchronisation simulation operators for the main

execution loop (e.g. synchronized actions or synchronizedtrajectories).

Action employs an output handler in order to notify

about a discrete system event.

Trajectory uses DaeSolver class for simulating a con-

tinuous time system evolution and notifies the output

handler about its evolution on each integration interval.

C. Process algebra specific language extensions

Since each process algebra has its own operators and

partially different implementations, the existence of an

easy and flexible way for the implementation of the

simulator changes is important. Currently, the addition of

new operators or the modification of the existing can be

achieved in two steps: by defining the operator in the

input language grammar file and specifying the operator’s

functionality in a C++ class deriving from the Expressionclass.

ANTLR [15] C++ library is used for the grammar

definition and model definition language parser generation.

It allows the creation of the language parser which, given

Page 178: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

178

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

the input file, returns a simulator execution tree. As an

example for the creation of new language constructs can

be BHPC delay operator as seen in Listing 2.

1 p r o c t r a j e c t o r y d e l a y r e t u r n s [ D e l a y E x p r e s s i o nv a l u e ]

2 : (3 LBRACKET4 DELAY KEYWORD5 LPAREN6 t i m e o u t = p r e d i c a t e v a l u e = new D e l a y E x p r e s s i o n

( $ t i m e o u t . v a l u e ) ;7 RPAREN8 RBRACKET9 ) ;

Listing 2: Grammar for the delay operator

The grammar snippet in the Listing 2 is converted to a

C code language parser library by the Antlr tool. The data

structure for the simulator will be generated from the sixth

line, which creates a DelayExpression class object for

the implementation of the operator.

As the DelayExpression implementation is basi-

cally a trajectory with a dynamically created exit condition

it is implemented as a TrajectoryBaseExpressionclass descendant. The overridden methods are a construc-tor, which creates a time-based exit condition, for the

trajectory with no system variables evolution, and the

expand method, which sets the start time of the delay

before each execution stage begins.

IV. CASE STUDY: BHAVE

A. BHave: hybrid simulator for BHPC

In order to test the effectiveness and the possibilities

of the simulator’s extensions, a minimal set of common

operators was stretched out to include the specific BHPC

language operators (hide, rename, idle and delay).

Hide and rename operators are implemented by using

execution context information (RuntimeInfo C++ struc-

ture), which is passed to each expand and execute method.

Idle operator, as it exhibits both trajectory functionality

and a functionality of an discrete synchronising action,

is implemented using C++ multiple inheritance feature

(extending both action and trajectory operators). Delayoperator, which was the example of the previous section,

is implemented as a trajectory with custom exit condition.

Also, some of the existing operators were modified.

Action operator was extended with variable discrete reini-

tialisation parameters, which modify model’s variables

once action is executed. Parallel composition expansion

stage was implemented in compliance with the ModifiedExpansion Law of the BHPC [1, p. 108].

While the current implementation of the BHPC simu-

lator (BHave [16]) is suitable for the BHPC simulation,

it should still be regarded as a work in progress – new

features for easier and more comfortable system definitions

and simulation results presentation are planned.

B. Example

Two tanks model [1, p. 89] specifies a hybrid system,

where one common fluid source fills two separate tanks.

Only one tank receives the fluid input at a time. Each of

the tanks has an opening at the bottom, through which the

fluid flows out at a constant rate (different for each

tank). Switching the source pipe from the fluid source to

any of the tanks happens instantly, and the pipes to each

tank have different diameters ( rate, at which the tank

is filled with the fluid). The objective of the system is to

maintain the fluid level in each of the tanks in the interval

. The system starts with initial fluid

levels in the tanks given ( and ). The

BHPC code for the simulation of this model is given in

Listing 3.

1 t a n k ( new l , new d out , new l i n ) =2 [ l ’ = l i n d ou t ; l i n ’ = 0 ; d out ’ = 0 ;3 (5 l ) ; ( l 1 ) ; ]4 . ( l 5 ) + ( l 1 )5 . t a n k ( l , d out , l i n ) ;6 twoTanks ( l1 , l2 , out1 , out2 , in1 , i n 2 ) =7 ( t a n k ( l1 , out1 , i n 1 ) [ twoTanks . l 1 / l , twoTanks . ou t1 /

d out , twoTanks . i n 1 / l i n ] )8 ]9 ( t a n k ( l2 , out2 , i n 2 ) [ twoTanks . l 2 / l , twoTanks . ou t2 /

d out , twoTanks . i n 2 / l i n ] ) ;10 s w i t c h e r ( new in1 , new i n 2 ) =11 s w i t c h 1 twoTanks . i n 1 = i n 1 ; twoTanks . i n 2 =0;12 . [ (5 twoTanks . l 1 ) ; ( twoTanks . l 2 1 ) ;13 ( twoTanks . l 1 1 ) ; (5 twoTanks . l 2 ) ; ]14 . f i n i s h15 . s w i t c h 2 twoTanks . i n 1 =0; twoTanks . i n 2 = i n 2 ;16 . [ (5 twoTanks . l 1 ) ; ( twoTanks . l 2 1 ) ;17 ( twoTanks . l 1 1 ) ; (5 twoTanks . l 2 ) ; ]18 . f i n i s h19 . s w i t c h e r ( in1 , i n 2 ) ;20 s w i t c h C h e c k e r ( ) = [ f i n i s h ] .21 ( ( twoTanks . i n 1 == 0) ( twoTanks . i n 2 != 0) .

s w i t c h 2 . f i l l e d 1 . s w i t c h C h e c k e r ( ) )22 +23 ( ( twoTanks . i n 1 != 0) ( twoTanks . i n 2 == 0) .

s w i t c h 1 . f i l l e d 2 . s w i t c h C h e c k e r ( ) ) ;24 main ( ) = s e t P a r a m s s t e p =1e 1 .((25 twoTanks ( 2 , 3 , 1 , 2 )26 ]27 s w i t c h e r ( 2 , 3 )28 ) f i n i s h , swi t ch1 , s w i t c h 2 ]29 ( s w i t c h 1 . s w i t c h C h e c k e r ( ) ) ) ;

Listing 3: BHPC code for the “Two Tanks” model simu-

lation

The system definition in the Listing 3 starts with tankprocess definition, which defines a trajectory, describing

the evolution of the fluid level in the tank. This trajectory

ends when the fluid level of this, or other tank reaches

range limits. After the trajectory, there is a guardoperator, which ensures, that the fluid level is in the

required range – if the guard is evaluated to true, a

deadlock occurs. The tank process then continues with

recursion repeating the same operations.

twoTanks process describes a system of two tanks,

with both tanks evolving in parallel. Variables of each tank

are renamed to use twoTank’s process variables.

A switcher models a pipe switching controller which

idles until either of the tanks reaches the required lim-

its and then instantly switches the pipe to the other

tank. The behaviour of the controller is checked by

the switchChecker process. It ensures that the pipe

switching is performed in the right process evolution step

and issues filled1 and filled2 actions to notify possible

listeners about the last position of the pipe.

Page 179: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

179

ŠARŪNAS VALAŠKEVIČIUS, TOMAS KRILAVIČIUS · SIMULATION TOOL FOR HYBRID PROCESS ALGEBRAS

FIG. 1. EVOLUTION OF THE „TWO TANKS“ MODEL SIMULATION

��������������� ����

�����

�����

����

����

�������������� �����

�����

�����������

��������������� ����������

������������

�������

������������

����

���

�������������� �����

�����

�����������

��������������� ����������

������������

�������

������������

����

���

�������������� �����

�����

�����������

��������������� ����������

������������

�������

������������

�������

����

���

�������������� �����

�����

�����������

��������������� ����������

������������

�������

������������

�������������� �����

�����

�����������

��������������� ����������

������������

�������

������������

�������������� �����

�����

�����������

��������������� ����������

������������

�������

������������

�������������� �����

�����

�����������

��������������� ����������

������������

�������

������������

�������������� �����

�����

�����������

��������������� ����������

������������

�������

������������

�������������� �����

�����

�����������

��������������� ����������

������������

�������

������������

�������������� �����

�����

�����������

��������������� ����������

������������

�������

������������

�������������� �����

�����

�����������

��������������� ����������

������������

�������

������������

�������������� �����

�����

�����������

��������������� ����������

�����������

�������

������������

�������������� �����

�����

�����������

��������������� ����������

�����������

�������

������������

�������

������ ���

����

�����

������ ����

�����

�����������

�����

���

������

��

� ��� ��� ��� ��� ��� ��� ��� ��� � �� � �� � �� � � � � � � ��������

� � � �� � � �� � � �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��������

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��������

� � � � � � �� � � � � � � � � � � � � � � � � � � � � ������

� � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��������

� � � � � � � � � � � � � � � � � � � � � � � � � � � ��������

� � � � � � � � � � � � � ��� ��

��� � � � � � � � � � � � � � � � � � � � � � � � � � � ��������

� � � � � � � � � � � � � ���� ��

�������������������

������

� �� �

��

� � � ��� � �� � �������� �� �������� �������� � � � ���

�� ��

��!"������

��!"������

main process in BHave is the starting point of the sys-tem. This process sets the required integration step parame-ter for DAE solver and invokes twoTanks in parallel to the switcher.

The visualisation of the two tanks model evolution (fig. 1) is generated using a prototype Message Sequence Plot (MSP) visualisation application [17], [18], [19], pro-posed in [1, p. 120–123]. MSP displays variables of the system processes changes together with the actions perfor-med. The system starts with the switch1 action, which sets the inflow parameters for the tanks. Then, the trajectories of the fluid flow are executed. Here we can also see that the output of tank2 is faster than the input of tank1, thus, when the pipe is switched, tank1 contains only 3 units of fluid level. After the pipe is switched, the rates of the inflow in the tank1 and the outflow of the tank2 are equal. After each full cycle of pipe switching, the levels of the fluids in the tanks are approaching the lower limit at 1, which leads to Zeno behaviour [1, p. 124] where the system will try to execute an infinite amount of pipe switching actions in a finite amount of time.

V. RESULTS AND CONCLUSIONS

In this work, several hybrid process algebras (BHPC, Hybrid χ, HyPA) were analysed w.r.t their operational simi-larities and differences for the simulation purpose. The operators of each language were grouped by their similarity to the other languages and explained.

A generic architecture for the simulation tool, suitable for such process algebras was presented. The operators of the languages were grouped by their simulation stage -pro-cess expansion, or the execution stage.

A way to extend the simulator with new operators was presented, requiring C++ and object oriented program¬ming knowledge.

BHPC language was chosen for an in-depth analysis

of the simulator’s architecture suitability. It resulted in BHave – a simulation tool for the BHPC, which was pre-sented with the implementation overview and a simulation example.

The simulation tool for hybrid process algebras is a work in progress and a more detailed presentation of it will be given in an ongoing master thesis (defence planned in June).

REFERENCES

[1] T. Krilavicius. “Hybrid techniques for hybrid systems”. Ph. D. dissertation, Univ. of Twente, Enschede, The Nether-lands, Aug. 2006.

[2] U. Khadim. “Process algebras for hybrid systems: Compari son and development”. Ph.D. dissertation, Eindhoven Univ. of Tech-nology, Eindhoven, The Netherlands, Aug. 2008.

[3] J. C. M. Baeten. “A brief history of process algebra”. Theor. Comput. Sci., vol. 335, No. 2–3, p. 131–146, May 2005.

[4] R. Milner. Communication and concurrency. 1989.

[5] C. Hoare. Communicating Sequential Processes. 1985.

[6] J. A. Bergstra, J. W. Klop. “Algebra of communicating pro cesses with abstraction”. Theor. Comput. Sci., vol. 37, p. 77–121, 1985.

[7] J. A. Bergstra, C. A. Middelburg. “Process algebra for hybrid systems”. Theor. Comput. Sci., vol. 335, No. 2–3, p. 215–280, 2005.

[8] K. L. Man, R. R. H. Schiffelers. “Formal specification and anal-ysis of hybrid systems”. Ph. D. dissertation, Eindhoven Univ. of Technology, Eindhoven, The Netherlands, Feb. 2006.

[9] P. J. L. Cuijpers. “Hybrid process algebra”. Ph. D. dissertation, Eindhoven Univ. of Technology, Eindhoven, The Netherlands, Dec. 2004.

[10] R. Milner. Communicating and Mobile Systems: The Π-calculus. Cambridge, 1999.

[11] “Hybrid chi public documentation and downloads”. Mar. 2010. [Online]. Available: http://se.wtb.tue.nl/sewiki/chi/start.

[12] D. van Beek, M. Reniers, A. Hofkamp, J. Rooda, R. Schiffelers. „Syntax and formal semantics of chi 2.0.“ Eindhoven Univ. of

Page 180: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

180

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

Technology, Tech. Rep. Jan. 2008.

[13] H. Abelson, G. J. Sussman, J. Sussman. Structure and Inter-pretation of Computer Programs. 2nd ed. The MIT Press, jan 2007.

[14] “Suite of nonlinear and differential/algebraic equation solvers.” 2010. [Online]. Available: https://computation.llnl.gov/casc/sundials/description/description.html# descrida.

[15] ANTLR working group. ANTLR V3 documentation. Mar. 2009. [Online]. Available: http://www.antlr.org/wiki/display/antlr3/antlr+v3 +documentation

[16] BHave: simulator for the BHPC. Mar. 2010. [Online]. Available: http://bhpc- simulator.sourceforge.net/.

[17] T. Krilavicius, K. Man. Intelligent Automation and Computer Engineering. Springer, 2009, ch. Behavioural Hybrid Process Calculus for Modelling and Analysis of Hybrid and Electronic Systems, p. 15.

[18] K. Man, T. Krilavicius, C. Chen, H. Leung. “Application of bhave toolset for systems control and mixed-signal design”. International MultiConference of Engineers and Computer Sci-entists (IMECS). Hong Kong. Mar. 2010.

[19] Prototype application for Message Sequence Plot visualisation. Mar. 2010. [Online]. Available: http://sourceforge.net/projects/msp-svg/.

Page 181: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

181

Abstract. Learning process is being organized in Virtual Learn-ing Environments (VLEs) for about 20 years. There are many different VLEs solutions – proprietary and open-source, very expensive and free of charge. It’s evident that despite the large variety of software, there is no ideal VLE to satisfy all expec-tations. This paper is aimed to analyze which VLE tools are fundamental in learning process, and to propose the trends for VLE quality improvement considering VLE technological quality evaluation criteria.

Keywords: virtual learning enviroment, quality criteria.

I. INTRODUCTION

Today, the learning process is hardly imaginable with-out information technology. Computers became insepara-ble part of learning process. Students rarely use traditional libraries, preferring electronic libraries, Internet search sys-tems.

According to Kurilovas [1], education providers using VLEs and have two primary aims:

• to enhance the quality of teaching and learning by allowing teachers to use pedagogies that are not possible with large numbers in face to face envi-ronment;

• to manage the delivery and administration of pro-grammes of learning through an electronic (on-line) medium. This includes management of groups of students.

One of the most significant differences between an inte-ractive CD-ROM module and VLE delivery is the added element of communication:

• tutors communicate with individual students or groups of students;

• students communicate in a virtual classroom (chat rooms / synchronous) or in online group work over a period of time (discussion boards / asynchronous) or with their tutors (e-mail).

All participants should feel that they are studying as

a part of a group, and they are not working in isolation without support [2].

Another important difference is the ability to track the progress of an individual student or to see how the unders-tanding of a group of students is developing with the help of VLE.

There are a number of VLE tools to suit the particular learner needs. There are also a number of methods suitable to evaluate the technological quality of VLEs.

II. EXPERT EVALUATION METHOD

Expert evaluation is referred here as a multiple criteria evaluation of the learning software aimed at the selection of the best alternative based on score-ranking results [3, 4].

Expert evaluation method is used to determine the sig-nificance of the number, but it can be applied intending to compose the order set for the comparison options.

The Kendall [5] rank correlation coefficient evaluates the degree of similarity between two sets of ranks given to a same set of objects. This coefficient depends upon the number of inversions of pairs of objects which would be needed to transform one rank order into the other.

2 3

1

12

( ) kk

SWr n n r T

=

=− ∑

(1)

here W – correlation coefficient; S – total of square deviations of each number evaluation results

2

11 1

1

/1∑ ∑ ∑∑=

= ==

⎥⎦

⎤⎢⎣

⎡−=

n

j

n

j

r

k jk

r

kjk tntS (2)

here kT– k number of related ranks.

If there is no related rankings correlation coefficient, W can be calculated as follows:

2 3

12

( )

SWr n n

=− (3)

Influence of Virtual Learning Environment Tools on Education Efficiency Considering

Technological Quality Criteria

Irina VinogradovaVilnius UniversityVilnius, Lithuania

E-mail: [email protected]

Page 182: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

182

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

Correlation coefficient W=1, if all the experts ranking uniform and W=0, if all different.

In order to determine the correlation coefficient (i.e., the assessment of the significance), it is necessary to know the frequency distribution, when r – experts and n – options various values. Correlation coefficient of significance is calculated by the formula:

2

1

121

( 1)1

rkk

S

rn n Tn =

=+ −

− ∑ (4)

The experts’ agreement ranking hypothesis is accepted

if 22tbl⟩ . The experts’ agreement isn‘t significantly radi-

cally different if 22tbl⟨ .

2tbl depends on the critical values and priority signifi-

cance levels [6].

FIGURE 1. SCHEMA OF CORRELATION COEFFICIENT DETERMINATION

III. VIRTUAL LEARNING ENVIRONMENT ACTIVITY TOOLS

VLE is a collection of integrated tools enabling the management of online learning, providing a delivery mech-anism, student tracking, assessment and access to resources [7]. The VLEs key tools are as follows:

Quizzes/tests are usually taken to mean exercises which are completed and answered online. Sometimes the answers appear after the individual questions, other examples give a score at the end of the completed exer-cise. Feedback is provided as an on-screen explanation of why a particular answer is incorrect or insufficient, an invitation to try again, and/or a direction to the specific area of the course materials for further study on the par-ticular point in question.

Asynchronous communication (e.g., discussion boards / bulletin boards) are online discussion facilities to conduct a debate on a particular topic, set by the teacher. Students can contribute whenever they happen to sign in, within a defined period of time, typically one or two weeks.

Synchronous communication, e.g., chat room facility to take the place of a face to face meeting. Contribution is properly speaking in real time between two or more stu-dents online at the same time.

Different VLE software packages generally include the following activity tools (for full definition of each tool, see the aforementioned key definitions):

• content module – basic document pages for text, images, audio or video clips, graphs, charts and dia-grams;

• communication – bulletin boards, asynchronous discussion technology for online chat, calendar, whiteboard and e-mail;

• assessment – self tests, online quizzes (automati-cally marked and with immediate feedback to stu-dents) and assignment upload facilities;

• student area – virtual space for individuals or groups to conduct joint project work. Functions in this area vary depending on the VLE software – the most allow creation of homepages to list current projects and link to websites; tools for taking notes online whilst studying a virtual course also exist;

• other activity technology – embedding links to be opened on content pages and linking to interactive tutorial technology such as INFORMs.

IV. EVALUATION OF THE QUALITY CRITERIA FORMATION CONCEPTS

Belton and Stewart [8] have formulated multiple criteria decision analysis alternatives’ quality evaluation criteria formation concepts. They are as follows:

• Value relevance;• Understandability; • Measurability;• Non-redundancy (e.g., is there more than one crite-

rion measure the same factor?);• Judgmental independence (e.g., criteria are not

judgmentally independent if preferences with respect to a single criterion, or trade-offs between two criteria, depend on the level of another);

• Balancing completeness and conciseness;• Operationality – it is important that the model is

not faced with special requirements (e.g., very long time), for decision makers. Models context is important;

• Simplicity versus complexity – at the beginning of the practice we have too many details, creating the model an unnecessary things can be sieved.

Using these criteria for quality structure principles, Kurilovas and Dagienė [9] formulated an integrated VLE

Page 183: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

183

IRINA VINOGRADOVA · INFLUENCE OF VIRTUAL LEARNING ENVIRONMENT TOOLS ON EDUCATION EFFICIENCY CONSIDERING TECHNOLOGICAL QUALITY CRITERIA

technological evaluation model (a system of criteria), which consists of two sets of criteria: general – internal quality criteria, and adaptation – quality in use criteria (see Fig. 2).

FIGURE 2. VLE TECHNOLOGICAL EVALUATION CRITERIA [9]

VLE conformity with the general (internal) quality cri-teria can be evaluated by computer scientists, engineers, and programmers, while the users can evaluate the adapta-tion criteria using, e.g., survey method [4].

The most important quality in use criteria are the per-sonalization aspects (facilities of each individual user to customize his/her view of the platform) and adaptivity (all kinds of automatic adaptation to the individual user’s needs).

This confirms the scientific insight and the priorities of European Union’s 7th Framework Programme for Research and Technological Development, which argues that a new personalized, adaptive, intuitive informatics and collabora-tive technology will create assumption for faster and more precise searches of quality learning content, which have a significant impact on learning.

Personalization here is treated as VLE adjustment to different individuals or groups. Adaptivity is considered as a deeper personalization level, when VLE constantly adjusts to the learner changing needs. Series of scientific research shows that the current VLE have not enough adap-tivity capabilities (especially automatic).

V. RESEARCH RESULTS

198 respondents (experts) from 5 Lithuanian Universities (VGTU, KTU, VU, KU, and VPU) have participated in the research survey. Whereas the group consists of 198 experts,

their evaluation differences are normally distributed. The total square ranking deviation equal to 694230, the coeffici-ent of concordance equal to 0,42 and the significance of the concordance coefficient (no related ranks) equal to 584.37. The freedom degrees value of a solved problem equal to 7.

Rank of table concordance 2tbl = 18,475 when importance

equal to 1 %. In accordance with the results of expert eva-luation method, the numbers of experts are sufficient and their opinion on this question is harmonized.

The most useful VLE tools in learning process are defined by students. Therefore, VLE functional quality evaluation criteria selected for our research are based on VLE adaptation criteria group, especially personalization and adaptivity criteria (see Table 2).

Eight criteria were created for VLE tools (functions) evaluation, and the results of the experts’ survey: the sum of ranks and rank criteria weight are presented in Table 1.

TABLE 1. VLE NUMBER TOTALS AND AVERAGES

Numbers TotalRank Crite-ria Weight

VLE uses the same means of com-munication (there is no need to install additional means of communication, it helps to save time)

725 0.1

VLE allows us to see a full contact list of all group

959 0.13

In VLE student feels monitored by teacher. This fact makes the student more often to visit the VLE

473 0.07

VLE contains all the necessary information about important dates (lectures, conferences, billing, etc.). The most important reports are placed on the first page of the VLE. Rational presentation of this information saves time

1386 0.19

Educational process includes VLE communication and collaboration tools (forums, chat rooms, exchange files, e-mail, group work, presentation tools, etc.)

889 0.12

Educational process uses convenient and simple course of navigation and search systems

1026 0.14

Educational process is applicable to high-quality self-testing modes of pre-sentation (which shows the result of student preparation and the student’s references to the lecturer position)

1165 0.16

Educational processes are subject to the possibility of real-time communi-cation (e.g., video conference)

505 0.07

The following chart shows that all VLE tools (functions) have some level of impact to learning quality (see Fig. 3).

Page 184: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

184

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

FIGURE 3. VLE FUNCTIONAL QUALITY EVALUATION CRITERIA

TABLE 2. CONFORMITY OF VLE TOOLS (FUNCTIONS) AND VLE TECHNOLOGICAL QUALITY EVALUATION CRITERIA

VLE tools (functional) criteriaVLE technical

evaluation criteria

VLE uses the same means of communication (there is no need to install additional means of communication, it helps to save time)

Personalization aspects

VLE alows us to see a full contact list of all group

Personalization aspects

In VLE student feels monitored by teacher. This fact makes the student more often to visit the virtual learning environment

Personalization aspects

VLE contains all the necessary information about important dates (lectures, conferences, billing, etc.). The most important reports are placed on the first page of the virtual environ-ment. Rational presentation of this informati-on saves time

Personalization aspects

Eduacational process includes VLE comuni-cation and acllaboration tools (forums, chat rooms, exchange files, e-mail., group work, presentation tools, etc.)

Adaptivity

Eduacational process uses convenient and simple course of navigation and search sys-tems

Adaptivity

Educational process is applicable to high-qua-lity self-testing modes of presentation (which shows the result of student preparation and the student’s references to the lecturer position)

Adaptivity

Educational processes are subject to the possi-bility of real-time communication (e.g., video conference)

Personalization aspects

The sum of the amounts of the VLE assessment criteria shows that the personalization evaluation criteria must have greater influence on the quality of learning (see Table 3).

TABLE 3. VLE QUALITY CRITERIA EVALUATION BY NUMBER OF TOTALS

Total

Personalization aspects Adaptivity473 889

505 1026

725 1165

959 3080

1386

4048

VI. CONCLUSIONS AND RECOMMENDATIONS

Research results show that the most important techno-logical VLE tool used in learning process is notice boards function, which provides all necessary information about learning process organization.

The research survey results show that VLE personaliza-tion quality evaluation criterion is the most useful in the learning process for students, while adaptivity criteria were ranked lower. It can be explained by the fact that all VLEs used in Lithuanian Universities are of quite low adaptivity level.

In order to ensure better learning efficiency it is recom-mended to choose VLE with higher personalization quality level and to improve VLE adaptivity level.

REFERENCES

[1] E. Kurilovas. “Several aspects of technical and pedagogical eva-luation of virtual learning environments”. Informatics in Educa-tion, vol. 4, No. 2, 2005, p. 215–252.

[2] The UK Centre for Legal Education is a subject centre of the Higher Education Academy. “Using the virtual learning envi-ronment (Teaching legal research)“, University of Warwick, Coventry. Available online at: http://www.ukcle.ac.uk/.

[3] E. Kurilovas. “Evaluation and Optimisation of e-Learning Sof-tware Packages: Learning Object Repositories”. Pro-ceedings of the 4th International Conference on Software Engineering Advances (ICSEA 2009), Porto, Portugal, September 20–25, 2009, p. 477–483.

[4] E. Kurilovas, V. Dagienė. “Multiple Criteria Comparative Eva-luation of e-Learning Systems and Components”. Informatica, vol. 20, No. 4, 2009, p. 499–518.

[5] M. Kendall. “Rank correlation methods”. Griffin and Co, Lon-don, 1979, p. 456.

[6] Z. Turskis, E. Zavadskas, J. Zagorskas. ”Sustainable city com-pactness evaluation on the basic of gis and bayes rule”. Interna-tional Journal of Strategic Property Management, 2006, vol. 10, p. 185–207.

[7] JISC, “Effective use of virtual learning environments”, Bristol, 2005, JISC.

[8] V. Belton, T. J. Stewart. “Multiple criteria decision analy-sis: an integrated approach”, Norwell, Massachussetts 02061 USA, Kluwer Academic Publishers, 2002, p. 55–84.

[9] E. Kurilovas, V. Dagiene. “Learning Objects and Virtual Lear-ning Environments Technical Evaluation Criteria”. Electronic Journal of e-Learning, vol. 7, No. 2, 2009, p. 127–136. Available online at: www.ejel.org.

Page 185: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

185

Santrauka. Straipsnyje nagrinėjama sunkiai prognozuojamų kritinių situacijų vystymosi problema. Vyrauja nuomonė, kad finansinės rinkos augimas yra neribotas, bet atlikus tyri-mus paaiškėjo, kad realiomis sąlygomis jis turi ribas, kurias galima praplėsti vystant technologijas, t. y. išplėtus investicinį arealą. Straipsnyje pateikiami vykdomo tyrimo „Ekonominių krizių logistinė analizė (1857–1858 metų ekonominio nuosmu-kio pavyzdžiu)“ preliminarūs rezultatai, remiantis matemati-niu-ekonominiu logistinio kapitalo augimo modeliu. Analizės ir tyrimo eiga bei rezultatai leidžia interpretuoti ekonominių nuosmukių struktūrą, sąsajas ir priklausomybę: pastebėta, kad technologinis bumas sukelia finansinį pagyvėjimą ir taip suformuoja naujas rinkas, kurios tampa ganėtinai uždaros ir dėl to greitai perpildomos naujų technologinių produktų.

Reikšminiai žodžiai: technologijos, prielaidos, logistinė analizė, kapitalas, ekonominė krizė.

I. ĮVADAS

Temos aktualumas. Šiuolaikinėje ekonomikoje ino-vacijų plėtojimas ir finansinių sistemų globalizacija lėmė tai, kad ekonominės krizės tapo bene įprastu reiškiniu. Didesnės ar mažesnės finansinės krizės ir šiais, ir senes-niais laikais turėjo rimtas pasekmes, kurių analizei visada buvo skiriamas didelis dėmesys. Dažniausiai pasitaiko atvejų, kai problemos sprendimų pradedama ieškoti tik jai iškilus. Tuomet paskubomis bandoma sukurti atitinkamas krizės įveikimo priemones. Apgailestaujant tenka pabrėžti, kad daug rečiau bandoma nagrinėti ekonomines prielaidas, lėmusias konkretų nuosmukį.

Tiriama problema. Kritinių situacijų vystymosi eiga yra sudėtinga, dėl to prognozuoti tokių situacijų pasek-mes – painu ir ilgai trunka. Egzistuoja plačiai paplitusi nuomonė, kad finansinės rinkos augimas yra neribotas, bet realiomis sąlygomis jis turi ribas. Dėl šios priežasties straipsnyje pateikiami šiuo metu vykdomo tyrimo rezulta-tai, kuriems panaudotas Verhülsto–Girdzijausko logistinis kapitalo augimo modelis. Šis matematinis modelis apima ir vertina šiuos ekonominius veiksnius: kapitalo kaupimą ir augimą, inovacijų plėtrą, globalizaciją, rinkos talpą ir ribotumą.

Straipsnio objektas – ūkio nuosmukių ekonominės prie-laidos.

Straipsnio tikslas – remiantis logistinio kapitalo augimo modeliu, įvertinti 1857–1858 m. ekonominio nuosmukio susiformavimo prielaidas informacinių technologijų atžvil-giu.

Siekiant įgyvendinti užsibrėžtą tikslą, sprendžiami šie uždaviniai:

• pristatyti ūkio pakilimų ir nuosmukių ekonomines teorijas;

• išnagrinėti logistinę kapitalo augimo funkciją ir jos sprendimų taikymo galimybes;

• naudojantis logistiniu kapitalo augimo modeliu, išanalizuoti ekonominių prielaidų struktūrą, pana-šumus ir priklausomybes.

Straipsnyje panaudoti metodai: lyginamoji mokslinės literatūros analizė (lyginamos K. Markso, J. de Sismondi, J. Hobsono, K. Wiksellio, E. Lindahlio, G. Soroso ir prof. dr. S. Girdzijausko teorijos), apibendrinimas, apra-šomasis metodas. Pateikiamam tyrimui atlikti pritaikyta kokybinių tyrimų strategija – 1857–1858 m. ekonominio nuosmukio atvejo studija.

Nors ir iki tol pasaulinį ūkį buvo sukrėtusi ne viena eko-nominė krizė, ši buvo viena pirmųjų, kurią lėmė prieš tai vykusi technologinė revoliucija. Be to, ši krizė esmingai paveikė ekonomikos mokslo raidą ir jos „paklydimus“ (tai „mėgstamiausia“ K. Markso krizė). Tyrimo duomenims surinkti panaudoti stebėjimo ir dokumentų analizės meto-dai, analizuojant vieną pagrindinių literatūros šaltinių „The history of the commercial crisis, 1857–1858 and the stock exchange panic of 1859“.

II. EKONOMINĖS TEORIJOS APIE ŪKIO PAKILIMUS IR NUOSMUKIUS

Ekonominių pakilimų ir nuosmukių tyrimai siekia Naujuosius amžius, kai tik atsirado naujoji ūkio sistema – kapitalizmas. Analizuojant kapitalizmą, tam tikrą vietą reikia skirti K. Marksui (1818–1883) – jis laikomas eko-nomistu, susijusiu su klasikine ekonomika [1]. K. Marksas

Ūkio nuosmukių ekonominės prielaidos (logistinis aspektas)

Neringa ZujytėVilniaus universiteto Kauno humanitarinis fakultetas

VUKHFKaunas, Lietuva

El. paštas: [email protected]

Prof. Stasys GirdzijauskasVilniaus universiteto Kauno humanitarinis fakultetas

VUKHFKaunas, Lietuva

El. paštas: [email protected]

Page 186: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

186

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

kapitalą siejo su gamybos procesu, jo varomosiomis jėgo-mis ir tikslu.

K. Marksas bandė įrodyti, kad krizės visada kyla dėl vartojimo produkcijos gamybos siekiant pelno ir individu-alaus vartojimo poreikių prieštaravimo.

1 LENTELĖ. EKONOMINIŲ TEORIJŲ APIE EKONOMINIUS NUOSMUKIUS IR JŲ PRIELAIDAS SUVESTINĖ

PrielaidosEkonominių tei-

ginių autoriaiTeiginiai

Gamyba ir su ja susiję santykiai

Klasikinės eko-nomikos moky-klos atstovai: A. Smithas (1723–1790), J. de Sismondini (1773–1842), K. Marksas (1818–1883).

1) Santaupos skatina kapitalo didė-jimą, o šis lemia gamybos išsiplėti-mą ir gamybos perteklių;2) Gamintojai vadovaujasi labiau kapitalo augimo, o ne rinkos porei-kiais;3) Viena iš krizių priežasčių – ne-tinkamas pajamų paskirstymas;4) Ekonominių svyravimai galėtų būti suvaldomi, jei valstybės steng-tųsi sulaikyti didelės gamybos ir naujų išradimų plėtrą;5) Proletariato ir buržuazijos inte-resai yra nesuderinami;6) Ekonomines krizes skatina kapitalo negebėjimas restruktūri-zuotis, kad pasiektų didesnį pelną, ir negebėjimas išvengti ekonominės reprodukcijos.

Vartotojų poreikiai, jų lū-kesčių ir vertybių kaita

Ekonomistai: K. Wiksellis (1851–1926), J. Hobsonas (1858–1940), E. Lindahlis (1891–1960).

1) Kapitalo kaupimas turi prasmę tol, kol patenkinami vartotojų po-reikiai;2) Kapitalas turi būti nagrinėjamas bendrosios pusiausvyros teorijos požiūriu, apimant investicijas ir kapitalo elementų tarnavimo laiko efektyvumą;3) Skiriamos šios ekonominių kri-zių rūšys: vienos, sukeltos santaupų trūkumo investicijoms, kitos – per-teklinio taupymo.

Nege-bėjimas „įdarbinti“ inovacijas ir pasinau-doti glo-balizacijos sąlygomis

Šių laikų finansi-ninkas G. Sorosas (g. 1930), S. Girdzijauskas (g. 1941).

1) Dabartinei pasaulinei kapitaliz-mo sistemai būdingas laisvas kapi-talo judėjimas;2) Kapitalo dinamiškumui sąlygas sudaro globalizacija: vienoje šalyje iškilusios problemos persimeta į kitų šalių finansines rinkas;3) Ekonominė pusiausvyra yra tik iliuzija;4) Ekonomines krizes sukelia cent-rinių bankų negebėjimas išlaikyti vientisumo, didelės jų palūkanos, investuotojų ir spekuliantų veikla ir t. t.;5) Ekonominis augimas nėra bega-linis, jis turi ribas;6) Siūloma „įdarbinti“ inovacijas, vystant įvairias technologijas (kartu ir IT), kurios leistų maksimizuoti ekonominio augimo teikiamą naudą ir minimizuoti jos kaštus šiuolaiki-nės globalizacijos sąlygomis.

Šaltinis: sudaryta autorės.

Finansininkas G. Sorosas, vienas iš šių dienų įtakin-giausių ir pelningiausiai investuojančių į pasaulinę ekono-miką veikėjų, įrodinėja, kad šiuolaikines ekonomines krizes sukelia centrinių bankų nesugebėjimas išlaikyti vientisumo tarptautiniu mastu, didelės bankų palūkanos, išpūstos ver-tybinių popierių kainos, investuotojų ir spekuliantų veikla; „<...> kitaip tariant, įtrauktų sumų vertę iš tiesų sudaro dau-gelį kartų padaugintas versle dalyvaujantis kapitalas“ [2].

Logistinės kapitalo valdymo teorijos pradininkas VUKHF prof. dr. S. Girdzijauskas savo vadovėlyje „Logistinė kapi-talo valdymo teorija“ (2006) siūlo atkreipti dėmesį į rin-kos ribotumą, kuriam analizuoti rekomenduojama naudoti logistinį kapitalo augimo modelį. Globalizacija ir inovaci-jos nuolat didina rinkos talpą, taip slopindamos ekonominio perkaitimo požymius. Kita vertus, rinkos perpildymas suak-tyvina ekonominių burbulų radimąsi, o kai kada – ir finan-sinių piramidžių susiformavimą. Tai lemia nestabilias eko-nomines situacijas ekonomikoje. 1 lentelėje pateikti minėtų ekonomistų ekonominių teorijų ir teiginių apibendrinimai apie ekonominių ūkio nuosmukių prielaidas.

Šioje lentelėje išskiriamos trys XIX a. ekonominės teorijų grupės: vienos ekonominės prielaidos siejamos su gamyba ir su ja susijusiais santykiais, kita dalis – su varto-tojų poreikiais, jų lūkesčių ir vertybių kaita, o trečioji nuo-monių grupė – tai šiuolaikinių teorijų apibendrinimas.

III. LOGISTINĖ KAPITALO AUGIMO FUNKCIJA

Tyrimui „Ekonominių krizių logistinė analizė (1857–1858 m. ekonominio nuosmukio pavyzdžiu)“ atlikti panau-dota kokybinių tyrimų strategija – atvejo studija, kurios esmė – išaiškinti ir prognozuoti funkcinius ir priežastinius tarpusavio ryšius,. Tyrimo informacijai surinkti panaudota dokumentų analizė, kurios pagrindiniai elementai – išo-rinė ir vidinė jų kritika, interpretacija. Šio tyrimo metodais siekta patikrinti iškeltą hipotezę: pasaulyje neegzistuoja pasikartojančios ekonominės krizės, bet visų jų struktūros yra panašios. Kitame tyrimo etape šią hipotezę planuo-jama dar kartą patvirtinti arba paneigti sukūrus matematinį modelį.

Pasirinkta tyrimo imtis – nukreipta į atvejį, t. y. apima 1857–1858 m. ekonominio nuosmukio reiškinį – kapitalo augimo kitimą, apribotą nurodytu laikotarpiu.

Šioje straipsnio dalyje aprašoma logistinė funkcija, panaudota ekonominių nuosmukių ekonominėms prielai-doms tirti, ir pateikti praeities reiškinių aiškinimai ir atei-ties prognozės.

Ekonominio augimo teorijų yra įvairių: neoklasikinė ekonominio augimo teorija ir neokeinsistiniai ekonominio augimo modeliai, endogeninė ekonominio augimo teorija, ekonominis augimas esant ribotiems ištekliams, logistinis augimo modelis ir t. t. [3]. Nesigilinant į šias teorijas, siū-loma atkreipti dėmesį į eksponentinę (sudėtinių procentų) ir logistinę (riboto augimo) ekonominio augimo funkcijas, kurias palyginus, straipsnyje siekiama išreikšti terminų prasmę ir jų ryšį, t. y. rinkos ribotumo suvokimo svarbą ekonominėms prielaidoms nustatyti.

Page 187: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

187

NERINGA ZUJYTĖ, STASYS GIRDZIJAUSKAS · ŪKIO NUOSMUKIŲ EKONOMINĖS PRIELAIDOS (LOGISTINIS ASPEKTAS)

Eksponentinio augimo atveju augantį kapitalą galima išreikšti sudėtinių procentų formule:

( ) ( )������� �������� ��kartøn

normaprocnormaprockapit.PradinisprocentaiSud ...*.1*.1*. ++= (1)

Šio modelio struktūra:Sud. procentai (Sudėtiniai procentai) – per n periodų

užaugusi visuma (populiacija, kapitalas);Pradinis kapit. (Pradinis kapitalas) – pradinė kapitalo

reikšmė (pradinis populiacijos dydis);Proc. norma (procentų norma) – procentų ar palūkanų

norma, skaičiuojama vienam kaupimo laiko viene-tui (dažniausiai metams);

n – kaupimo periodų skaičius.Taip apskaičiuojamas ekonominis augimas, kuris, kaip

matome iš pateiktos formulės, tolydžiai didėja. Akivaizdu, kad toks augimas yra begalinis. Todėl šis modelis tinka modeliuoti tik tokį augimą, kuris trunka sąlyginai nedaug augimo periodų.

Realiomis sąlygomis rinka negali augti nei pastoviu greičiu, nei, juo labiau, didėjančiu greičiu, kadangi jos augimą riboja išorės ir vidaus veiksniai [3]. Šiuo teiginiu galima remtis įrodant, kad kiekvienas augimas artėja prie augimo ribos, kuri yra natūrali ir suprantama: kaip pavyzdį galima įsivaizduoti biologines ir kitas populiacijas.

Pritaikęs P. Verhülsto sukurtą rinkos ribotumo daugiklį ir atlikęs tam tikrus pertvarkymus, prof. S. Girdzijauskas sukūrė logistinės funkcijos lygtį, kuri tekstine forma atrodo taip:

ocpr det.periodu su nnisa kapitalo Prad.ocpr det.periodu su nkapPotenc kap. Realusis

.

.*..

+

= (2)

Šio modelio struktūra (sudedamosios dalys):

Realusis kap. (Realusis kapitalas) – per n periodų užau-gusi visuma (populiacijos dydis), modeliuojant pavienę investiciją – per n periodų sukauptas kapi-talas, modeliuojant viso ūkio augimą – šalies BVP po tų pačių n periodų;

Potenc. kap. (Potencialusis kapitalas) – kapitalo (pavie-nės investicijos, kelių investicijų ar viso BVP) augimo galimybių skaičiuojamoji riba;

Prad. kapitalo nisa (Pradinė kapitalo niša) – pradinė augimo erdvė (potencialiojo ir pradinio kapitalų skirtumas);

n periodu sudet. proc. (n periodų sudėtiniai procentai) – realiojo kapitalo dydis perėjus n periodų, nulemtas sudėtinių procentų modelio.

Pagal šią formulę galima apskaičiuoti logistinio augimo būsimąją kapitalo vertę. Vykdomo tyrimo „Ekonominių krizių logistinė analizė (1857–1858 m. ekonominio nuos-mukio pavyzdžiu)“ modeliavimo priemonę galima pasi-rinkti iš: Loglet Lab, MatLAB, MatCAD programinės įran-gos paketų, kurie leidžia analizuoti laiku pasiskirsčiusius duomenis.

Šis paketas suteikia galimybę analizuoti pasirink-tos šalies ūkio augimą – šalies BVP ir spekuliacijų eigos (S&P indekso) kitimą prieš ir po 1857–1858 m. ekonomi-nio nuosmukio. Kadangi straipsnyje pateikti preliminarūs tyrimo rezultatai, daugiausia dėmesio skiriama praeities reiškiniams paaiškinti, ūkio nuosmukių ekonominių prie-laidų struktūrai, sąsajoms ir tarpusavio priklausomybei nagrinėti.

Šiuo metu logistinė kapitalo funkcija pritaikyta finansi-nių piramidžių stabilumui modeliuoti, naudojama analizuo-jant bankinį kapitalą, Lisabonos strategiją ir globalizacijos procesus, ribinių dydžių dėsningumus, finansinį stabilumą rinkose ir kt. Daugiausia dėmesio skiriama kapitalo riboms išplėsti, investiciniam arealui išplėsti vystant technologijas (taip pat ir informacines technologijas).

IV. MĖGSTAMIAUSIOS K. MARKSO KRIZĖS PRIELAIDOS

Dešimtmetis po 1848–1849 m. Europos revoliucijų – spartaus ekonominio augimo laikotarpis: visame pasaulyje buvo statomi geležinkeliai, prasidėjo garlaivių era, Vakarų Europoje ir Šiaurės Amerikoje išaugo stambios įmonės, bankų sistema išsivystė svarbiausiose šalyse [4].

1 PAV. XIX A. EKONOMINIO NUOSMUKIO VEIKSNIŲ SĄSAJOS GRAFINĖ INTERPRETACIJA

Šaltinis: sukurta autorės.

Pasaulinė prekyba vis labiau jungė ne tik šalis, bet ir žemynus. Staiga ekonominė plėtra susidūrė su neįveikiamu

Page 188: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

188

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

reiškiniu – 1857–1858 m. finansine krize. Ne veltui K. Marksas vertybinių popierių pasaulį pavadino „fiktyviu kapitalu“. Tai labai patiko K. Marksui, todėl šią krizę jis vadino „mėgstamiausia krize“.

Šiam ekonominiam nuosmukiui būdinga: akcijų kainų kritimas, bankų žlugimas, įmonių bankrutavimas (1 pav.). Taip pat smuko prekyba, mažėjo gamyba, didėjo nedarbas ir skurdas. 1857–1858 m. finansinė ir ekonominė krizė – ne atsitiktinis izoliuotas įvykis, o grandis smulkių krizių, kas dešimtmetį besikartojusių nuo 1820 m., grandinėje. Sustiprėjusi ji virto pirmąja pasauline krize – prasidėjo JAV, labiausiai paveikė Didžiąją Britaniją, pagrindinę pra-moninę ir komercinę valstybę, stipriai smogė Prancūzijai ir Vokietijai.

Išskiriamos pagrindines šios krizės dedamosios: auk-sinė valiuta, kreditas, akcijos ir spekuliacijos [4].

Auksas palengvino aukso standarto įsitvirtinimą ir papli-timą. Nors auksinė valiuta ir nepanaikino tam tikrų kainų svyravimo. Būtent kainų kritimas tapo krizės simptomu ir pagrindine krizės dalimi. Nuvertėjo sukauptos įmonių pre-kių atsargos, tekdavo nuostolingai parduoti produkciją – tai trukdė įmonėms grąžinti kreditus, gautus geresniais laikais, ir stūmė įmones į bankrotą.

Pagrindinis ir iš esmės vienintelis centrinio banko poveikio pinigų rinkai ir per ją ūkinei veiklai įrankis – palūkanų procentas, pagal kurį centrinis bankas kreditavo komercinius bankus. Šis kreditas buvo suteikiamas aps-kaitant ir perskaičiuojant vekselius, ir iš esmės reiškė, kad centrinis bankas perka skolos įsipareigojimus iki nustatyto laiko su atitinkama nuolaida nuo nominalo. Tarkime, ban-kas pirkdavo 100 svarų nominalo vekselį su jo išpirkimu po

trijų mėnesių už 98 svarus – tai reiškė 2 % ketvirtinių arba 8 % metinių palūkanų.

Be kreditavimo ir akcijų nebūtų galimas kapitalizmo augimas, pakeitęs žmonių gyvenimą XIX a. Vakarų Europoje ir Šiaurės Amerikoje.

Tik akcinės bendrovės galėjo surinkti į vieną vietą pinigų kiekį, reikalingą tokioms investicijoms su ilgu atsi-pirkimo laiku. Kartu su akcinėmis bendrovėmis išaugo bankai, kurių pagrindinis verslas tapo „prekyba kreditais“. Viena vertus, jie kaupė pinigus indėlių pavidalu iš gyven-tojų ir įmonių, antra vertus, tuos pinigus naudojo investici-joms, suteikdami kreditus įmonėms arba pirkdami akcijas ir kitus vertybinius įmonių popierius [5].

Taigi bankai ir įmonės, tiksliau, jų savininkai ir valdy-tojai, prisiimdavo svetimų pinigų valdymo riziką. [6]. Tai stūmė juos prie abejotinų, rizikingų ir kartais nusikalstamų veiklų. Kartu rizika buvo padalijama daugeliui tūkstančių žmonių, patikėjusiems savo pinigus bankams ir kompani-joms.

Plėtojantis XIX a. ekonominei krizei, masinės psicho-logijos fenomenas tapo pagrindinių ekonomikos ir finansų elementu. Stringant įmonės veiklai, akcininkai ėmė par-duoti akcijas ir tai galėjo sąlygoti biržos žlugimą. Suabejoję banko patikimumu, indėlininkai panoro kuo greičiau atsi-imti pinigus. Bankai iš esmės negalėjo vienu metu grąžinti visų pinigų ar net didesnės jų dalies.

Kilusi panika persirito per rinkas ir biržas. Vienos kom-panijos bankrotas tempė paskui save kitas, vieno banko uždarymas pasmerkė ir kitus bankus. Taip vystėsi ekono-minė krizė (1 pav.).

Pakilimo fazės laikotarpiu, kai augo gamyba, prekyba,

1825–1826 m. (Amerika ir Didžioji Britanija)

Užsienio šalių teikiamos paskolos

1836–1837 m. Didžiojoje Britanijoje

1857–1858 m.

Akcinių bendrovių kūrimo manija

Spekuliacijos fondų biržose

Grynieji tikri pinigai buvo mažai kam

reikalingi , vieninga valiuta – kreditas

Monetarinės politikos neramumai

Lošimas fondų biržose

Negirdėto masto prekybos su užsieniu

augimas

Pernelyg didelis susidomėjimas

brangiaisiais metalais

Milžiniškas bankų sistemos plėtojimas

Lošimas fondų biržose

Bankų teikiamų kreditų (skolinimosi)

sistema

Kilusi geležinkelių manija

Vidinės šalies vartojimo priežastys

2 PAV. XIX A. EKONOMINIO NUOSMUKIO EKONOMINIŲ PRIELAIDŲ STRUKTŪRA IR RYŠYS

Šaltinis: sudaryta autorės pagal Evans, D. Morrier (1969) „The history of the commercial crisis, 1857–1858 and the stock exchange panic of 1859“.

Page 189: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

189

NERINGA ZUJYTĖ, STASYS GIRDZIJAUSKAS · ŪKIO NUOSMUKIŲ EKONOMINĖS PRIELAIDOS (LOGISTINIS ASPEKTAS)

užimtumas ir pajamos, daugelis rinkos dalyvių pirko ir mažai kas parduodavo. Atsirado reiškinys, dar vadinamas „bumu“ ar „ekonominiu burbulu“. Bumo ar burbulo laiko-tarpiu kainos gali kilti nepriklausomai nuo realių ekonomi-kos procesų.

Jeigu spekuliantas dirba tik naudodamas nuosavą kapi-talą, pats kapitalo dydis apriboja jo spekuliacijas. Tačiau jei kapitalas pritraukia į veiklą kreditus, operacijų masteliai (svertai) gali padidėti daug kartų – spekuliantai prisiima pinigų iš visur, kur tik įmanoma, visiškai nesirūpindami tuo, kaip tas skolas reikės grąžinti [7].

Anksčiau ar vėliau spekuliacinis bumas baigiasi žlu-gimu. Siekis nusipirkti staiga virsta siekiu parduoti [6]. Kilusi panika gali būti didžiulės griūties pradžia kaip 1857–1858 m. ekonominio nuosmukio, Didžiosios depresijos 1929–1933 m. ir dabartinės ekonominės krizės atvejais.

Atlikus Naujųjų amžių istorinių duomenų – pagrindinių faktų, susijusių su ekonomika, bankininkyste ir finansais – analizę, pastebėta: svarbiausia XIX a. ekonominių nuos-mukių ekonominė prielaida – spartus naujųjų technologijų (garo energijos, manufaktūrų, geležies ir plieno gamybos) plitimas, sukūręs naujas, nors ir plačias, bet ganėtinai užda-ras rinkas. Vėliau šios rinkos, dėl tų pačių technologijų ir papildomai skatinamos bankų, buvo prisotintos (persotin-tos) kapitalo. Logistinė teorija rodo, kad rinkos prisotini-mas kapitalu išpučia ekonominį burbulą, o šis, iš prigimties būdamas nestabilus, sukelia krizę. [2], [3], [5].

Nagrinėjant vieną iš pagrindinių literatūros šaltinių „The history of the commercial crisis, 1857–1858 and the stock exchange panic of 1859“, gauti XIX a. ekonominio nuosmukių, atrinktų pagal padarytą efektą, analizės rezul-tatai: prielaidų struktūra ir ryšys (2 pav.).

2 pav. nurodo XIX a. ekonominio nuosmukių ekonomi-nių prielaidų sąsajas, taip pat vaizdžiai atskleidžia, kokios prielaidos tarpusavyje susijusios ir pasikartojančios: spe-kuliacijos fondų biržose ir bankų teikiamų kreditų (sko-linimosi) sistema. Pastebima ir keletas skirtumų: akcinių bendrovių kūrimo manija, prekybos su užsieniu augimas, vidinės šalies vartojimo priežastys, priklausančios nuo to laikotarpio išorinės ir vidinės aplinkos veiksnių [3]. Taip patvirtinama hipotezė, kad pasaulyje neegzistuoja pasikar-tojančios ekonominės krizės, bet kiekviena jų iš tiesų turi panašią struktūrą.

Kaip pavaizduota grafiškai, 1857–1858 metų ekono-minio nuosmukio, K. Markso pavadinto „mėgstamiausia krize“, ir kitų XIX a. ekonominių nuosmukių ekonominės prielaidos ne tik siejasi tarpusavyje; nurodyta ir jų pri-klausomybė, kurią galima interpretuoti taip: technologinis bumas sukelia finansinį pagyvėjimą ir taip kuriamos naujos rinkos. Sukuriama bankų teikiamų kreditų (skolinimosi) sistema, išvystomos spekuliacijos fondų biržose.

Naujos rinkos esti ganėtinai uždaros, todėl jos greitai perpildomos naujais technologiniais produktais (paslaugo-mis). Dėl to ekonomikos ima kaisti ir išsivysto burbulai. Jei procesas nestabdomas – įvyksta krizė.

Krizės susiformavimui didelę įtaką daro ir logistinėje analizėje žinomi kredito spąstai [3]. Kredito spąstų esmė yra ta, kad prisotintos rinkos sąlygomis skola didėja žymiai

sparčiau už nuosavo kapitalo augimą. Normalios (nepri-sotintos) rinkos sąlygomis nuosavo ir skolinto kapitalų dinamika yra identiška. Taigi spekuliacijos fondų biržose ir neišspręstos praeities problemos pereina į ateities situaci-jas, tik dar labiau jas paaštrindamos [6].

Nustatyta, kad minėtos ekonominio nuosmukio ekono-minės prielaidos dažnai lemia kritinių situacijų eigą, kuri susideda iš šių veiksnių: daugybės organizacijų bankroto, organizacijų nemokumo, nepasitikėjimo pinigų rinkos (bankų) sistema, sumažėjusio darbuotojų atlyginimo, padi-dėjusio nedarbo, smukusios nekilnojamojo turto prekybos, politinio neramumo ir t. t.

Atsigauti po XIX a. ekonominio nuosmukio didžiosios pasaulio valstybės (Didžioji Britanija, Amerika ir kt.) ėmėsi tokių politinių ir ekonominių priemonių: buvo pertvarkoma bankų politika, kuriama naujų kainų struktūra, peržiūrėta spekuliacijos ir kapitalo proporcijos sistema, pertvarkoma politikos sistema [8].

Kaip ir minėta, pasaulinei kapitalizmo sistemai būdin-gas laisvas kapitalo judėjimas. Kapitalo dinamiškumui visas sąlygas sudaro globalizacija, todėl vienoje šalyje iškilusios problemos persimeta į kitų šalių finansines rin-kas [6]. Tą ryšį galima pamatyti ir 2 pav. – jame pastebima glaudi sąsaja tarp tuomet lyderiavusių didžiųjų pasaulio valstybių – Amerikos ir Didžiosios Britanijos.

XIX a. buvusi būdinga ekonominės politikos dilema: kas svarbiau – valiutos stabilumas ar ekonominis augi-mas, – dažnai iškyla ir dabartinėms vyriausybėms bei cent-riniams bankams, nors auksas seniai liovėsi buvęs pinigi-nių sistemų pagrindu.

XIX a. sėkminga valdžia buvo įsivaizduojama taip (3 pav.):

3 PAV. XIX A. „SĖKMINGOS VALDŽIOS“ SUVOKIMAS

Šaltinis: sudaryta autorės.

Sėkminga laikoma tokia valdžia, kuriai pavyksta pasiekti patenkinamą kompromisą tarp dviejų principų, t. y. pasiekti stabilų ekonomikos augimą ir nedidelį nedarbo lygį esant stabiliai valiutai – kai nėra žymios infliacijos ir

Page 190: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

190

INFORMACINĖS TECHNOLOGIJOS / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICS · 15

kai valiutos kursas yra pastovus. Toks sėkmingos valdžios modelis galėtų būti pritaikytas ir šių dienų valdžiai, kuriai, kaip rekomenduoja G. Sorosas, reikėtų bent iš dalies regu-liuoti šalies ekonomiką kontroliuojant bankų sistemas, ple-čiant rinkos talpą.

Išaiškinta, kad K. Marksas prislopino ekonominio pro-ceso paradoksus: rinkos talpos, jos prisotinimo kapitalu bei kreditų spąstų svarbą. Ne gamybinės jėgos ir su jomis susi-jusi veikla skatina krizes – didžiausią įtaką daro technolo-gijų (inovacijų) plėtra.

Dauguma pasaulyje susiformavusių krizių yra techno-loginio pobūdžio. XIX a. labiau buvo paplitusios gamybi-nės technologijos (garlaiviai, geležinkeliai), bet nuo XX a. didžiausią įtaką rinkų plėtimuisi kartu ir krizių formavi-muisi, įgijo informacinės technologijos, kuriomis šiais lai-kais vystomos visos kitos technologijos. Šios technologijos žymiai palengvino ir pagreitino žmonių vykdomą veiklą, turint omenyje ir atvertas naujas galimybes spekuliatyvių operacijų vykdymui.

Atsiradus fundamentaliam inovacijų bumui, kuriama nauja rinka, kuri užima visą ekonomiškai pajėgų pasaulį. Dėl tų pačių inovacijų, visų pirma, užpildomos vienų šalių rinkos, po to ir viso pasaulio rinka. Įvairios technologi-jos – inovacijos – skatina kaupti kapitalą ir kartu didina spekuliantų norą kuo daugiau uždirbti. Bankai siūlo kre-ditus investuoti į perpildytą rinką – taip kredito vartotojai stumiami į kredito (skolos) spąstus.

Visos pateiktos ekonominio nuosmukio ekonominės prielaidos, ekonominių nuosmukių eiga, atsigavimo prie-monės yra aktualios ir šiais laikais, t. y. dabartinės ekono-minės krizės metu. Remiantis logistiniu kapitalo augimo modeliu, siūloma protingai paskirstyti šalies pajamas: eko-nominio klestėjimo metu stengtis atitolinti artėjimą prie kapitalo augimo ribos, investuoti savo pinigus į informaci-nes ir kitokias technologijas ir taip sumažinti rinkos spau-dimą. Rinkos turi atitikti vartotojų poreikius, t. y. skatinti ekonomikos augimą, stabilumą, darbo rinkos kūrimą.

V. IŠVADOS

1. Pastebėtas ryškus ekonominių teorijų apie ekonomi-nius svyravimus prieštaravimas: vienų mokslininkų nuo-monė skatina sulaikyti didelės gamybos ir technologijų plėtrą, kitų – protingai jas „įdarbinti“ ir taip atitolinti rinkos prisotinimą, prislopinti ekonominio perkaitimo požymius.

2. Logistinė kapitalo augimo funkcija naudinga verti-nant šalių ekonomikos augimą, analizuojant ir modeliuo-jant šalių kapitalą, nes suteikia galimybę analizuoti per laiką pasiskirsčiusius duomenis.

3. Remiantis logistine kapitalo valdymo teorija, ištirta: kiekvienas technologinis bumas sukuria naujas rinkas, kurios, būdamos ganėtinai uždaros, greitai perpildomos naujais technologiniais produktais.

LITERATŪRA

[1] R. Čiegis. „Ekonominių teorijų istorija : vadovėlis“. Vilnius: Vilniaus universiteto leidykla, 2006, p. 728.

[2] K. Marksas. „Kapitalas“. Vilnius: Vagos leidykla, 2009, p. 968.

[3] S. Girdzijauskas. „Logistinė kapitalo valdymo teorija; determi-nuotieji metodai“. Vilnius: VU leidykla, 2006, p. 230.

[4] A. В. Аникин. «История финансовых потрясений. Россий-ский кризис в свете мирового опыта». 2-е изд., дополненое и переработаное. М.: ЗАО «Олимп-Бизнес», 2002, p. 448.

[5] D. Morrier Evans. “The history of the commercial crisis, 1857–1858 and the stock exchange panic of 1859”. New York, A. M. Kelely, 1969, p. 212.

[6] G. Soros. „Pasaulinio kapitalizmo krizė: atviroji visuomenė pavo-juje“. Vilnius: Tyto alba. 1999, p. 235. I

[7] R. D. Wolff. “Marxian Crisis Theory: Structure and Implicati-ons”. Department of Economics University of Massachusetts Amherst, Massachusetts, 1978, p. 47.

[8] Sukomal Sen General Secretary, Trade Union International of Public and Allied Employees. “Marx and the Cataclysmic Crisis of Global Capitalism”. London: Groombridge and Sons, 2009, p. 9.

Page 191: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę
Page 192: P M D S C I · 7 MARTAS AMBRAZIŪNAS, AUDRIUS LOPATA · VEIKLOS ŽINIŲ POSISTEME GRINDŽIAMAS MDA METODAS atvejų (Use Case) ir sekų (Sequence).Klasių modelis atspindi statinę

INFORMACINĖS TECHNOLOGIJOS15-osios tarpuniversitetinės magistrantų ir doktorantų konferencijos „Informacinė visuomenė ir universitetinės studijos“

(IVUS 2010) medžiaga, 2010 m. gegužės 13 d., Kaunas, Lietuva

PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATICProceedings of the 15th Master and PhD conference “Information Society and University studies” (IVUS 2010),

13th May 2010, Kaunas, Lithuania

15

Editor (Lithuanian) Renata EndzelytėGraphic designer Rasa Švobaitė

Vytautas Magnus University Press, S. Daukanto str. 27, LT-44249 Kaunas______

Redaktorė Renata EndzelytėLeidinio dailininkė, maketuotoja Rasa Švobaitė

Išleido Vytauto Didžiojo universiteto leidykla, S. Daukanto g. 27, LT-44249 Kaunas

NFORMACINĖS TECHNOLOGIJOS. 15-osios tarpuniversitetinės magistrantų ir doktorantų konferencijos „Informacinė visuomenė ir universitetinės studijos“ (IVUS 2010) medžiaga, 2010 m. gegužės 13 d., Kaunas, Lietuva. 15 / PROCEEDINGS OF MASTER AND PHD STUDENTS CONFERENCE ON INFORMATIC. Proceedings of the 15th Master and PhD conference “Information Society and University studies” (IVUS 2010), May 13, 2010, Kaunas, Lithuania. 15. – Kaunas: Vytauto Didžiojo universiteto leidykla, 2011. – 192 p., iliustr.

ISSN 2029-249X

ISSN 2029-4824 (elektroninis leidinys)


Recommended