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

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, Eljas

Thesis advisor

Lassila, Jussi

Keywords

compiler, kääntäjä, interpreter, tulkki, structured data, rakenteellinen data, optimisation, optimointi

Other note

Citation