Microprogrammed machine simulation using React
Heinikoski, Jani (2023)
Kandidaatintyö
Heinikoski, Jani
2023
School of Engineering Science, Tietotekniikka
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi-fe20230825107769
https://urn.fi/URN:NBN:fi-fe20230825107769
Tiivistelmä
This bachelor’s thesis focuses on the study of a microprogrammed machine. It is a simplistic microprogrammable computer used to teach basics of microprogramming in the Foundations of Computer Science (FoCS) -course at LUT University. The main research problem this thesis solves is designing and implementing an accessible way to simulate the microprogrammed machine.
By following a design science research methodology, a web simulator application is designed and implemented in this thesis to solve the main research problem. The goal is to enable users to write arbitrary microprograms, execute them and study how the different components of the computer react in a virtual environment. A Windows operating system dependent simulator application with known compatibility issues already exists. To be easily accessible by most students, a platform independent web simulator application is produced.
The application is intended to be used as a supporting e-learning tool during future FoCS course implementations. This thesis limits to designing and implementing the application. Evaluation through end user testing is done in future course implementations. The application is open-source software allowing possible future contributions from third parties. The application has been developed using React user interface library and hosted on GitHub Pages as a publicly accessible static website. Using the application requires a web browser and Internet access. Tämän kandidaatintyö tutkii yksinkertaista mikro-ohjelmoitavaa tietokonetta, jota käytetään LUT-yliopiston tietojenkäsittelytieteiden perusteet -kurssilla mikro-ohjelmoinnin perusteiden opettamiseen. Työn suurin tutkimusongelma on tuottaa helposti saavutettava mikro-ohjelmoitavaa tietokonetta simuloiva ratkaisu.
Alustariippumaton verkkopohjainen simulaattorisovellus tuotetaan työssä suunnittelutiede-tutkimusmetodologiaa noudattaen. Simulaattorisovelluksen tarkoitus on ratkaista tutkimusongelma mahdollistamalla mikro-ohjelmien tuottamisen ja suorittamisen virtuaaliympäristössä, jossa käyttäjä voi nähdä miten tietokoneen komponentit reagoivat mikro-ohjelman suorituksen aikana. Yhteensopivuusongelmia sisältävä Windows-käyttöjärjestelmästä riippuvainen simulaattorisovellus on jo olemassa. Tässä työssä kehitetään alustariippumaton verkkosovellus, jotta se on helposti saavutettavissa suurimmalle osalle opiskelijoista.
Simulaattorisovellusta on tarkoitus hyödyntää opetusta tukevana e-oppimistyökaluna tulevilla tietojenkäsittelytieteen perusteet -kurssin toteutuksilla. Tämä työ rajoittuu sovelluksen suunnitteluun ja toteutukseen jättäen käyttäjätestauksen tuleville kurssitoteutuksille. Simulaattorisovellus on avointa lähdekoodia, jotta mahdollinen jatkokehitys on mahdollista myös kolmansien osapuolien toimesta. Sovellus on kehitetty React -käyttöliittymäkirjaston avulla, ja julkaistu GitHub Pages -alustalla julkisesti saavutettavana staattisena verkkosivuna. Sovelluksen käyttäminen vaatii verkkoselaimen sekä toimivan Internet-yhteyden.
By following a design science research methodology, a web simulator application is designed and implemented in this thesis to solve the main research problem. The goal is to enable users to write arbitrary microprograms, execute them and study how the different components of the computer react in a virtual environment. A Windows operating system dependent simulator application with known compatibility issues already exists. To be easily accessible by most students, a platform independent web simulator application is produced.
The application is intended to be used as a supporting e-learning tool during future FoCS course implementations. This thesis limits to designing and implementing the application. Evaluation through end user testing is done in future course implementations. The application is open-source software allowing possible future contributions from third parties. The application has been developed using React user interface library and hosted on GitHub Pages as a publicly accessible static website. Using the application requires a web browser and Internet access.
Alustariippumaton verkkopohjainen simulaattorisovellus tuotetaan työssä suunnittelutiede-tutkimusmetodologiaa noudattaen. Simulaattorisovelluksen tarkoitus on ratkaista tutkimusongelma mahdollistamalla mikro-ohjelmien tuottamisen ja suorittamisen virtuaaliympäristössä, jossa käyttäjä voi nähdä miten tietokoneen komponentit reagoivat mikro-ohjelman suorituksen aikana. Yhteensopivuusongelmia sisältävä Windows-käyttöjärjestelmästä riippuvainen simulaattorisovellus on jo olemassa. Tässä työssä kehitetään alustariippumaton verkkosovellus, jotta se on helposti saavutettavissa suurimmalle osalle opiskelijoista.
Simulaattorisovellusta on tarkoitus hyödyntää opetusta tukevana e-oppimistyökaluna tulevilla tietojenkäsittelytieteen perusteet -kurssin toteutuksilla. Tämä työ rajoittuu sovelluksen suunnitteluun ja toteutukseen jättäen käyttäjätestauksen tuleville kurssitoteutuksille. Simulaattorisovellus on avointa lähdekoodia, jotta mahdollinen jatkokehitys on mahdollista myös kolmansien osapuolien toimesta. Sovellus on kehitetty React -käyttöliittymäkirjaston avulla, ja julkaistu GitHub Pages -alustalla julkisesti saavutettavana staattisena verkkosivuna. Sovelluksen käyttäminen vaatii verkkoselaimen sekä toimivan Internet-yhteyden.
