srities inžinerija. srities analizės metodai. srities ...ims.mii.lt/ims/files/burbaitė_srities...

61
Srities inžinerija. Srities analizės ir modeliavimo metodai. Modelių kūrimas ir verifikavimas R. Burbaitė 2015-04-11

Upload: others

Post on 29-Mar-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Srities inžinerija. Srities analizės ir modeliavimo metodai. Modelių

kūrimas ir verifikavimas

R. Burbaitė

2015-04-11

Page 2: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Srities inžinerija (angl. domain engineering,

product line engineering)

• Sisteminis procesas, numatantis bendrą šerdinę giminingų taikymų architektūrą:

– naujai kuriamiems taikymams

– egzistuojantiems taikymams

• Srities inžinerijos tikslas – numatyti pakartotinę giminingų taikymų panaudą (angl. reuse)

Page 3: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Srities inžinerijos ir taikymų inžinerijos procesų sąveikos modelis (dvynių modelis)

Page 4: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Veiklos probleminėje ir sprendimų srityse (Beuche ir Delgarno)

Page 5: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Srities inžinerijos tyrimo objektai

• Analizės metodai

• Žinių ir artefaktų:

– išgavimas

– atvaizdavimas

– organizacija

– išsaugojimas

Page 6: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Srities inžinerijos veiklos etapai ir rezultatai

• 3 veiklos etapai – srities analizė

– srities projektavimas

– srities realizacija

• Rezultatai – srities modeliai

– projekto modeliai

– srities kalba

– pakartotinio naudojimo komponentai abstrakčiame lygmenyje

Page 7: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Srities apibrėžimai

• Programų inžinerijos disciplinose sritimi suprantama panašių ar giminingų programų sistemų klasė

• Rinkinys uždavinių ar funkcijų, kurie gali būti išspręsti per taikymus toje srityje

• Veiklos ar žinių erdvė, turinti taikymų, kuriuos sieja bendros veiklos ir galimybės

• Srities terminas vartojamas: – nagrinėjant kokią nors veiklą – susiduriant su uždavinių rinkiniu – turint taikymų rinkinį – sritimi laikoma bendra terminologija susietos žinios

Page 8: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Srities analizės bendrinė schema (Batory, 2005)

Page 9: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Kokie šaltiniai gali būti naudojami atliekant srities analizę?

• Mokslinės literatūros šaltinių analizė

• Ekspertų nuomonė

• Reikalavimai sričiai, suformuluoti remiantis vartotojų atsiliepimais

• Egzistuojantys taikymai

Page 10: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Srities modelio elementai

• Srities apimtis (srities apibrėžimas, konteksto analizė) suranda ir apibrėžia srities ribas ir apimtį

• Bendrumų analizė išgauna srities taikymų bendrumus ir variantiškumus

• Srities žodynas numato ir apibrėžia srities terminus

• Notacijos (koncepcijų modeliavimas, koncepcijų pateikimas) numato būdą, kaip pristatomos srities modeliavimo koncepcijos

• Reikalavimų inžineriją sudaro reikalavimų, apibrėžiančių srities taikymus, surinkimas, apibrėžimas, dokumentavimas, verifikavimas ir valdymas

Page 11: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Srities analizės metodai (Alaňa, Rodríguez , 2007)

Metodas Naudojama analizės technika

Etapai

FODA (Feature-Oriented Domain Analysis)

Požymiai Konteksto analizė Srities modeliavimas Architektūros modeliavimas

FORM (Feature-Oriented Reuse Method)

Požymiai Konteksto analizė Požymių modeliavimas Architektūros modeliavimas

FeatureRSEB (Feature Reuse-Driven Software Engineering Business)

Požymiai, objektiškai orientuotas

Srities analizė Modelio projektavimas Architektūros apibrėžimas

DSSA (Domain-Specific Software Architectures)

Požymiai Reikalavimų analizė Architektūros modeliavimas

Sandwich Požymiai Srities analizė Srities modelis

DARE (Domain Analysis and Reuse Environment)

Požymiai Analizė ir projektavimas Architektūros projektavimai

FAST (Family Oriented Abstraction, Specification and Translation)

Giminingi (product-line) požymiai

Srities analizė Srities realizacija

Page 12: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Srities analizės etapai taikant FODA metodą (1) • Konteksto analizės (angl. context analysis)

etapas:

– apibrėžiamos srities ribos ir apimtis

