Automaattinen koodin generointi, kääntäminen ja tulkkaus rakenteellisen datan käsittelyssä
No Thumbnail Available
URL
Journal Title
Journal ISSN
Volume Title
Helsinki University of Technology |
Diplomityö
Checking the digitized thesis and permission for publishing
Instructions for the author
Instructions for the author
Authors
Date
2004
Major/Subject
Ohjelmistotekniikka
Mcode
T-106
Degree programme
Language
fi
Pages
70+4
Series
Abstract
Työn tavoitteena oli kehittää menetelmä graafisella käyttöliittymällä luodun käsittelylogiikan suorittamiseen mahdollisimman tehokkaasti. Käsittelylogiikka koostuu joukosta sääntöjä, joilla prosessoidaan rakenteellista dataa. Säännöt voivat olla lähes mitä tahansa riippuen sovelluskohteesta. Käsiteltävä data on jaksollista, ja jokaisella jaksolla on ennalta määrätty rakenne. Sovelluskohteena oli tietoliikenneverkkojen seuranta- ja laskutusdatan käsittely, mutta toteutetulla järjestelmällä voi hyvin prosessoida muutakin dataa. Työn sovelluskohteessa datan määrä voi olla todella suuri, jolloin suorituskyky vaikuttaa käyttökustannuksiin ja toimivuuteen. Järjestelmällä voi olla reaaliaikavaatimuksia, joiden takia data on saatava käsiteltyä tarpeeksi nopeasti. Työssä toteutettiin kääntäjä, joka kääntää graafisella käyttöliittymällä rakennetun käsittelylogiikan eräänlaiseksi operaatiokoodiksi. Lisäksi toteutettiin tulkki, jolla kääntäjän tuottamaa operaatiokoodia voidaan ajaa tehokkaasti. Tulkin käskykanta suunniteltiin sellaiseksi, että se toimii tehokkaasti juuri tässä sovelluskohteessa. Tulkki voi suorittaa ison osan monimutkaisistakin operaatioista kokonaan natiivikoodissa, jolloin tulkkauksen aiheuttama lisäkustannus jää pieneksi. Tulkin suorituskykyä verrattiin Perl-tulkin suorituskykyyn erilaisissa tilanteissa. Tulkki suoriutui testilogiikasta noin 3-7,5 kertaa Perl-tulkkia nopeammin riippuen testin parametreista. Lopputuloksena työssä saatiin joustava ja tehokas menetelmä tuotetun logiikan suorittamiseen.Description
Supervisor
Soisalon-Soininen, EljasThesis advisor
Lassila, JussiKeywords
compiler, kääntäjä, interpreter, tulkki, structured data, rakenteellinen data, optimisation, optimointi