A Portable Compiler for Full ASN.1
dc.contributor | Aalto-yliopisto | fi |
dc.contributor | Aalto University | en |
dc.contributor.advisor | Huima, Antti | |
dc.contributor.author | Suontama, Vesa | |
dc.contributor.department | Tietotekniikan osasto | fi |
dc.contributor.school | Teknillinen korkeakoulu | fi |
dc.contributor.school | Helsinki University of Technology | en |
dc.contributor.supervisor | Soisalon-Soininen, Eljas | |
dc.date.accessioned | 2020-12-04T13:35:30Z | |
dc.date.available | 2020-12-04T13:35:30Z | |
dc.date.issued | 2001 | |
dc.description.abstract | Siirrettäessä tietoa systeemistä toiseen, on tärkeää että tiedon formaatti on tarkasti määritelty, koska tietokoneet eivät osaa tulkita tietoa. Monet ohjelmistovirheet ovat johtuneet tietokoneen kyvyttömyydestä tulkita tietoa oikein. Erityisesti kommunikaatio kahden erilaisen tietokoneen välillä on altis virheille, koska tiedon sisäinen esitystapa on erilainen monissa systeemeissä. ASN. 1 on formaali kieli tiedon ja informaation määrittelyyn. Sitä voidaan käyttää tehokkaasti mm. ohjelmistojen määrittely- ja suunnitteluvaiheessa kuvaamaan siirrettävän tiedon sisältöä ottamatta kuitenkaan kantaa siihen, missä muodossa tieto loppujen lopuksi siirretään. ASN.1-määritelmät yhdessä koodaussääntöjen kanssa määrittävät tarkasti tiedon formaatin, joka on riippumaton käytettävästä laitteistosta ja käyttöjärjestelmästä. ASN. 1 onkin tällä hetkellä hallitseva menetelmä tiedon määrittelyyn. ASN.1 on kieli, joka määrittelee informaation tietosisällön. Se ei kuitenkaan ole ohjelmointikieli. Kun ohjelma, jonka välittämä tieto on kuvattu ASN.1-kielellä toteutetaan, täytyy tietorakenteet koodata ohjelmointikielelle. Tässä työssä esitellään ohjelmisto, joka kääntää ASN. 1-kieltä automaattisesti C-kielelle. Ohjelmisto tuottaa ASN.1-määritelmän kuvaamat tietorakenteet sekä funktiot, jotka muuntavat tietoa C-kielen käyttämästä muodosta BER-koodaussääntöjen muotoon. Tällaisia työkaluja kutsutaan ASN.1-kääntäjiksi (ASN.1 compilers). Työ sisältää lyhyen johdannon kääntäjäteoriaan. Siinä esitellään myös eräitä vaikeuksia ASN.1-kielen jäsentämisessä. Esitelty ASN. 1-kääntäjä tuottaa funktiot, jotka muuntavat tietoa muodosta toiseen. Muistinkäytön minimoimiseksi tuotetut funktiot on toteutettu konekieltä muistuttavan kielen avulla. Työssä on estelty näennäissuoritin, joka ymmärtää tuotettua kieltä ja suorittaa sitä. Työn lopussa vertaillaan kehitettyä kääntäjää muihin olemassa oleviin kääntäjiin, ja tulosten perusteella voidaan sanoa, että kehitetyssä kääntäjässä on monia ainutlaatuisia ominaisuuksia. Kääntäjä osaa muun muassa automaattisesti muuttaa tuottamiaan tietorakenteita käyttämään olemassa olevia tietotyyppejä, mikä helpottaa aikaisemmin käytettyjen ohjelmistojen liittämistä järjestelmiin. | fi |
dc.format.extent | (6) + 65 s. + liitt. 7 | |
dc.identifier.uri | https://aaltodoc.aalto.fi/handle/123456789/88636 | |
dc.identifier.urn | URN:NBN:fi:aalto-2020120447471 | |
dc.language.iso | en | en |
dc.programme.major | Ohjelmistotekniikka | fi |
dc.programme.mcode | Tik-106 | fi |
dc.rights.accesslevel | closedAccess | |
dc.subject.keyword | ASN.1 | en |
dc.subject.keyword | ASN.1 | fi |
dc.subject.keyword | byte-code | en |
dc.subject.keyword | konekieli | fi |
dc.subject.keyword | C language | en |
dc.subject.keyword | C-kieli | fi |
dc.subject.keyword | compiler | en |
dc.subject.keyword | kääntäjä | fi |
dc.subject.keyword | context-free grammar | en |
dc.subject.keyword | ohjelmistojen määrittely | fi |
dc.subject.keyword | lexical analysis | en |
dc.subject.keyword | sanastollinen analyysi | fi |
dc.subject.keyword | semantic analysis | en |
dc.subject.keyword | semanttinen analyysi | fi |
dc.subject.keyword | software specification | en |
dc.subject.keyword | tyyppimuunnokset | fi |
dc.subject.keyword | type conversion | en |
dc.subject.keyword | virtuaalikone | fi |
dc.subject.keyword | virtual machine | en |
dc.subject.keyword | yhteysvapaat kieliopit | fi |
dc.title | A Portable Compiler for Full ASN.1 | en |
dc.title | Kääntäjä koko ASN.1:lle | fi |
dc.type.okm | G2 Pro gradu, diplomityö | |
dc.type.ontasot | Master's thesis | en |
dc.type.ontasot | Pro gradu -tutkielma | fi |
dc.type.publication | masterThesis | |
local.aalto.digiauth | ask | |
local.aalto.digifolder | Aalto_02519 | |
local.aalto.idinssi | 16212 | |
local.aalto.openaccess | no |