– analizuojami sąryšiai tarp srities posričių ir išorinių sričių

• Rezultatas – konteksto modelis

• Konteksto modelis turi būti kuriamas labai atsakingai, nes tolesni veiksmai atliekami konteksto modelio nustatyta apimtimi

Page 13: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Srities analizės etapai taikant FODA metodą (2) • Srities modeliavimo (angl. domain modeling) tikslas

yra surasti ir modeliuoti srities bendrumus ir skirtingumus: – Požymių analizė pateikia informaciją apie požymius,

kurie buvo nustatyti atliekant analizę, taip, kad vartotojas galėtų juos suvokti

– Modeliuojant esybių sąryšius sukuriamos žinios apie srities taikymus ir jos išreiškiamos per esybes ir jų sąryšius. Rezultatas – esybių priklausomybių modeliai, požymių diagramos, semantiniai tinklai, objektiškai orientuoti modeliai

– Funkcinė analizė nustato srities taikymo bendrumus ir skirtingumus. Rezultatas – procesų ar veiklos modelis, atspindintis taikymo struktūrinius ir elgsenos aspektus

Page 14: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Srities analizės etapai taikant FODA metodą (3) • Architektūros modeliavimo (angl.

architecture modeling) etape sukuriamas aukštesnio lygmens architektūros modelis, kuris turi kelis abstrakcijos lygmenis ir gali būti naudojamas individualių taikymų kūrimui

Page 15: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Konteksto analizės ir modeliavimo svarbiausi aspektai

• Konteksto modeliavimo būtinybė

• Konteksto apibrėžimai

• Reikalavimai konteksto modeliams

• Konteksto elementai

• Konteksto modeliai ir jų įvertinimas

Page 16: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Kodėl reikia modeliuoti kontekstą? • Technologijų pažanga (mobilūs skaičiavimai,

mobilus e-mokymasis, sklindantys (angl. pervasive) skaičiavimai, skaičiavimai debesyse, kontekstinės sistemos (angl. context-aware systems) ir kt.)

• Sistemų sudėtingumo augimas riboja galimybes jas tobulinti, jei projektuotojai gerai nežino konteksto

• Didėjantys vartotojų reikalavimai • Tinkamai parinktas konteksto modelis sumažina

visaapimančių kontekstinių (angl. context-aware) taikymų sudėtingumą, pagerina jų priežiūrą ir tobulinimo galimybes

• Projektuojant taikymus konteksto modeliavimas labai svarbus įgyvendinant sisteminį požiūrį ir metodus

Page 17: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Konteksto apibrėžimai

• Kontekstą sudaro trys pagrindiniai aspektai: kur esate, su kuo esate, kokie resursai yra netoliese (Shilit ir kt., 1994)

• Aplinkos ir atitinkamų sąlygų rinkinys, sudarantis unikalią ir suprantamą situaciją (Brézillon, 2003)

• Informacija, kuri gali būti panaudota charakterizuoti esybių (pvz., žmonių, vietos, objekto) situaciją (Dey ir kt., 2001)

Page 18: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Reikalavimai modeliuojant kontekstą (Schmohl, Baumgarten, 2008)

• Nustatyti specifinį srities kontekstą

• Surasti ryšius tarp kontekstą apibūdinančios konteksto elementų ir modeliuojant tuos elementus susieti

• Identifikuoti galimus dinaminius konteksto pokyčius ir atsižvelgti į juos kuriant konteksto modelį

Page 19: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Konteksto elementai

• Kontekstą apibūdinantys duomenų rinkiniai, informacija, žinios:

Bisgaard ir kt. (2008) • Vieta • Laikas • Identiškumas • Aplinka • Socialinė aplinka • Tinklai • Laikotarpis • Istorija • Užduotis/veikla • Įtaisas

Dey (2001) • Vieta • Laikas • Identiškumas • Veikla

Schmidt ir kt. • Vartotojas • Socialinė aplinka • Uždavinys • Sąlygos • Infrastruktūra • Vieta

Page 20: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Reikalavimai konteksto modeliams ir konteksto valdymo sistemoms (1) (Bettini ir kt., 2009) • Nevienalytiškumas ir mobilumas. Konteksto modelis turi

išreikšti įvairių tipų kontekstinę informaciją, o konteksto valdymo sistemos – numatyti šios informacijos valdymą. Kontekstinė informacija turi būti adaptuojama kintančioje aplinkoje (mobilūs taikymai, mobilūs jutikliai)

