A Portable Compiler for Full ASN.1

dc.contributorAalto-yliopistofi
dc.contributorAalto Universityen
dc.contributor.advisorHuima, Antti
dc.contributor.authorSuontama, Vesa
dc.contributor.departmentTietotekniikan osastofi
dc.contributor.schoolTeknillinen korkeakoulufi
dc.contributor.schoolHelsinki University of Technologyen
dc.contributor.supervisorSoisalon-Soininen, Eljas
dc.date.accessioned2020-12-04T13:35:30Z
dc.date.available2020-12-04T13:35:30Z
dc.date.issued2001
dc.description.abstractSiirrettä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.urihttps://aaltodoc.aalto.fi/handle/123456789/88636
dc.identifier.urnURN:NBN:fi:aalto-2020120447471
dc.language.isoenen
dc.programme.majorOhjelmistotekniikkafi
dc.programme.mcodeTik-106fi
dc.rights.accesslevelclosedAccess
dc.subject.keywordASN.1en
dc.subject.keywordASN.1fi
dc.subject.keywordbyte-codeen
dc.subject.keywordkonekielifi
dc.subject.keywordC languageen
dc.subject.keywordC-kielifi
dc.subject.keywordcompileren
dc.subject.keywordkääntäjäfi
dc.subject.keywordcontext-free grammaren
dc.subject.keywordohjelmistojen määrittelyfi
dc.subject.keywordlexical analysisen
dc.subject.keywordsanastollinen analyysifi
dc.subject.keywordsemantic analysisen
dc.subject.keywordsemanttinen analyysifi
dc.subject.keywordsoftware specificationen
dc.subject.keywordtyyppimuunnoksetfi
dc.subject.keywordtype conversionen
dc.subject.keywordvirtuaalikonefi
dc.subject.keywordvirtual machineen
dc.subject.keywordyhteysvapaat kieliopitfi
dc.titleA Portable Compiler for Full ASN.1en
dc.titleKääntäjä koko ASN.1:llefi
dc.type.okmG2 Pro gradu, diplomityö
dc.type.ontasotMaster's thesisen
dc.type.ontasotPro gradu -tutkielmafi
dc.type.publicationmasterThesis
local.aalto.digiauthask
local.aalto.digifolderAalto_02519
local.aalto.idinssi16212
local.aalto.openaccessno

Files