algoritmusok megjelenítése egy magas szintű programnyelv vizuális nyomkövetőjén keresztül

14
Algoritmusok megjelenítése egy magas szintű programnyelv vizuális nyomkövetőjén keresztül Podoski Péter és Zabb László

Upload: padma

Post on 23-Feb-2016

36 views

Category:

Documents


0 download

DESCRIPTION

Algoritmusok megjelenítése egy magas szintű programnyelv vizuális nyomkövetőjén keresztül. Podoski Péter és Zabb László. Bevezető. Algoritmus-vizualizáció témakörében végeztünk kutatásokat és fejlesztéseket Felmértük a manapság ismert eszközök hiányosságait - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Algoritmusok megjelenítése egy magas szintű programnyelv vizuális nyomkövetőjén keresztül

Algoritmusok megjelenítése egy magas szintű programnyelv vizuális

nyomkövetőjén keresztülPodoski Péter és Zabb László

Page 2: Algoritmusok megjelenítése egy magas szintű programnyelv vizuális nyomkövetőjén keresztül

BevezetőAlgoritmus-vizualizáció témakörében

végeztünk kutatásokat és fejlesztéseketFelmértük a manapság ismert eszközök

hiányosságaitKidolgoztunk egy saját rendszert, amiben az

algoritmusok vizualizációjához szükséges eszközök széles palettája elérhető

Page 3: Algoritmusok megjelenítése egy magas szintű programnyelv vizuális nyomkövetőjén keresztül

Az igény megfogalmazásaElvárások egy jó vizualizátorral kapcsolatban:

célközönség számára megfelelő megjelenítést lehessen hozzá tetszőleges vizualizációs modult

készíteni vagy csatolni

Szélsőségek túl részletes, túl kötött, csak megjelenítés, animálás

Megoldás a célunk („Arany középút”) -> PSimulex

Page 4: Algoritmusok megjelenítése egy magas szintű programnyelv vizuális nyomkövetőjén keresztül

Saját nyelvMagas szintű utasítások, lehetőségek.Legfőbb jellemzői: gyengén típusos, C-szerű,

modern nyelvekhez illeszkedő szintaxis,egyszerű, típuskonstrukció rekord, fontosabb

vezérlési szerkezetek, felhasználói függvények, importálás, globális változók

Page 5: Algoritmusok megjelenítése egy magas szintű programnyelv vizuális nyomkövetőjén keresztül

Szintaxis

Page 6: Algoritmusok megjelenítése egy magas szintű programnyelv vizuális nyomkövetőjén keresztül

Fordítás gépi kódraMiből mi lesz a négy lépés alatt az ábra

alapján. Eredmény a Microlex kód.

Page 7: Algoritmusok megjelenítése egy magas szintű programnyelv vizuális nyomkövetőjén keresztül

ParancsobjektumokEgy kapott környezeten dolgoznak.Környezet: IP, RunStack, CallStack,

VáltozólistaHárom fő csoportjuk:

Vezérlés-átadó parancsobjektumokKonkrét műveleteket végrehajtó

parancsobjektumokVáltozókat, adatszerkezeteket kezelő

parancsobjektumok

Page 8: Algoritmusok megjelenítése egy magas szintű programnyelv vizuális nyomkövetőjén keresztül

Saját virtuális platformParancsobjektumok tömbje interpretálódik, a

környezet elemeiHW (többprocesszoros gép, memória)SW op. rendszer, alacsony szinten: runstack,

call stack, varlist, IP, SP Ide jön egy ábraVirtuális hálózat, virtuális gép (Mini OS ,

ütemező), folyamat, szál

Page 9: Algoritmusok megjelenítése egy magas szintű programnyelv vizuális nyomkövetőjén keresztül

Saját típusrendszerGazdag. BaseType == Object

Primitív típusok + gyűjtemények + fák + gráfok(Esetleg 2 spec Referencia + Property wrapper)

Saját típusok Hogy tudjuk mi micsodaHogy egyszerűen lehessen algoritmusokat megfogalmazni.

Felhasználói típus a rekord, példányosul, mezőinek kezdőértéket lehet megadni.

Gyengén típusosság miatt mindenbe mindent lehet tenni.

Konverzió + típus hierarchia. Szinte minden mindenre. Minden összetettre.

Page 10: Algoritmusok megjelenítése egy magas szintű programnyelv vizuális nyomkövetőjén keresztül

Saját IDEFunkciók

LexLighterSyntax highlightLéptetési módszerekKorszerű IDE, tabok, több forrásfájl kezelése,

testre szabható, ergonómikusNézetek váltása

Page 11: Algoritmusok megjelenítése egy magas szintű programnyelv vizuális nyomkövetőjén keresztül

Típushierarchia

Page 12: Algoritmusok megjelenítése egy magas szintű programnyelv vizuális nyomkövetőjén keresztül

Saját vizualizációDinamikus, változást követő, adatszerkezetek

megjelenítése, mit láthatunkEgy-két ábra egy-egy mondat erejéig.Montázs:

Hívási vermes megjelenítésEgy központi adatszerkezet kiemeléseEgymásba ágyazhatóság

Adatszerkezetek szerkesztése menet közben is, gráf editor(, fa editor)

Page 13: Algoritmusok megjelenítése egy magas szintű programnyelv vizuális nyomkövetőjén keresztül

Egy bináris fa megfigyelése

Page 14: Algoritmusok megjelenítése egy magas szintű programnyelv vizuális nyomkövetőjén keresztül

Felhasználási területekOktatás

AlgoritmusokProgramozásFordító programok

KutatásAlgoritmusok „megalkotása„Elméletek tesztelése

FejlesztésAlgoritmikus problémák megoldása itt és aztán implementálása

DemonstrációAutomatikusan létrejön a megjelenítés, testre szabható,

exportálható a program futása, eredménye, csak a programot kell megírni, az inputot megszerkeszteni.