• Sąryšiai ir priklausomybės. Konteksto elementus sieja įvairūs ryšiai, kurie užtikrina, kad sistemos veiktų korektiškai. Vienos savybės reikšmės pasikeitimas sukelia kitų savybių reikšmių pokyčius

• Savalaikiškumas. Kontekstiniai taikymai turi prieiti prie informacijos apie buvusias būsenas (angl. past states) ir būsimas būsenas (angl. futures states). Savalaikiškumą (konteksto istoriją) valdyti yra sunku, jei atnaujinimų skaičius yra didelis

Page 21: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Reikalavimai konteksto modeliams ir konteksto valdymo sistemoms (2) (Bettini ir kt., 2009) • Neišbaigtumas. Dėl heterogeninės prigimties konteksto

informacijos kokybė gali kisti (pvz., jutiklių netikslumai). Taip pat konteksto informacija gali būti nepilna ir konfliktuoti su kita konteksto informacija

• Samprotavimai. Kontekstiniai taikymai naudoja konteksto informaciją įvertinimui, ar yra vartotojo ir/ar aplinkos pokytis; priimant sprendimą, ar pokyčio adaptavimas yra reikalingas, panaudojamos modelio verifikavimo ir samprotavimo technikos. Vėliau iš esamų konteksto faktų gali būti gaunami nauji faktai ir supratimas apie aukštesnio lygmens konteksto modelį

• Formalizmo taikymas palengvina konteksto informacijos panaudojimą kuriant modelius ir kontekstines sistemas

• Tinkamas pirminių konteksto atributų pasirinkimas palengvina taikymuose pasirinkti konteksto informaciją, kuri dažniausiai remiasi indeksais. Antriniai konteksto atributai pasiekiami per pirminius

Page 22: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Konteksto modelių tipai (1) (Schmohl, Baumgarten, 2008; Bettini ir kt., 2009; Strang, Linnhoff-Popen, 2008) • Raktinių reikšmių (Key-Value) modeliai naudoja raktinių reikšmių

poras atributų sąrašui apibrėžti ir jų reikšmės apibrėžia konteksto informaciją, kurią naudoja kontekstinės sistemos.

• Ženklinimu grindžiami (Markup-based) modeliai naudoja ženklinimo kalbas (pvz., XML). W3C mobilių įrenginių standartas CC/PP (Composite Capabilities/Preference Profile) naudoja RDF (Resource Description Framework) ir apima elementarius apribojimus ir sąryšius tarp konteksto tipų.

• Grafiniai konteksto modeliai yra intuityvūs, nes pateikia konteksto esybes ir jų ryšius grafiškai. Modeliavimo instrumentas yra unifikuota modeliavimo kalba UML. Henricksen grafiniams modeliams pasiūlė ORM (Object-Role Modeling) išplėtimą, kuris kategorizuoja faktų tipus ir jų tarpusavio ryšius. Be to, pasikeitimas viename fakte sukelia automatišką pasikeitimą su juo susijusiame fakte.

Page 23: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Konteksto modelių tipai (2) (Schmohl, Baumgarten, 2008; Bettini ir kt., 2009; Strang, Linnhoff-Popen, 2004) • Objektiškai orientuotus (Object-oriented) modelius sudaro į

objektus inkapsuliuota kontekstinė informacija. Ši informacija pasiekiama per gerai apibrėžtas sąsajas ir yra paslėpta nuo kitų objektų. Šios rūšies modeliai akcentuoja pakartotinį panaudojimą ir valdo kontekstinės informacijos pasiekiamumą.

• Logika grįsti (Logic-based) modeliai yra aukšto formalizacijos lygmens. Jų pagrindą sudaro logika, kuri apibrėžia sąlygas, kaip išraiškos ar faktai gali būti išgaunami iš kitų išraiškų ar faktų rinkinių. Sąlygos apibrėžiamos taisyklėmis formalioje sistemoje. Kontekstą sudaro faktų, išraiškų ir taisyklių rinkinys.

• Ontologijomis grįsti (Ontology-based) modeliai paremti ontologijomis, kurios specifikuoja modelio svarbiausius konceptus ir faktus bei leidžia bendrinti ir pakartotinai panaudoti kontekstinę informaciją.

Page 24: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Konteksto modelių įvertinimas (Strang, Linnhoff-Popen, 2004)

Modeliai

Paskirstyta kompozi-cija

