Learning Centre

SORVI: A new dynamically updateable interpreted programming language

 |  Login

Show simple item record

dc.contributor Aalto-yliopisto fi
dc.contributor Aalto University en
dc.contributor.author Lehtonen, Sampsa
dc.date.accessioned 2020-12-23T12:37:22Z
dc.date.available 2020-12-23T12:37:22Z
dc.date.issued 2010
dc.identifier.uri https://aaltodoc.aalto.fi/handle/123456789/98336
dc.description.abstract In this Thesis, we introduce SORVI, a new programming language that has been designed to be dynamically updateable. Traditionally, when programmers have wanted to make changes to a running program, the program needs to be shut down, compiled and started again. While there exists a number of languages that can be reloaded while the program is running, most of them don't allow updating code that is currently active or are limited in their functionality. SORVI is a statically typed, object-oriented language. Its syntax has been influenced by popular procedural object-oriented languages such as C++ and Java. SORVI is also designed in game programming in mind and to support this, coroutines and vector primitives have been integrated into the language. While SORVI can be considered as a full-blown programming language, it is meant to he used as a scripting language and to be integrated to a host application using the native binding facility found in SORVI. While SORVI is still work-in-progress, it is fully functional and can be used in real world applications. Its performance is negligible but should he enough for scripting purposes. The dynamic software updates in SORVI are flexible: a running program can he modified as one pleases, as long as it compiles and the native binding does not change. Update facility is implemented using a novel function matching and register mapping algorithms. en
dc.description.abstract Tässä työssä esittelemme SORVI:n, uuden ohjelmointikielen, joka on suunniteltu dynaamisesti päivitettäväksi. Perinteisesti halutessaan tehdä muutoksia jo käynnissä olevaan ohjelmaan ohjelmoijan on täytynyt ensin lopettaa, kääntää ja sitten uudelleenkäynnistää ohjelma. Vaikka on olemassa lukuisia kieliä, joita voidaan päivittää ajon aikana, useimmat niistä eivät mahdollista aktiivisen ohjelmakoodin päivittämistä tai ovat rajoittuneita ominaisuuksissaan. SORVI on staattisesti tyypitetty, olio-pohjainen kieli. Sen syntaksiin ovat vaikuttaneet suositut proseduraaliset olio-ohjelmointikielet kuten C++ ja Java. SORVI on myös suunniteltu peli-ohjelmointia silmällä pitäen, ja tätä varten kieleen on lisätty tuki vuorottelualiohjelmille ja matemaattisille vektoreille. Vaikka SORVI voidaan laskea oikeaksi ohjelmointikieleksi, on se tarkoitettu lähinnä komentosarjakieleksi ja on tarkoitettu integroitavaksi isäntäohjelmaan käyttäen SORVI:n natiivikielisidosjärjestelmää. Vaikka SORVI:n kehitys on edelleen käynnissä, on se täysin toiminnallinen ja sitä voidaan käyttää oikeissa sovelluksissa. Sen suorituskyky ei ole kummoinen, mutta tämän pitäisi riittää komentokielikäyttöön. Dynaaminen ohjelmanpäivitys SORVI:ssa on joustava: käynnissä olevaa ohjelmaa voidaan muokata mielensä mukaan, kunhan ohjelma kääntyy ja natiivikielisidokseen ei tule muutoksia. Päivitysmenetelmä on toteutettu käyttäen uudenlaisia funktioiden yhteensovittamis- ja rekisterikuvausalgoritmeja. fi
dc.format.extent (9) + 109 s. + liitt. 3
dc.language.iso en en
dc.title SORVI: A new dynamically updateable interpreted programming language en
dc.title SORVI: Uusi dynaamisesti päivitettävä tulkattu ohjelmointikieli fi
dc.contributor.school Perustieteiden korkeakoulu fi
dc.contributor.school School of Science en
dc.contributor.department Tietotekniikan laitos fi
dc.subject.keyword dynamic software updates en
dc.subject.keyword dynaaminen dhjelmanpäivitys fi
dc.subject.keyword coroutines en
dc.subject.keyword vuorettelualiohjelmat fi
dc.subject.keyword bytecode en
dc.subject.keyword tavukoodi fi
dc.subject.keyword virtual registers en
dc.subject.keyword virtuaalirekisteri fi
dc.subject.keyword virtual machine en
dc.subject.keyword virtuaalikone fi
dc.subject.keyword compiles en
dc.subject.keyword kääntäjä fi
dc.identifier.urn URN:NBN:fi:aalto-2020122357163
dc.programme.major Ohjelmistotekniikka fi
dc.programme.mcode T-106 fi
dc.type.ontasot Master's thesis en
dc.type.ontasot Pro gradu -tutkielma fi
dc.contributor.supervisor Tarhio, Jorma
local.aalto.openaccess no
local.aalto.digifolder Aalto_91261
dc.rights.accesslevel closedAccess
local.aalto.idinssi 40303
dc.type.publication masterThesis
dc.type.okm G2 Pro gradu, diplomityö
local.aalto.digiauth ask


Files in this item

Files Size Format View

There are no open access files associated with this item.

This item appears in the following Collection(s)

Show simple item record

Search archive


Advanced Search

article-iconSubmit a publication

Browse

Statistics