Programare Vizuala Si Modelare

  • Published on
    10-Aug-2015

  • View
    108

  • Download
    5

Embed Size (px)

Transcript

Programare Vizual i Modelare Curs pentru master S i s t e m e I n f o r m a t i c e A p l i c a t e n P r o -d u c i e i S e r v i c i i Dr.ing. Loredana STANCIU, PhD Programare Vizual i Modelare Pagina 2 Cuprins 1PROGRAMAREA VIZUAL .............................................................................................................................. 4 1.1INTRODUCERE ......................................................................................................................................................... 4 1.2ISTORIC .................................................................................................................................................................. 6 1.3STRATEGII N PROGRAMAREA VIZUAL ....................................................................................................................... 8 1.4CLASICAREA LIMBAJELOR DE PROGRAMARE VIZUAL .................................................................................................. 9 1.5TEORIA LIMBAJELOR DE PROGRAMARE VIZUAL ........................................................................................................ 11 1.5.1Specificarea formal a Limbajelor de Programare Vizual....................................................................... 11 1.5.2Analiza Limbajelor de Programare Vizual ................................................................................................ 12 1.6PROBLEMELE LIMBAJELOR VIZUALE ........................................................................................................................... 13 1.6.1Controlul fluxului .......................................................................................................................................... 13 1.6.2Abstractizarea procedural ......................................................................................................................... 14 1.6.3Abstractizarea datelor ................................................................................................................................. 14 1.7EXEMPLE DE LIMBAJE DE PROGRAMARE VIZUAL ........................................................................................................ 14 1.7.1Chimera. Programarea vizual imperativ prin demonstraie ................................................................. 14 1.7.2Forms/3. Programarea vizual bazat pe foi de calcul tabelar ................................................................ 17 1.7.3Prograph. Programarea vizual cu fluxuri de date.................................................................................... 20 1.7.4KidSim/Cocoa. Programarea vizual bazat pe reguli .............................................................................. 21 1.7.5Cube. Limbaje de programare vizual 3D .................................................................................................. 24 1.8PROGRAMAREA VIZUAL I ABSTRACTIZAREA ............................................................................................................. 26 1.9CONCLUZII PRIVIND PROGRAMAREA VIZUAL ............................................................................................................. 27 2MODELARE CU REELE PETRI (19) ................................................................................................................ 28 2.1INTRODUCERE ....................................................................................................................................................... 28 2.2DESCRIEREA REELELOR PETRI ................................................................................................................................. 30 2.3PROPRIETI ALE REELELOR PETRI .......................................................................................................................... 34 2.3.1Accesibilitate ................................................................................................................................................ 34 2.3.2Limitabilitate i siguran ............................................................................................................................ 35 2.3.3Conservativitate ........................................................................................................................................... 35 2.3.4Nivelul de activare ....................................................................................................................................... 36 2.3.5Reversibilitate i starea de pornire ............................................................................................................. 38 2.4METODE DE ANALIZ .............................................................................................................................................. 38 2.4.1Arborele de acoperire .................................................................................................................................. 39 2.4.2Matricea de inciden i ecuaia de stare .................................................................................................. 41 2.4.3Un exemplu................................................................................................................................................... 42 2.5REELE PETRI: CONCLUZII ........................................................................................................................................ 44 3MODELARE CU GOOGLE APP INVETOR ........................................................................................................ 47 3.1SISTEMUL DE OPERARE ANDROID ............................................................................................................................. 47 3.1.1Scurt istoric ................................................................................................................................................... 47 3.1.2Caracteristici................................................................................................................................................. 48 3.1.3Evoluia sistemului Android i impactul su pe pia ................................................................................ 49 Programare Vizual i Modelare Pagina 3 3.1.4Arhitectura Android ..................................................................................................................................... 50 3.1.5SDK-ul Android ............................................................................................................................................. 51 3.2GOOGLE APP INVENTOR ......................................................................................................................................... 52 3.2.1Selectarea componentelor pentru crearea de aplicaii ............................................................................. 54 3.2.2Deschiderea editorului de blocuri i pornirea emulatorului ...................................................................... 55 3.2.3Ce se poate face cu App Inventor? .............................................................................................................. 56 3.2.4Capaciti i limitri ..................................................................................................................................... 57 3.2.5Componente App Inventor .......................................................................................................................... 58 3.2.6Blocuri din App Inventor .............................................................................................................................. 64 4MODELARE CU SIMULINK ............................................................................................................................ 65 4.1CREAREA I REALIZAREA MODELELOR ........................................................................................................................ 66 4.2SIMULAREA UNUI MODEL ........................................................................................................................................ 67 4.3ANALIZA REZULTATELOR.......................................................................................................................................... 69 4.4MODELARE N SIMMECHANICS ................................................................................................................................ 69 4.4.1Studiul minii umane ................................................................................................................................... 70 4.4.2Constrngeri ale minii umane ................................................................................................................... 75 4.4.3Modelul cinematic i modelul SimMechanics ............................................................................................ 79 4.4.4Conectarea la o lume virtual ..................................................................................................................... 87 5BIBLIOGRAFIE .............................................................................................................................................. 90 Programare Vizual i Modelare Pagina 4 1Programarea Vizual 1.1Introducere Limbajele de programare convenionale sunt dificil de nvat i folosit, necesitnd abiliti pe care foar-te muli oameni nu le au. Din acest motiv, interfeele cu utilizatorul de la o gam larg de programe au nceput s vin cu faciliti care s suplineasc i s uureze capabilitile de programare. Spre exemplu, succesul foilor de calcul poate fi parial atribuit abilitii utilizatorilor de a scrie programe (sub form de colecii de formule). Pe msur ce distribuia decalculatoare personalea crescut,foarte muli utilizatori auajunss dein unul, frca mareamajoritate s aib cunotinen a scrieprograme.Eicumprcalculatoareleipa-chetele software fr s fie capabili s aduc omodificare ct de mic software-ului. Pentru a permite utilizatorului final s reconfigureze i s modifice sistemul, pachetele software ar trebuis ofere aceste opiuni, fapt care ar putea induce transformarea sistemului ntr-unul i mai complex fr s rezolve pro-blemele utilizatorului. Sisteme software uor de utilizat, precum sistemele de manipulare direct (Direct Manipulation)nufacdectsmreascdistanadintreutilizatoriprogramatorncondiiilencare coduleste multmai complicat(dincauzasuplimentuluinecesarmanipulrii interfeelor pentru utiliza-tor), chiar dac mai muli utilizatori vor putea folosi software-ul (fiind uor de utilizat). (1) Cel mai bun exemplu de sistem cu manipulare direct este sistemul de operare cu pictograma Recycle Bin. Pentru a terge ceva, utilizatorul selecteaz i duce efectiv cu mausul (prin tehnica drag and drop) elementele n co. Pe de alt parte, oamenii au comunicat mult vreme folosind imagini, ca urmare, pe parcursul anilor 80 i90s-au fcutnumeroase eforturi pentru a pune n valoare abilitatea uman de a procesainformaii vizuale.Spreexemplificare,sepoateconsideraurmtoareasituaie:unompoateurmripeecranul televizorului o imagine i s discearn un ablon constnd n milioane de pixeli pe secund, care se mo-dific n timp i spaiu. Dac, ns, privete imaginea din Fig. 1.1 (2), probabilitatea este aproape nul ca cinevasdeslueascablonulreprezentatde urmtorulsetde numere:unsetde perechiX,Y,unde prima linie reprezint valorile lui X, iar a doua linie valorile lui Y. Chiar i tiind c sunt perechi de coor-donate nplan, majoritateaoamenilor totar avea probleme na discerne un ablon din acest exemplu numeric. Dac, ns, aceste puncte sunt desenate, ablonul reiese rapid, aa cum se poate observa n Fig. 1.2 (2). 4742931226885105133137 58100954612613318110868 Fig. 1.1 Perechi de coordonate X,Y Din aceste considerente limbajele de programare vizual ntreab: de ce, atunci, s persistm n ncerca-rea de a comunica cu calculatoarele noastre folosind limbaje de programare textuale? N-am fi mai pro-ductivi i puterea de calcul a calculatoare moderne n-ar fi mai accesibil la o gam mai larg de oameni, dac am fi capabili de a instrui un computer prin simpla desenare a imaginilor pe care le vedem cu ochii Programare Vizual i Modelare Pagina 5 minii noastre atunci cnd ne gndim la soluiile unor probleme speciale? Evident, susintorii limbajelor de programare vizual susin c rspunsul la ambele ntrebri este afirmativ. Fig. 1.2 Puncte ntrebrile de mai sus subliniaz motivarea principal a cercetrii nlimbajele de programare vizual. n primul rnd, majoritatea oamenilor gndesc i i amintesc lucrurile n imagini. Ei se refer lalumea n-conjurtoare ntr-un mod grafic i folosesc imaginile drept componente principale n gndirea creatoare. Reducndsaunlocuind n totalitate necesitatea traducerii ideilorvizuale nreprezentri textuale artifi-ciale poate ajuta la diminuarea problemelor de nvare. Mai mult, numeroase aplicaii se mpac foarte bine cu metodele de dezvoltare vizual. (3) Programarea vizual este programarea n care mai mult de o dimensiune este folosit pentru a transmi-te informaie. Exemple de astfel de dimensiuni adiionale sunt: folosirea obiectelor multi-dimensionale, folosirea relaionrilor spaiale, sau folosirea dimensiunii timp pentru specificarea relaiilor semantice de tip naintedup. Fiecare multi-dimensional saurelaie este un jeton(token), aa cum nlimbajele de programare textual tradiionale fiecare cuvnt este un jeton. O colecie de unul sau mai multe astfel de jetoaneeste o expresievizual.Exemplede expresii vizuale folosite nprogramareavizual includdia-grame,schie,icoanesaudemonstraiide aciunirealizatecuobiecte grafice. Atuncicnd sintaxa unui limbaj de programare (semnificativ din punct de vedere semantic) include expresii vizuale, limbajul de programare este un limbaj de programare vizual (LPV). Dei limbajele de programare textual tradiionale adeseori ncorporeaz sintax bidimensional ntr-un sens foarte limitat o dimensiune x pentru a transmite ir de caractere liniar legal n limbaj i o dimen-siuneycarepermitespaiereaopionalaliniilorndocumentdoarunadintreacestedimensiuni transmite semantic, pe cnd cea de-a doua dimensiune a fost limitat la o informaie legat de tastarea relaiilor spaiale astfel nct s poat fi exprimate ntr-o gramatic unidimensional. Astfel, multidimen-sionalitatea este principal diferen dintre LPV-uri i limbajele strict textuale. Cndexpresiilevizualesuntfolositentr-unmediudeprogramaredreptofacilitatedeeditarerapid pentrugenerareadecod,acestaestedenumitmediudeprogramarevizual(MPV).Acestemediide programarevizualpentrulimbajeledeprogramaretextualtradiionalereprezintotrecerentre LPV-uri i cunoscutele limbaje textuale. Spre deosebire de acum civa ani, cnd mediile de programare stricttextualein liniedecomandreprezentaunormalul, astzi MPV-urilepentrulimbajeletextuale tradiionale au preluat controlul n lumea programatorilor. MPV-urile comerciale pentru limbajele tradi-ionalesuntgnditepentruprogramatoriideprofesie.Acetiprogramatorifolosesclimbajeletextuale pe care...