Dalinis valida-vimas

Informa-cijos kiekis ir kokybė

Neišbaigtu-mas ir dvi-prasmiškumas

Formali-zavimo lygis

Suderina-mumas su aplinkomis

Raktinių reikšmių (Key-Value)

- - -- -- -- +

Ženklinimo (Markup-based)

+ ++ - - + ++

Grafiniai -- - + - + + Objektiškai orientuoti

++ + + + + +

Logika grįsti ++ - - - ++ - Ontologijomis grįsti

++ ++ + + ++ +

Page 25: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Srities modeliavimas: požymiais grįsti modeliai • Požymis (angl. feature) yra vartotojui matoma

srities charakteristika (Kang ir kt., 1990), kokybinė koncepto savybė arba funkcinis reikalavimas (Czarnecki, Eisenecker, 2000).

• Požymių modelis (angl. feature model) – srities modelis, kai srities artefaktai modeliuojami požymiais (Štuikys, Damaševičius, 2013).

• Požymių modelis apibrėžia požymius, jų tarpusavio sąryšius bei apribojimus (Riebisch, 2003).

• Požymių diagrama (angl. feature diagram) – požymių modelius aprašanti speciali grafinė notacija (Štuikys, Damaševičius, 2013).

Page 26: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Požymių modeliai: pagrindinės sąvokos (1) • Privalomu (angl. mandatory, AND) požymiu vadinamas

požymis, kuris būtinai turi būti pasirinktas, jeigu jo tėvinis požymis yra pasirinktas. Privalomi požymiai išreiškia srities bendrumą (angl. commonality).

• Neprivalomu (angl. optional, OR) požymiu vadinamas požymis, kuris gali būti pasirinktas, jeigu jo tėvinis požymis yra pasirinktas. Neprivalomi požymiai išreiškia srities variantiškumą (angl. variability).

• Alternatyviuoju (angl. alternative, XOR) požymiu vadinamas požymis, kuris tik vienas gali būti pasirinktas, jeigu jo tėvinis požymis yra pasirinktas. Alternatyvieji požymiai išreiškia srities variantiškumą (angl. variability).

Page 27: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Požymių modeliai: pagrindinės sąvokos (2) • Apribojimas (angl. constraint) apibrėžia požymių

apribojimus arba funkcinius sąryšius tarp požymių, kurių nesieja „tėvas-vaikas“ ryšys.

• Išskyrimo (angl. excludes) apribojimas nurodo, kad sistema gali turėti tik vieną iš šiuo sąryšiu siejamų požymių.

• Jei požymius sieja reikalavimo (angl. requires) apribojimas, tai sistema, turinti vieną iš iš šių požymių, būtinai turi ir kitą požymį.

• Variantu vadinamas požymis, kuris duotame kontekste neskaidomas į smulkesnius požymius.

• Variantiniu tašku vadinamas neprivalomų arba alternatyviųjų požymių grupių tėvinis požymis.

Page 28: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Požymių diagramų grafinė ir formali notacija

Page 29: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Mobilaus telefono požymių modelis (University of Twente)

Page 30: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Meteorologijos stoties požymių modelis (Beuche ir Delgarno)

Page 31: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Wiki požymių modelis (FAMILIAR)

Page 32: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Mobilaus telefono požymių modelis (SPLOT)

Page 33: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Modelių transformacijos • Požymių modelio specializacija (angl. specialization) vadinamas procesas,

transformuojantis požymių modelį A į modelį B, kurio konfigūracijų skaičius yra modelio A konfigūracijų skaičiaus poaibis.

• Požymių modelio rekonstrukcija (angl. refactoring) vadinama transformacija, pagerinanti modelio kokybę, kai išlaikomos ar padidinamos modelio konfigūravimo galimybės.

• Požymių modelio apibendrinimas (angl. generalization) vadinama transformacija, padidinanti priimtinų konfigūracijų skaičių, kai buvusios konfigūracijos išlieka galioti.

• Požymių modelio dekompozicija (angl. decomposition) vadinamas modelio padalinimas į lokalizuotas atskiras dalis .

• Požymių modelių suliejimu (angl. merging) vadinama modelių kompozicija, kai suliejamos sutampančios modelių dalys.

• Požymių modelių agregavimu (angl. aggregating) vadinama modelių kompozicija, kuri suformuoja naują modelį iš modelių, kurie neturi sutampančių dalių.

