Atšķirības starp "Flexible Modeling" versijām
m (→Diskusija) |
(Prasības) |
||
(16 starpversijas, ko saglabājuši 2 lietotāji, nav parādīta) | |||
1. rindiņa: | 1. rindiņa: | ||
− | Dažādu jomu speciālisti izmanto diagrammas, lai uzskatāmi pierakstītu un citiem izstāstītu savas domas un idejas. Par diagrammu mēs uzskatīsim vizuālu elementu kopu, kas ir izvietoti plaknē. Atbilstoši Bertin-a ''Semiology of Graphics'' katru diagrammas atomāru elementu apraksta ar sekojošu īpašību vērtībām: | + | Dažādu jomu speciālisti izmanto diagrammas, lai uzskatāmi pierakstītu un citiem izstāstītu savas domas un idejas. Tomēr, ja mēs paprasām, kas ir ''diagramma'', tad izrādās, ka intuitīvi mēs itkā saprotam, bet precīzas definīcijas nemaz nav. |
+ | |||
+ | Piemēram, Wikipedia par to saka tā: | ||
+ | A diagram is a symbolic representation of information according to some visualization technique. | ||
+ | [http://www.merriam-webster.com/dictionary/diagram Merriam-Webster]: | ||
+ | 1 : a graphic design that explains rather than represents; especially : a drawing that shows arrangement and relations (as of parts) | ||
+ | 2 : a line drawing made for mathematical or scientific purposes | ||
+ | Vai [http://imgs.xkcd.com/comics/tall_infographics.png šis attēls] ir diagramma? Un [http://cdn2.hubspot.net/hub/40667/file-14025462-jpeg/images/picasso-las-meninas-group-resized-600.jpeg?t=1454363078875 šis]? | ||
+ | |||
+ | Lai arī ir [http://ksiresearchorg.ipage.com/seke/dms14paper/paper54.pdf rīki], kas māk saskatīt skicē diagrammas elementus (noskaidrot robežas un, ko saprot ar diagrammu), mēs tomēr nemēģināsim risināt šāda veida uzdevumu, bet gan definēsim diagrammas jēdzienu ''konstruktīvi'', tas ir, aprakstīsim diagrammas mazākās sastāvdaļas, kuras kombinējot iespējams iegūt diagrammu. | ||
+ | |||
+ | Par diagrammu mēs uzskatīsim vizuālu elementu kopu, kas ir izvietoti plaknē. Atbilstoši Bertin-a ''Semiology of Graphics'' katru diagrammas atomāru elementu apraksta ar sekojošu īpašību vērtībām: | ||
* plaknes īpašības - elementa koordinātas, t.i., horizontālais un vertikālais novietojums (man vēl gribētos ieviest ''dziļumu'', kas pateiktu, kurš elements ir kuram priekšā, bet šeit varbūt pietiek ar to, ka elementi ir sanumurēti). | * plaknes īpašības - elementa koordinātas, t.i., horizontālais un vertikālais novietojums (man vēl gribētos ieviest ''dziļumu'', kas pateiktu, kurš elements ir kuram priekšā, bet šeit varbūt pietiek ar to, ka elementi ir sanumurēti). | ||
* ''retinal'' īpašības - forma (''shape''), izmērs, krāsa, spilgtums(''value''), orientācija un tekstūra. | * ''retinal'' īpašības - forma (''shape''), izmērs, krāsa, spilgtums(''value''), orientācija un tekstūra. | ||
− | + | ||
+ | Papildus Bertin-a īpašībām atomārs elements var saturēt tekstu vai attēlu. | ||
Savukārt pašu diagrammas izstāstīšanas procesu mēs varam uzskatīt par komunikācijas procesu atbilstoši Shannon-am. Moody šo procesu tieši tā arī apraksta (skat. attēlu 1). | Savukārt pašu diagrammas izstāstīšanas procesu mēs varam uzskatīt par komunikācijas procesu atbilstoši Shannon-am. Moody šo procesu tieši tā arī apraksta (skat. attēlu 1). | ||
22. rindiņa: | 34. rindiņa: | ||
Faktiski runa ir par '''neformāli pierakstītas diagrammu automātisku vai pusautomātisku formalizāciju'''. | Faktiski runa ir par '''neformāli pierakstītas diagrammu automātisku vai pusautomātisku formalizāciju'''. | ||
+ | |||
+ | === Piemērs: Galīgi Automāti === | ||
+ | [http://estudijas.lu.lv/course/view.php?id=61 Automātu Teorijas] kursam es automātus priekš slaidiem zīmēju ar PowerPoint. Protams, ka PowerPoint ļauj uzzīmēt visu, ko es vēlos, taču tas pavisam noteikti nesaprot, ka es zīmēju galīgus determinētus (nedeterminētus). Līdz ar to rīks nepalīdz man veidot sintaktiski korektus un vēl jo vairāk semantiski korektus automātus. ''Flexible Modeling'' rīks pēc noteikta skaita (interesanti pēc cik?) diagrammu uzzīmēšanas spētu saprast: | ||
+ | * galīgu automātu sintaksi | ||
+ | * ierobežojumus - piemēram, determinētam automātam no katra stāvokļa iziet tieši tik bultiņu, cik alfabētā ir simbolu | ||
+ | * semantiku (???) - te gan jābūt vēl papildus, piemēram, valodas aprakstam citā formālismā. | ||
=== Ko pasaule par to zina === | === Ko pasaule par to zina === | ||
34. rindiņa: | 52. rindiņa: | ||
=== Ko pasaule šajā jomā jau ir izdarījusi === | === Ko pasaule šajā jomā jau ir izdarījusi === | ||
− | [http://www.ifi.uzh.ch/rerg/research/flexiblemodeling/flexisketch.html FlexiSketch] ir rīks, kas ļauj veidot skices, kuras elementi tiek automātiski atpazīti. | + | [http://www.ifi.uzh.ch/rerg/research/flexiblemodeling/flexisketch.html FlexiSketch] ir rīks, kas ļauj veidot skices, kuras elementi tiek automātiski atpazīti. Patreiz pirms tam šie elementi manuāli ir jānodefinē. Uzsvars tiek likts uz kopīgu diagrammu veidošanu no vairākām ierīcēm vienlaicīgi. Pamatīgāk tas viss ir aprakstīts [http://www.zora.uzh.ch/id/eprint/135591/1/dissertation-color.pdf Dustin Wuest disertācijā]. Šķiet, ka līdz ar vadošā profesora aiziešanu pensijā, arī grupa ir paputējusi - te nekas jauns nebūs. Var pasekot šo cilvēku gaitām [https://www.fhnw.ch/de/die-fhnw/hochschulen/ht/institute/institut-fuer-interaktive-technologien te]. |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | University of York citīgi pēta iespējas, [http://ceur-ws.org/Vol-1470/FlexMDE15_paper_5.pdf kā no diagrammas grafiskajiem elementiem iegūt metamodeli], [http://ceur-ws.org/Vol-1239/xm14_submission_7.pdf kā pieškirt semantiku grafiskajai sintaksei], [ftp://ceur-ws.org/pub/publications/CEUR-WS/Vol-1089.zip#page=10 kā dinamiski veidot grafiskus rīkus]! [https://link.springer.com/article/10.1007/s10270-018-0658-5 Tipu inference] - metamodeļa izdabūšana no netipizēta vai daļēji tipizēta modeļa. | |
− | + | University of Alabama Hyun Cho aizstāvēja [http://gray.cs.ua.edu/pubs/hyun-cho-thesis-2013.pdf PhD Thesis] par tēmu, kā izstrādāt grafiskus DSL-us (Domain Specific Languages), balstoties uz lietotāju piemēriem. Šī pieeja sevī iekļauj arī lietotāja piemēru, kas ir diagrammas, formalizāciju. | |
− | + | [http://www.miso.es Research group] in the Computer Science Departament of the Universidad Autónoma de Madrid arī nodarbojas ar grafisko rīku būvi, [https://link.springer.com/article/10.1007/s10270-017-0632-7 balstoties uz piemēriem]. (pilno versiju var arī dabūt). Metode kā no modeļu fragmentiem iegūt meta-modeli ir aprakstīta [http://miso.es/pubs/models-sosym.pdf šajā žurnāla rakstā]. | |
− | + | [https://www.openflexo.org/ Openflexo] mēģina būvēt DSL-us taisot grafisko un meta daļu paralēli. [https://hal.archives-ouvertes.fr/hal-01393781/document Ne pārāk detalizēts apraksts]. | |
− | + | Nodefinētas [https://www.slideshare.net/miso_uam/kite-119795322 prasības rīkam]. |
Pašreizējā versija, 2018. gada 19. oktobris, plkst. 09.43
Dažādu jomu speciālisti izmanto diagrammas, lai uzskatāmi pierakstītu un citiem izstāstītu savas domas un idejas. Tomēr, ja mēs paprasām, kas ir diagramma, tad izrādās, ka intuitīvi mēs itkā saprotam, bet precīzas definīcijas nemaz nav.
Piemēram, Wikipedia par to saka tā:
A diagram is a symbolic representation of information according to some visualization technique.
1 : a graphic design that explains rather than represents; especially : a drawing that shows arrangement and relations (as of parts) 2 : a line drawing made for mathematical or scientific purposes
Vai šis attēls ir diagramma? Un šis?
Lai arī ir rīki, kas māk saskatīt skicē diagrammas elementus (noskaidrot robežas un, ko saprot ar diagrammu), mēs tomēr nemēģināsim risināt šāda veida uzdevumu, bet gan definēsim diagrammas jēdzienu konstruktīvi, tas ir, aprakstīsim diagrammas mazākās sastāvdaļas, kuras kombinējot iespējams iegūt diagrammu.
Par diagrammu mēs uzskatīsim vizuālu elementu kopu, kas ir izvietoti plaknē. Atbilstoši Bertin-a Semiology of Graphics katru diagrammas atomāru elementu apraksta ar sekojošu īpašību vērtībām:
- plaknes īpašības - elementa koordinātas, t.i., horizontālais un vertikālais novietojums (man vēl gribētos ieviest dziļumu, kas pateiktu, kurš elements ir kuram priekšā, bet šeit varbūt pietiek ar to, ka elementi ir sanumurēti).
- retinal īpašības - forma (shape), izmērs, krāsa, spilgtums(value), orientācija un tekstūra.
Papildus Bertin-a īpašībām atomārs elements var saturēt tekstu vai attēlu.
Savukārt pašu diagrammas izstāstīšanas procesu mēs varam uzskatīt par komunikācijas procesu atbilstoši Shannon-am. Moody šo procesu tieši tā arī apraksta (skat. attēlu 1).
Papīra lapa, tāfele, arī datora ekrāns ir vietas, uz kurieni notiek idejas pārnese no cilvēka prāta tādā formā, ko arī pārējie spēj uztvert. Tieši papīrs un zīmulis, tāfele un krītiņš ir rīki, kas ļauj maksimālu brīvību, veidojot diagrammu. Diagrammas veidotājs var brīvi izvēlēties jebkādas formas, krāsas, novietojumu, u.c. vizuālo elementu īpašību vērtības, tādejādi vienīgie ierobežojumi ir tāfeles izmēri un paša zīmētāja iztēle.
Arī dators tiek izmantots šim nolūkam, un eksistē virkne diagrammu zīmēšanas rīku, kas ļauj zīmēt relatīvi brīvā formā (Gimp, Paint, utml. ...) vai, izmantojot priekšdefinētus diagrammatiskos primitīvus (Visio, Dia,PowerPoint utml. ...), t.i., šajos rīkos tiek ierobežotas pieļaujamās vizuālo elementu īpašību vērtības - vizuālo alfabētu. Vizuālā alfabēta simboli tiek izmantoti, lai aprakstītu kādu jēdzienu vai objektu, tādejādi veidojot saistību starp diagrammatisko pasauli un reālo pasauli.
Tomēr šādi zīmētas diagrammas ir grūtāk izskaidrot citiem, jo brīvi lietoto līdzekļu nozīme ir zināma tikai un vienīgi diagrammas autoram. Tādejādi, lai gan šī veida diagrammas ļoti precīzi attēlo to autoru idejas un domas (vismaz saistība starp to, kas ir autora galvā un to, kas ir diagrammā visdrīzāk ir precīza), tomēr tās ir ne tikai sarežģītāk pasniegt citiem cilvēkiem, bet arī grūti apstrādāt ar automātiskiem līdzekļiem! Ne cilveks, ne dators tās saprast tik viegli nevar.
Tāpēc praksē atļautie izteiksmes līdzekļi tiek strikti ierobežoti, un tiem tiek piesķirta precīza nozīme - katrs atļautais vizuālo simbolu komplekts apraksta kādu, tieši vienu, jēdzienu reālajā pasaulē. Šādu precīzi definētu diagrammatisko līdzekļu kopu sauc par vizuālu notāciju modelēšanas(?) valodai, un ar tās palīdzību izstrādātās diagrammas jau ir iespējams automātiski apstrādāt – validēt, transformēt, analizēt. Arī valodu apguvušam cilvēkam tās ir daudz vieglāk saprotamas, nekā pilnīgi brīvā formā uzzīmētais.
Tomēr, lai to nodrošinātu, tiek upurēta iespēja brīvi un bez ierobežojumiem izteikt savas domas, ieviešot stingrus rāmjus. Tādejādi izmantotajai modelēšanas valodai un tās vizuālajai notācijai ir ļoti precīzi jāatbilst cilvēka domāšanai, lai viņš spētu tajā tekoši izteikt savas domas un idejas. Te var pieminēt analoģiju ar nepietiekoši apgūtu svešvalodu - vārdu krājuma nepietiekamība rada ļoti līdzīgu efektu.
Tādejādi – no vienas puses ir brīvā pasaule, kura var brīvi pierakstīt savas domas, bet ar kuru ir lielas problēmas tālāk kaut ko iesākt, bet no otras puses ir stipros rāmjos ielikti līdzekļi, kas ļauj automatizēt, bet neļauj brīvi pierakstīt savu domu.
Flexible Modeling uzdevums būtu radīt jaunu rīku, kas mazinātu šo pretrunu, ļaujot sākotnēji pēc iespējas lielāku izteiksmes līdzekļu brīvību (ļaut lietotājam pēc iespējas vairāk variēt ar vizuālo elementu īpašību vērtībām) un palīdzot katram atrast to vizuālo notāciju (arī modelēšanas valodu), kādā savas domas pierakstīt ir visērtāk, tādejādi nonākot pie precīzās pasaules rīka, kas nodrošinātu automatizācijas iespējas.
Faktiski runa ir par neformāli pierakstītas diagrammu automātisku vai pusautomātisku formalizāciju.
Piemērs: Galīgi Automāti
Automātu Teorijas kursam es automātus priekš slaidiem zīmēju ar PowerPoint. Protams, ka PowerPoint ļauj uzzīmēt visu, ko es vēlos, taču tas pavisam noteikti nesaprot, ka es zīmēju galīgus determinētus (nedeterminētus). Līdz ar to rīks nepalīdz man veidot sintaktiski korektus un vēl jo vairāk semantiski korektus automātus. Flexible Modeling rīks pēc noteikta skaita (interesanti pēc cik?) diagrammu uzzīmēšanas spētu saprast:
- galīgu automātu sintaksi
- ierobežojumus - piemēram, determinētam automātam no katra stāvokļa iziet tieši tik bultiņu, cik alfabētā ir simbolu
- semantiku (???) - te gan jābūt vēl papildus, piemēram, valodas aprakstam citā formālismā.
Ko pasaule par to zina
Par to, kas ir diagramma runā Bertin, J., Semiology of Graphics: Diagrams, Networks, Maps. 1983, Madison, Wisconsin, USA: University of Wisconsin Press. Īss diagrammas vizuālo īpašību saraksts ir atrodams Visual Representation from Semiology of Graphics by J. Bertin, Slides by: Sheelagh Carpendale.
Par to, kas ir grafiskā sintakse, runā arī von Engelhardts sava diertācijā The language of graphics
Mēģinājums formalizēt diagrammatisko līdzekļu izvēles principus ir The "Physics" of Notations by Daniel Moody . Ļoti vērtīgs raksts ar daudzām vērtīgām atsaucēm.
Vecs, bet labs raksts par to, kādos gadījumos bilde ir labāka par tekstu. Larkin, J.H. and H.A. Simon, Why a Diagram is (Sometimes) Worth Ten Thousand Words. Cognitive Science, 1987. 11(1)
Ko pasaule šajā jomā jau ir izdarījusi
FlexiSketch ir rīks, kas ļauj veidot skices, kuras elementi tiek automātiski atpazīti. Patreiz pirms tam šie elementi manuāli ir jānodefinē. Uzsvars tiek likts uz kopīgu diagrammu veidošanu no vairākām ierīcēm vienlaicīgi. Pamatīgāk tas viss ir aprakstīts Dustin Wuest disertācijā. Šķiet, ka līdz ar vadošā profesora aiziešanu pensijā, arī grupa ir paputējusi - te nekas jauns nebūs. Var pasekot šo cilvēku gaitām te.
University of York citīgi pēta iespējas, kā no diagrammas grafiskajiem elementiem iegūt metamodeli, kā pieškirt semantiku grafiskajai sintaksei, kā dinamiski veidot grafiskus rīkus! Tipu inference - metamodeļa izdabūšana no netipizēta vai daļēji tipizēta modeļa.
University of Alabama Hyun Cho aizstāvēja PhD Thesis par tēmu, kā izstrādāt grafiskus DSL-us (Domain Specific Languages), balstoties uz lietotāju piemēriem. Šī pieeja sevī iekļauj arī lietotāja piemēru, kas ir diagrammas, formalizāciju.
Research group in the Computer Science Departament of the Universidad Autónoma de Madrid arī nodarbojas ar grafisko rīku būvi, balstoties uz piemēriem. (pilno versiju var arī dabūt). Metode kā no modeļu fragmentiem iegūt meta-modeli ir aprakstīta šajā žurnāla rakstā.
Openflexo mēģina būvēt DSL-us taisot grafisko un meta daļu paralēli. Ne pārāk detalizēts apraksts.
Nodefinētas prasības rīkam.