Page 34: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Kodėl FODA tinkamas e.mokymui?

• Paprastumas, galimybės grafinę notaciją transformuoti į tekstinę

• Lengvai ir intuityviai suprantamos pagrindinės struktūros

• Galimybės kurti posričių skirtingų abstrakcijos lygmenų modelius

• Požymio sąvokos universalumas modeliuojant skirtingus bet kurios posrities aspektus

Page 35: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

FODA metodo taikymai e.mokyme • Konceptualiai specifikuojant generatyvinius mokymosi objektus

(Štuikys, Damaševičius, 2008) • Sprendžiant mokymosi objektų sekų sudarymo problemą

(Damaševičius, Štuikys, 2009) • Modeliuojant e.mokymui skirtą vadovėlį (Castro ir kt., 2012) • Kuriant e.mokymo sistemas (Diez, 2012) • Programavimo mokymosi srities modeliavimo metodas, pagrįstas

požymių konceptais, jų atskirties principu, požymių variantais, jų sąryšiais bei sąveika bei tikslui orientuotais procesais. Modeliavimo išdavoje gaunamas bendrinis srities modelis (Burbaitė, 2014)

• Išplėstinių generatyvinių mokymosi objektų (IGMO) sudarymo metodika (Burbaitė, 2014): – konkrečių modelių kūrimas (išgavimas iš bendrinio modelio) – modelių transformavimas į metaprogramavimu grindžiamas

vykdomąsias specifikacijas

Page 36: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Srities modeliavimo metodas 1. Srities ribų identifikavi-

masSrities konteksto modelis

2. Srities posričių identifi-

kavimasPosričių konteksto modeliai

3. Srities artefaktų išskyri-

mas

Duomenys posričių modelių

kūrimui

4. Požymių diagramomis

pagrįstas modeliavimas Požymių diagramų modeliai

5. Modelių verifikavimasVerifikavimo statistika ir

rezultatai

Rezultatas

tenkina

6. Manipuliacijos su

modeliais

Modifikuoti

modeliai 7. Modelių tikslinimas

Rezultatas

netenkina

Patikslinti

modeliai

8. Modelio verifikavimasVerifikavimo statistika ir

rezultatai

Galutinis modelis ar modeliai 9. Modelio tikslinimasPatikslintas

modelis

Legenda: - Procesas; - Proceso išėjimas; - Įėjimas/Išėjimas; - (IN) Išorinis įėjimas.

Rezultatas

tenkina

Rezultatas

netenkina

IN1

IN2

IN3

IN4

IN5

IN6

IN8

Page 37: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Posričių požymių modelių pavyzdžiai (1)

Vertinimas

Bloomo taksonomija

pagrįstas modelis

SOLO taksonomija

pagrįstas modelis

Konceptų

žemėlapis

Atkūri-

mas

Suprati-

masTaikymas

Anali-

Sinte-

Įvertini-

mas

Paviršinis

mokymas(is)

Giluminis

mokymas(is)

Iki-

struktūrinis

Vien-

struktūrinis

Daugia-

struktūrinis

Sąryšinis

lygmuo

Išplėstinis

lygmuo

XOR grupė

Išskyrus

SOLO - Structure of the Observed Learning Outcome

OR grupė

Page 38: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Posričių požymių modelių pavyzdžiai (2)

Technologija

Mokymosi objekto

kūrimas

Mokymosi

aplinkos

Komponentais

grįsta technologija

Generatyvinė

technologija

Šablonais

grįstas

Metaprograma-

vimu grįstas

Modelia-

vimas

MMK UMK PD PKNešiojamas

kompiuteris

Interneto

palaikymo

įrenginiai

Mobilūs

įrengi-

niai

Jutiklių

technolo-

gijos

Techninė

įranga

Programinė

įranga

Bendrosios

paskirties

kalbos

Srities kalbos

MMK – mokymosi modeliavimo kalba

UMK – unifikuota modeliavimo kalba

PD – požymių diagramos

PK – personalinis kompiuteris

Privalomas

Neprivalomas

OR grupė

Reikalauja

XOR grupė

Page 39: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Modelių formalizavimas: pedagoginio variantiškumo modelis

EXCPREQPoPDaPDmPBPDPVM ,,,,,

),,( ppPBPPPD – medis, turintis baigtinę aibę požymių PP;

PPPPPB – baigtinė briaunų aibė;

PPpp – pagrindinis požymis;

PBPBm – briaunų, apibrėžiančių privalomus požymius aibė;

PPPPPPDa

)( – alternatyviųjų požymių grupės;

PPPPPPDo

)( – pasirenkamųjų požymių grupės;

REQP – požymių apribojimas „requires“;

EXCP – požymių apribojimas „excludes“.

Page 40: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Modelių kokybės faktoriai (Amstel ir kt., 2010) • Naudojamos modeliavimo kalbos kokybė (jos

tinkamumas sričiai ir sudėtingumas) • Modeliavimo ir transformavimo įrankių kokybė

(suderinamumas su modeliavimo kalba, sugebėjimas derinti informaciją)

• Projektuotojų žinios ir patirtis (problemos supratimas, gebėjimas naudotis modeliavimo kalba ir įrankiais)

• Naudojamų modeliavimo procesų kokybė • Klaidų paieškos technikos

Page 41: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Požymių modelių kokybės metrikos, skaičiuojamos taikant binarines sprendimų diagramas (BDD) • Esminiais laikomi požymiai, pasikartojantys visose

konfigūracijose

• Apribojimų reprezentatyvumas apibrėžiamas kaip apribojimų kintamųjų skaičiaus ir viso modelio požymių skaičiaus santykis

• Skirtingų kintamųjų skaičius apribojimuose nurodo, kiek skirtingų požymių yra susieta ribojimais „reikalauja“ ir „išskyrus“

• Apribojimų išlygų tankis apibrėžiamas kaip apribojimų skaičiaus ir apribojimų kintamųjų skaičiaus santykis

• Medžio gylis nusako ilgiausią kelią nuo požymių modelio aukščiausio lygmens požymio iki atominių požymių

Page 42: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Požymių modelių kokybės metrikos, skaičiuojamos taikant SAT klasės algoritmus

• Konfigūracijų skaičius nurodo visų galimų konfigūracijų, kurios gali būti išgautos iš požymių modelio, skaičių

• Variantiškumo laipsnis apibrėžiamas kaip galiojančių konfigūracijų skaičiaus ir 2n santykis, čia n – modelio požymių skaičius. Kuo variantiškumo laipsnis mažesnis, tuo modelyje yra daugiau apribojimų ir atvirkščiai

• Modelio neprieštaringumas ir perteklinių požymių skaičius nustatomi tikrinant požymių modelį aprašančią teiginių logikos formulių aibę

Page 43: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Metodo privalumai

• Leidžia aiškiai išreikšti konteksto ir turinio variantiškumą

• Požymių diagramos yra specifikacijos dokumentas, norint suprasti konceptą ir jį realizuoti

• Leidžia valdyti variantiškumo pokyčius ir taikymo sudėtingumą

• Palaiko taikymo evoliuciją jo gyvavimo cikle

Page 44: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Metodo trūkumai

• Požymių diagramų notacijų įvairovė, dėl kurios požymių modelių elementai interpretuojami skirtingai

• Įvairios tekstinės požymių modelių notacijos ir nėra standartinių modeliavimo bei modelių verifikavimo įrankių

Page 45: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Užduotis: sukurti LEGO roboto tiesiaeigio judėjimo požymių modelius

Page 46: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Požymių modelių kūrimas naudojant įrankius FAMILIAR ir SPLOT (1)

1. Išsiaiškinkite FAMILIAR ir SPLOT požymių modelių notaciją.

2. Naudodami FAMILIAR sukurkite LEGO roboto tiesiaeigio judėjimo požymių modelį:

1. modelyje yra 2 privalomi požymiai: 1) roboto judėjimo laikas, kuris gali įgyti vieną iš reikšmių: 1000, 3000, 5000 milisekundžių; 2) roboto greitis, kuris gali įgyti vieną iš reikšmių: 30, 50, 70

2. modelyje apribojimų nėra

3. išsaugokite sukurtą modelį pavadinimu modelis1 formatu *.treeml ir eksportuokite kaip *.xml failą, kad vėliau jį galėtume analizuoti naudodami SPLOT.

Pasitikrinkime, ar modelis sudarytas tinkamai

Page 47: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Požymių modelių kūrimas naudojant įrankius FAMILIAR ir SPLOT (2)

3. Papildykite sukurtą modelį privalomu požymiu – varomųjų motorų pasirinkimu. Pasirenkama viena iš 3 reikšmių: AB, AC, BC. Modelyje apribojimų nėra.

4. Išsaugokite sukurtą modelį pavadinimu modelis2 formatu *.treeml ir eksportuokite kaip *.xml failą, kad vėliau jį galėtume analizuoti naudodami SPLOT.

Pasitikrinkime, ar modelis sudarytas tinkamai

Page 48: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Požymių modelių kūrimas naudojant įrankius FAMILIAR ir SPLOT (3)

5. Papildykite sukurtą modelį privalomu požymiu – judėjimo algoritmo pasirinkimu. Pasirenkama viena iš 3 reikšmių: 1) be korekcijų; 2) naudojant motorų greičių skirtumų mažinimo principus; 3) naudojant motorų sinchronizaciją. Modelyje apribojimų nėra.

6. Išsaugokite sukurtą modelį pavadinimu modelis3 formatu *.treeml ir eksportuokite kaip *.xml failą, kad vėliau jį galėtume analizuoti naudodami SPLOT.

Pasitikrinkime, ar modelis sudarytas tinkamai

Page 49: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Požymių modelių kūrimas naudojant įrankius FAMILIAR ir SPLOT (4) 7. Papildykite sukurtą modelį privalomu požymiu –

besimokančiojo lygio pasirinkimu. Pasirenkama viena iš 3 reikšmių: 1) patenkinamas; 2) pagrindinis; 3) aukštesnysis.

8. Modelį papildykite apribojimais: – patenkinamas <excludes> naudojant motorų greičių

skirtumų mažinimo principus – patenkinamas <excludes> naudojant motorų

sinchronizaciją – pagrindinis <excludes> naudojant motorų sinchronizaciją

9. Išsaugokite sukurtą modelį pavadinimu modelis4 formatu *.treeml ir eksportuokite kaip *.xml failą, kad vėliau jį galėtume analizuoti naudodami SPLOT.

Pasitikrinkime, ar modelis sudarytas tinkamai

Page 50: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Požymių modelių kūrimas naudojant įrankius FAMILIAR ir SPLOT (5) 10. Papildykite sukurtą modelį privalomais konteksto požymiais:

– tema. Viena privaloma reikšmė – tiesiniai algoritmai – mokymosi tempas. Pasirenkama viena iš 3 reikšmių: 1) lėtas; 2)

vidutinis; 3) greitas – mokymosi metodas. Pasirenkama viena iš 2 reikšmių: 1) projektai; 2)

problemų sprendimas – mokymosi veikla. Pasirenkama viena iš 2 reikšmių: 1) pavyzdžio

analizė; 2) praktika

11. Modelį papildykite apribojimais: – patenkinamas <requires> lėtas – pagrindinis <requires> vidutinis – aukštesnysis <requires> greitas

12. Išsaugokite sukurtą modelį pavadinimu modelis5 formatu *.treeml ir eksportuokite kaip *.xml failą, kad vėliau jį galėtume analizuoti naudodami SPLOT.

Pasitikrinkime, ar modelis sudarytas tinkamai

Page 53: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Sukurtų modelių verifikavimas (3)

Page 54: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Sukurtų modelių verifikavimas (4)

• Papildomi kokybės parametrai skaičiuojami pasirinkus:

Page 55: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Sukurtų modelių verifikavimas (5)

Page 56: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Užpildykite sudarytų modelių kokybės metrikų lentelę:

Eil. nr. Metrika / Parametras Modelis 1 Modelis 2 Modelis 3 Modelis 4 Modelis 5

1 Požymių skaičius

2 Neprivalomų požymių skaičius

3 Privalomų požymių skaičius

4 Esminių požymių skaičius

5 Sugrupuotų požymių skaičius

6 OR grupių skaičius

7 XOR grupių skaičius

8 Apribojimų skaičius

9 Apribojimų reprezentatyvumas, %

10 Skirtingų kintamųjų skaičius apribojimuose

11 Apribojimų išlygų tankis

12 Medžio gylis

13 Konfigūracijų skaičius

14 Variantiškumo laipsnis, %

15 Modelio neprieštaringumas

16 Pertekliniai požymiai

Page 57: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Modelis 1

Page 58: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Modelis 2

Page 59: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Modelis 3

Page 60: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Modelis 4

Page 61: Srities inžinerija. Srities analizės metodai. Srities ...ims.mii.lt/ims/files/Burbaitė_Srities inžinerija.pdfSrities apibrėžimai •Programų inžinerijos disciplinose sritimi

Modelis 5