Matemaattis-luonnontieteellinen tiedekunta

 

Recent Submissions

  • Silander, Otto (Helsingin yliopisto, 2019)
    Tässä tutkimuksessa luodaan yleiskatsaus babylonialaiseen matematiikkaan, perehdytään sen saavutuksiin ja erityispiirteisiin ja pohditaan sen suurimpia ansioita. Lisäksi selvitetään miten babylonialainen matematiikka on vaikuttanut matematiikan kehitykseen ja miten babylonialaiset keksinnöt ovat päätyneet erityisesti kreikkalaisten matemaatikoiden käyttöön. Babylonialaisen matematiikan lisäksi tutkitaan myös babylonialaista astronomiaa soveltuvin osin. Tutkimuksessa selvitetään myös onko babylonialaisella matematiikalla yhteyksiä nykyaikaan ja erityisesti tapaan jakaa tunti 60 minuuttiin ja minuutti 60 sekuntiin ja ympyrän kehäkulma 360 asteeseen. Tutkimus toteutettiin kirjallisuuskatsauksena käyttämällä mahdollisimman laajasti sekä babylonialaista matematiikkaa koskevia perusteoksia että uusimpia artikkeleita. Matemaattisten saavutusten siirtymistä lähestyttiin tutkimalla tunnettuja kreikkalaisen matematiikan ja astronomian keskeisiä henkilöitä ja heidän yhteyksiään babylonialaiseen matematiikkaan. Näiden pohjalta muodostettiin yhteneväinen kokonaisuus babylonialaisen matematiikan saavutuksista ja tiedon siirtymisestä. Babylonialainen matematiikka käytti omaperäistä ja edistyksellistä seksagesimaalijärjestelmää, jonka kantaluku oli 60 ja joka oli ensimmäinen tunnettu numeroiden paikkajärjestelmä. Babylonialaisia matemaatikoita voidaan perustellusti sanoa antiikin parhaiksi laskijoiksi. He tunsivat monia tunnettuja lauseita kuten Pythagoraan lauseen ja Thaleen lauseen, osasivat ratkaista toisen asteen yhtälön ja käyttivät erilaisia tehokkaita algoritmeja likiarvojen laskemiseen yli tuhat vuotta ennen kreikkalaisia. Kreikkalaisten ensimmäisinä matemaatikkoina pitämät Thales ja Pythagoras oppivat ilmeisesti tunnetuimmat tuloksensa babylonialaisilta ja heidän merkityksensä on ensisijaisesti tiedon kuljettajana ja matematiikan eri osasten järjestelijöinä. Babylonialainen astronomia oli edistyksellistä ja kreikkalainen Hipparkhos hyödynsi babylonialaisten tekemien havaintojen lisäksi myös babylonialaista laskutapaa tehdessään omia tutkimuksiaan. Näiden ratkaisujen pohjalta ympyrä jaetaan vielä nykyäänkin 360 asteeseen, joista jokainen aste jakautuu 60 osaan. Samalla babylonialaiseen matematiikkaan perustuvalla periaatteella myös tunnit ja minuutit on jaettu 60 osaan.
  • Smalin, Teemu (Helsingin yliopisto, 2019)
    Opetussuunnitelmia on tutkittu Suomessa paljon curriculum-teorian ja opetussuunnitelmaprosessien näkökulmasta, mutta vähäiselle tarkastelulle on jäänyt opetussuunnitelmauudistukset. Tässä tutkielmassa pyritään selvittämään, miten tavoitetaso on Vantaan matematiikan kuudennen luokan opetussuunnitelmassa muuttunut opetussuunnitelmauudistuksen myötä. Tutkielman teoriaosuus muodostuu opetussuunnitelmakäsitteen, opetussuunnitelman tehtävän, opetussuunnitelman taustalla vaikuttavien ideologioiden ja opetussuunnitelmista tehtyjä mallien tarkastelusta. Erityisen keskeisessä osassa ovat opetussuunnitelman tavoitteet ja sisällöt. Teorialuvussa tarkastellaan myös lyhyesti suomalaisen opetussuunnitelman historiaa ja lopuksi luodaan katsaus opetussuunnitelmaan laadintaan liittyvään prosessiin. Metodisen lähtökohdan tutkielmassa muodostaa teoriaohjaava sisällönanalyysi, jonka peruslähtökohtia esitellään tutkimusongelmaa käsittelevässä luvussa. Aineiston muodostavat kuntakohtaisen opetussuunnitelman tavoitteet, joista ilmauksia etsitään verbianalyysin avulla. Ilmaukset luokitellaan taksonomiataulukon kognitiivisten prosessien mukaan. Tutkimustulosten perusteella näyttää siltä, että matematiikan tavoitetaso kuudennella luokalla on paikallisessa opetussuunnitelmassa kognitiivisten prosessien näkökulmasta kasvanut. Uudessa opetussuunnitelmassa ylemmät kognitiiviset prosessit korostuvat verrattuna alempiin. Tulos on samansuuntainen kuin muussa tutkimuksessa on esitetty. Tutkielma on rajoittunut kuudennen luokan paikallisen opetussuunnitelman tavoitteiden analyysiin. Jatkotutkimuksen tehtäväksi jäisi selvittää, miten laajemmassa mittakaavassa formaalilla ja koetulla opetussuunnitelman tasolla opetussuunnitelmauudistus näkyy, esimerkiksi sisältöjen ja tavoitteiden suhteen näkökulmasta.
  • Jussila, Joonas (Helsingin yliopisto, 2019)
    In this thesis, the sputtering of tungsten surfaces is studied under ion irradiation using molecular dynamics simulations. The focus of this work is on the effect of surface orientation and incoming angle on tungsten sputtering yields. We present a simulation approach to simulate sputtering yields of completely random surface orientations. This allows obtaining the total sputtering yields averaged over a large number of arbitrary surface orientations, which are representative to the sputtering yield of a polycrystalline sample with random grain orientations in a statistically meaningful way. In addition, a completely different method was utilised to simulate sputtering yields of tungsten fuzz surfaces with various fuzz structure heights. We observe that the total sputtering yield of the investigated surfaces are clearly dependent on the surface orientation and the sputtering yields of average random surfaces are different compared to the results of any of the low index surfaces or their averages. The low index surfaces and the random surface sputtering yields also show a dependence of the incoming angle of the projectile ions. In addition, we calculate the outgoing angular distribution of sputtered tungsten atoms in every bombardment case, which likewise shows to be a sensitive to the surface orientation. Finally, the effect of fuzz height on the sputtering yield of tungsten fuzz surfaces is discussed. We see that tungsten fuzz significantly reduces the sputtering yield compared to a pristine tungsten surface and the effect is already seen when the fuzz pillar height is a few atom layers.
  • Toijala, Risto (Helsingin yliopisto, 2019)
    Ion beams have been the subject of significant industry interest since the 1950s. They have gained usage in many fields for their ability to modify material properties in a controlled manner. Most important has been the application to semiconductor devices such as diodes and transistors, where the necessary doping is commonly achieved by irradiation with appropriate ions, allowing the development of the technology that we see in everyday use. With the ongoing transition to ever smaller semiconductor devices, the precision required of the manufacturing process correspondingly increases. A strong suite of modeling tools is therefore needed to advance the understanding and application of ion beam methods. The binary collision approximation (BCA) as a simulation tool was first introduced in the 1950s. It allows the prediction of many radiation-related phenomena for single collision cascades, and has been adopted in many experimental laboratories and industries due to its efficiency. However, it fails to describe chemical and thermodynamic effects, limiting its usefulness where ballistic effects are not a sufficient description. Parallel to BCA, the molecular dynamics (MD) simulation algorithm was developed. It allows a more accurate and precise description of interatomic forces and therefore chemical effects. It is, however, orders of magnitude slower than the BCA method. In this work, a new variant of the MD algorithm is developed to combine the advantages of both the MD and the BCA methods. The activation and deactivation of atoms involved in atomic cascades is introduced as a way to save computational effort, concentrating the performed computations in the region of interest around the cascade and ignoring surrounding equilibrium regions. By combining this algorithm with a speedup scheme limiting the number of necessary relaxation simulations, a speedup of one order of magnitude is reached for covalent materials such as Si and Ge, for which the algorithm was validated. The developed algorithm is used to explain the behavior of Ge nanowires under Xe ion irradiation. The nanowires were shown experimentally to bend towards or away from the ion beam, and computational simulations might help with the understanding of the underlying physical processes. In this thesis, the high-fluence irradiation of a Ge nanowire is simulated and the resulting defect structure analyzed to study the bending, doubling as a second test of the developed algorithm.
  • Tyystjärvi, Vilna (Helsingin yliopisto, 2019)
    Soil moisture influences various environmental and climatological processes and is an important part of the hydrological cycle. The processes influencing its spatial and temporal variation are complex and linked with each other as well as influenced by soil moisture itself which makes observing them challenging. This is especially true in cold regions where soil moisture has shown strong fine scale variation and influences numerous ecosystem processes. To test different hypotheses related to soil moisture and to simulate its variation, several hydrological process-based models have been developed. Understanding how these models differ from each other and how they describe soil moisture is crucial in order to use them effectively. For this study, three process-based models representing varying model approaches and answering different research questions were chosen and used to simulate the spatial and temporal variation of soil moisture in a small study area in northwestern Finland. JSBACH is a global-scale land surface model that simulates various geophysical and geochemical processes over land and in the boundary layer between land surface and the atmosphere. SpaFHy is a catchment scale hydrological model developed to simulate water balance and evapotranspiration in boreal forests. Ecohydrotools is a hydrological model used to study fine scale spatial variation in soil hydrology. The model results show clear similarities as well as differences when compared with each other and with field measurements of soil moisture. The strongest similarities are in distinguishing wetter and drier areas in the study area, although the actual moisture content estimations vary between the models. All models show difficulties in simulating finer scale spatial variation, particularly in drier areas. Temporal variation shows more similarities between the models, although there are also clear discrepancies with measurements and the models. These simulations show that there are several things influencing a model’s capability to simulate soil moisture variation. Varying data requirements, included processes as well as model design and purpose all influence the results, leading to varying estimations of soil moisture. Improving model predictions in cold environments requires better understanding of the underlying processes as well as more detailed information on the environmental variables influencing soil moisture.
  • Suomalainen, Lauri (Helsingin yliopisto, 2019)
    Hybrid Clouds are one of the most notable trends in the current cloud computing paradigm and bare-metal cloud computing is also gaining traction. This has created a demand for hybrid cloud management and abstraction tools. In this thesis I identify shortcomings in Cloudify’s ability to handle generic bare-metal nodes. Cloudify is an open- source vendor agnostic hybrid cloud tool which allows using generic consumer-grade computers as cloud computing resources. It is not however capable to automatically manage joining and parting hosts in the cluster network nor does it retrieve any hardware data from the hosts, making the cluster management arduous and manual. I have designed and implemented a system which automates cluster creation and management and retrieves useful hardware data from hosts. I also perform experiments using the system which validate its correctness, usefulness and expandability.
  • Karikoski, Antti (Helsingin yliopisto, 2019)
    Data compression is one way to gain better performance from a database. Compression is typically achieved with a compression algorithm, an encoding or both. Effective compression directly lowers the physical storage requirements translating to reduced storage costs. Additionally, in case of a data transfer bottleneck where CPU is data starved, compression can yield improved query performance through increased transfer bandwidth and better CPU utilization. However, obtaining better query performance is not trivial since many factors affect the viability of compression. Compression has been found especially successful in column oriented databases where similar data is stored closely in physical media. This thesis studies the effect of compression on a columnar storage format Apache Parquet through a micro benchmark that is based on the TPC-H benchmark. Compression is found to have positive effects on simple queries. However, with complex queries, where data scanning is relatively small portion of the query, no performance gains were observed. Furthermore, this thesis examines the decoding performance of the encoding layer that belongs to a case database, Fastorm. The goal is to determine its efficiency among other encodings and whether it could be improved upon. Fastorm's encoding is compared against various encodings of Apache Parquet in a setting where data is from a real world business. Fastorm's encoding is deemed to perform well enough coupled with strong evidence to consider adding delta encoding to its repertoire of encoding techniques.
  • Lehvä, Jyri (Helsingin yliopisto, 2019)
    Consumer-Driven Contract testing is a way to test integrations between services. The main idea is that when an application or a service (consumer) consumes an API provided by another service (provider) a contract is formed between them. The contract contains information about how the consumer calls the provider and what the consumer needs from the responses. The contract can then be used to test both sides of the integration separately. The testing method is said to be useful when testing integration-heavy systems such as systems based on microservice architecture. Therefore the research question of the thesis is: "with a focus on integrations, is Consumer-Driven Contract testing a viable addition to a testing strategy used to test a system based on microservice architecture, and if so, why?" The research question is first approached by taking a look at the most recent literature. The goal is to learn about different testing methods and create a basic understanding of a general testing strategy for microservices. The next step is to figure out how the Consumer-Driven Contract testing fits that picture. The Consumer-Driven Contract testing is introduced thoroughly to gain a good understanding of its core concepts, advantages, disadvantages, and tooling. After the literature check, the research question is approached by introducing a case study based on a microservice architecture. Its testing strategy is described in detail, and Consumer-Driven Contract tests are implemented for it. The testing methods are compared by systematically implementing defects to the integrations and seeing how the testing methods catch them. Finally, the results and experiences are shared and analyzed, and the research question gets answered. The results based on literature and experiences from the case study proved that the Consumer-Driven Contract testing is a viable way to test integrations. The tests implemented in the case study caught every defect from the integrations, and the case study was able to verify the advantages mentioned in the literature. It was shown that the Consumer-Driven Contract tests could replace the more traditional integration tests completely. That results to more deterministic testing strategy as the integrations are tested in isolation. It should be emphasized that the teams have to be able to communicate with each other to implement and achieve the benefits of Consumer-Driven Contract testing. The level of communication between the teams has to be mature enough to share the contracts and to coordinate the implementation. Communication is the foundation that enables or disables the testing method. Because of that improving the ways of communication should be a major focus for the teams who want to implement Consumer-Driven Contract tests.
  • Kontio, Heikki (Helsingin yliopisto, 2019)
    The number of IoT sensors is steadily rising in the world. As they're being used more and more in industries and households, the importance of proper lifecycle management (LCM) is increasing. Failure detection and security management are essential to be able to manage the large number of devices. In this thesis a number of platforms are evaluated, on the basis of meeting the expectations of LCM. The evaluation was done via a gap analysis. The categories for the analysis were: tools for estimating the remaining useful lifetime for sensors, API availability for LCM, failure detection and security management. Based on the gap analysis a list of recommendations is given in order to fill the gaps: - universal, platform-independent tools for estimating the remaining useful lifetime (RUL) - update APIs to widely used scalable and extensible architectural style REST - platform-independent standard for sensors reporting health status - industry-standard detection methods available for all
  • Panchamukhi, Sandeep (Helsingin yliopisto, )
    Time series analysis has been a popular research topic in the last few decades. In this thesis, we develop time series models to investigate short time series of count data. We first begin with Poisson autoregressive model and extend it to capture day effects explicitly. Then we propose hierarchical Poisson tensor factorization model as an alternative to the traditional count time series models. Furthermore, we suggest acontext-based model as an improvement over hierarchical Poisson tensor factorization model. We implement the models in an open-source probabilistic programming framework Edward. This tool enables us to express the models in form of executable program code and allows us to rapidly prototype models without the need of derivation of model specificupdaterules. We also explore strategies for selecting the best model out of alternatives. We study the proposed models on a dataset containing media consumption data. Our experimental findings demonstrate that the hierarchical Poisson tensor factorization model significantly outperforms the Poisson autoregressive models in predicting event counts. We also visualize the key results of our exploratory data analysis.
  • Ahlskog, Niki (Helsingin yliopisto, 2019)
    Progressiivisen web-sovelluksen (Progressive Web Application, PWA) tarkoitus on hämärtää tai jo- pa poistaa raja sovelluskaupasta ladattavan sovelluksen ja normaalin verkkosivuston välillä. PWA- sovellus on kuin mikä tahansa normaali verkkosivusto, mutta se täyttää lisäksi seuraavat mitta- puut: Sovellus skaalautuu mille tahansa laitteelle. Sovellus tarjotaan salatun yhteyden yli. Sovellus on mahdollista asentaa puhelimen kotinäytölle pikakuvakkeeksi, jolloin sovellus avautuu ilman se- laimesta tuttuja navigointityökaluja ja lisäksi sovelluksen voi myös avata ilman verkkoyhteyttä. Tässä työssä käydään läpi PWA-sovelluksen rakennustekniikoita ja määritellään milloin sovellus on PWA-sovellus. Työssä mitataan PWA-sovelluksen nopeutta Service Workerin välimuistitallen- nusominaisuuksien ollessa käytössä ja ilman. PWA-sovelluksen luomista ja käyttöönottoa tarkastel- laan olemassa olevassa yksityisessä asiakasprojektissa. Projektin tarkastelussa kiinnitetään huomio- ta PWA-sovelluksen tuomiin etuihin ja kipupisteisiin. Tuloksen arvioimiseksi otetaan Google Chromen Lighthouse -työkalua käyttäen mittaukset sovel- luksen progressiivisuudesta ja nopeudesta. Lisäksi sovellusta vasten ajetaan Puppeteer-kirjastoa hyödyntäen latausnopeuden laskeva testi useita kertoja sekä tarkastellaan PWA-sovelluksen Service Workerin välimuistin hyödyllisyyttä suorituskyvyn ja latausajan kannalta. Jotta Service Workerin välimuistin käytöstä voidaan tehdä johtopäätökset, nopeuden muutosta tarkastellaan progressii- visten ominaisuuksien ollessa käytössä ja niiden ollessa pois päältä. Lisäksi tarkastellaan Googlen tapaustutkimuksen kautta Service Workerin vaikutuksia sovelluksen nopeuteen. Testitulokset osoittavat että Service Workerin välimuistin hyödyntäminen on nopeampaa kaikissa tapauksissa. Service Workerin välimuisti on nopeampi kuin selaimen oma välimuisti. Service Worker voi myös olla pysähtynyt ja odotustilassa käyttäjän selaimessa. Silti Service Workerin aktivoimi- nen ja välimuistin käyttäminen on nopeampaa kuin selaimen välimuistista tai suoraan verkosta lataaminen.
  • Rodriguez Villanueva, Cesar Adolfo (Helsingin yliopisto, 2019)
    Spam detection techniques have made our lives easier by unclogging our inboxes and keeping unsafe messages from being opened. With the automation of text messaging solutions and the increase in telecommunication companies and message providers, the volume of text messages has been on the rise. With this growth came along malicious traffic which users had little control over. In this thesis, we present an implementation of a spam detection system in a real-world text messaging platform. Using well-established machine learning algorithms, we make an in-depth analysis on the performance of the models using two different datasets: one publicly available (N=5,574) and the other gathered from actual traffic of the platform (N=1,477). Making use of the empirical results, we outline the models and hyperparameters which can be used in the platform and in which scenarios they produce optimal performance. The results indicate that our dataset poses a great challenge at accurate classification, most likely due to the small sample size and unbalanced dataset, along with nuances in the dataset. Nevertheless, there were models that were found to have a good all-around performance and they can be trained and used in the platform.
  • Martikainen, Jussi-Pekka (Helsingin yliopisto, 2019)
    Wood is the fuel for the forest industry. Fellable wood is collected from the forests and requires transportation to the mills. The distance to the mills is quite often very long. The most used long- distance transportation means of wood in Finland is by road transportation with wood-trucks. The poor condition of the lower road network increases the transportation costs not only for the forest industry but for the whole natural resources industry. Timely information about the conditions of the lower road network is considered beneficial for the wood transportation and for the road maintenance planning to reduce the transportation related costs. Acquisition of timely information about the conditions of the lower road network is a laborious challenge to the industry specialists due to the vast size of the road network in Finland. Until the recent development in ubiquitous mobile computing collecting the road measurement data and the detection of certain road anomalies from the measurements has traditionally required expensive and specialized equipment. Crowdsensing with the capabilities of a modern smartphone is seen as inexpensive means with high potential to acquire timely information about the conditions of the lower road network. In this thesis a literature review is conducted to find out the deteriorative factors behind the conditions of the lower road network in Finland. Initial assumptions are drawn about the detectability of such factors from the inertial sensor data of a smartphone. The literature on different computational methods for detecting the road anomalies based on the obtained accelerometer and gyroscope measurement data is reviewed. As a result a summary about the usability of the reviewed computational methods for detecting the reviewed deteriorative factors is presented. And finally suggestions for further analysis for obtaining more training data for machine learning methods and for predicting the road conditions are presented.
  • Aula, Kasimir (Helsingin yliopisto, 2019)
    Air pollution is considered to be one of the biggest environmental risks to health, causing symptoms from headache to lung diseases, cardiovascular diseases and cancer. To improve awareness of pollutants, air quality needs to be measured more densely. Low-cost air quality sensors offer one solution to increase the number of air quality monitors. However, they suffer from low accuracy of measurements compared to professional-grade monitoring stations. This thesis applies machine learning techniques to calibrate the values of a low-cost air quality sensor against a reference monitoring station. The calibrated values are then compared to a reference station’s values to compute error after calibration. In the past, the evaluation phase has been carried out very lightly. A novel method of selecting data is presented in this thesis to ensure diverse conditions in training and evaluation data, that would yield a more realistic impression about the capabilities of a calibration model. To better understand the level of performance, selected calibration models were trained with data corresponding to different levels of air pollution and meteorological conditions. Regarding pollution level, using homogeneous training and evaluation data, the error of a calibration model was found to be even 85% lower than when using diverse training and evaluation pollution environment. Also, using diverse meteorological training data instead of more homogeneous data was shown to reduce the size of the error and provide stability on the behavior of calibration models.
  • Nietosvaara, Joonas (Helsingin yliopisto, 2019)
    We examine a previously known sublinear-time algorithm for approximating the length of a string’s optimal (i.e. shortest) Lempel-Ziv parsing (a.k.a. LZ77 factorization). This length is a measure of compressibility under the LZ77 compression algorithm, so the algorithm also estimates a string’s compressibility. The algorithm’s approximation approach is based on a connection between optimal Lempel-Ziv parsing length and the number of distinct substrings of different lengths in a string. Some aspects of the algorithm are described more explicitly than in earlier work, including the constraints on its input and how to distinguish between strings with short vs. long optimal parsings in sublinear time; several proofs (and pseudocode listings) are also more detailed than in earlier work. An implementation of the algorithm is provided. We experimentally investigate the algorithm’s practical usefulness for estimating the compressibility of large collections of data. The algorithm is run on real-world data under a wide range of approximation parameter settings. The accuracy of the resulting estimates is evaluated. The estimates turn out to be consistently highly inaccurate, albeit always inside the stated probabilistic error bounds. We conclude that the algorithm is not promising as a practical tool for estimating compressibility. We also examine the empirical connection between optimal parsing length and the number of distinct substrings of different lengths. The latter turns out to be a suprisingly accurate predictor of the former within our test data, which suggests avenues for future work.
  • Raitahila, Iivo (Helsingin yliopisto, 2019)
    The Internet of Things (IoT) consists of physical devices, such as temperature sensors and lights, that are connected to the Internet. The devices are typically battery powered and are constrained by their low processing power, memory and low bitrate wireless communication links. The vast amount of IoT devices can cause heavy congestion in the Internet if congestion is not properly addressed. The Constrained Application Protocol (CoAP) is an HTTP-like protocol for constrained devices built on top of UDP. CoAP includes a simple congestion control algorithm (DefaultCoAP). CoAP Simple Congestion Control/Advanced (CoCoA) is a more sophisticated alternative for DefaultCoAP. CoAP can also be run over TCP with TCP's congestion control mechanisms. The focus of this thesis is to study CoAP's congestion control. Shortcomings of DefaultCoAP and CoCoA are identified using empirical performance evaluations conducted in an emulated IoT environment. In a scenario with hundreds of clients and a large buffer in the bottleneck router, DefaultCoAP does not adapt to the long queuing delay. In a similar scenario where short-lived clients exchange only a small amount of messages, CoCoA clients are unable to sample a round-trip delay time. Both of these situations are severe enough to cause a congestion collapse, where most of the link bandwidth is wasted on unnecessary retransmissions. A new retransmission timeout and congestion control algorithm called Fast-Slow Retransmission Timeout (FASOR) is congestion safe in these two scenarios and is even able to outperform CoAP over TCP. FASOR with accurate round-trip delay samples is able to outperform basic FASOR in the challenging and realistic scenario with short-lived clients and an error-prone link.
  • Huovinen, Ilmari (Helsingin yliopisto, 2019)
    Jatkuva kehitys on joukko ohjelmistokehitysmenetelmiä, jotka mahdollistavat julkaisujen tekemisen luotettavasti ja tiheään tahtiin. Jatkuva kehitys sisältää useita menetelmiä, mutta niistä kolme laajasti tunnettua ovat jatkuva integraatio, jatkuva toimitus ja jatkuva julkaisu. Jatkuvassa integraatiossa muutokset integroidaan jatkuvasti yhteiseen koodikantaan, jatkuvassa toimittamisessa muutokset toimitetaan jatkuvasti tuotantoa muistuttavaan ympäristöön ja jatkuvassa julkaisussa muutokset julkaistaan jatkuvasti. GameRefinery on pelialan yritys, joka kehittää mobiilipelien analyysi- ja markkinadataa tarjoavaa SaaS-palvelua. Palvelun kasvaessa on huomattu haasteita sen kehittämisessä ja ylläpidossa. Tämän tutkielman tarkoituksena selvittää mitä kehitykseen ja julkaisuun liittyviä ongelmia GameRefinery SaaS:ssa on koettu, ja sunnitella jatkuvan kehityksen menetelmiä käyttävä prosessi korjaamaan koettuja ongelmia. GameRefinery SaaSin kehitykseen ja julkaisuun liittyviä ongelmat etsittiin tutkimalla GameRefinery SaaSin aiempia versioita ja selvittämällä mitkä niiden ratkaisut haittasivat ohjelmiston kehitystä ja julkaisua ja mitkä tukivat niitä. Tämän jälkeen verrattiin eroja GameRefinery SaaSin versioiden kehitys- ja julkaisuprosesseissa. Lopuksi eriteltiin löydetyt kehitykseen ja julkaisuun liittyvät ongelmat. Ongelmia löydettiin versiohallintakäytännöistä, toimitus- ja julkaisuprosessista ja virheistä palautumisessa. Lisäksi huomattiin, että arkkitehtuurinen ratkaisu siirtää eräajot pois mikropalveluista omiksi projekteikseen aiheutti ongelmia julkaisujen tekemisessä. Löydettyjä ongelmia ratkaistiin suunnittelemalla jatkuvan kehityksen prosessi, joka perustui Jenkins-automaatiopalvelimen käyttöönottamiseen ja jatkuvan kehityksen menetelmiä hyödyntävän automaatioputken toteuttamiseen. Suunniteltu prosessi selvensi version- ja haaranhallinta käytäntöjä, korjaten ongelmia julkaisuversioiden kasaamisessa eri ominaisuuksista ja estämällä keskeneräisen koodin pääsemisen julkaisuhaaraan. Uudessa prosessissa myös automatisoitiin toimitusprosessi niin, että tietomallin muokkaus otettiin osaksi automaatioputkea poistaen aikaisemmin manuaalisesti suoritetun vaiheen toimituksessa. Näiden lisäksii esitettiin mahdolliset ongelmatilanteet virheestä palautumisessa ja tapoja korjata niitä. Uusi prosessi ei kuitenkaan onnistunut korjaamaan eräajojen siirtämisestä aiheutuneita ongelmia, vaikkakin eräajojen mukaan ottaminen automaatioputkeen lievensi niitä.
  • Hantula, Otto (Helsingin yliopisto, 2019)
    Emergence of language grounded in perception has been studied in computational agent societies with language games. In this thesis language games are used to investigate methods for grounding language in practicality. This means that the emergence of the language is based on the needs of the agents. The needs of an agent arise from its goals and environment, which together dictate what the agents should communicate to each other. The methods for practicality grounding are implemented in a simulation, where agents fetch items from shelves in a 2D grid warehouse. The agents learn a simple language consisting of words for spatial categories of xy-coordinates and different types of places in the warehouse environment. The language is learned and used through two novel language games called the Place Game and the Query Game. In these games the agents use the spatial categories and place types to refer to different locations in the warehouse, exchanging important information that can be used to make better decisions. The empirical simulation results show that the agents can utilise their language to be more efficient in fetching items. In other words the emerged language is practical.
  • Akbas, Suleyman (Helsingin yliopisto, 2019)
    This thesis investigates the suitability of agile methodology in distributed software development. This is done by first identifying the challenges of distributed software development which are, by the reviewed literature, communication and collaboration, decrease in teamness feeling, architectural and technical challenges, and decreased visibility for the project status. Then, the thesis presents the agile methodology with its two methods, namely Scrum and Extreme Programming (XP). Thirdly, the benefits and the challenges of applying the agile methodology in distributed software development are determined. Findings from literature are tested versus a case study which was done in a globally distributed software development team who had worked on an important project in a multinational private software company. The data collection methods were the participant-observation done by the author as a part of the team, author’s notes on the critical events, and also the semi-structured interviews done with the team members from different roles and different teams. Empirical results show that agile methodology, more specifically Scrum and XP, helps with many aspects in distributed software development, which include increased communication and collaboration, improved visibility for the project status, and also increased the sense of trust within the team. It is also discovered that agile methodology helps with onboarding new people to the team. Furthermore, limited documentation in agile methodology and virtual pair programming do not affect the distributed teams negatively according to empirical evidence. Finally, empirical data also shows that applying agile methodology in distributed software development has some challenges such as the number of meetings. Empirical results show resemblance with the reviewed literature in many parts such as increased communication and collaboration as a benefit of distributed agile software development. However, there are also some aspects contradicting the reviewed literature. For example, limited documentation appears as a challenge of distributed agile development in the reviewed literature, whereas it did not seem to be a challenge in the empirical case. Furthermore, this study can be extended by observing other empirical cases, notably failed projects, not only in software development but also in other fields.
  • Hansson, Kristian (Helsingin yliopisto, 2019)
    Reunalaskennan tarkoituksena on siirtää tiedonkäsittelyä lähemmäs tiedon lähdettä, sillä keskitettyjen palvelinten laskentakyky ei riitä tulevaisuudessa kaiken tiedon samanaikaiseen analysointiin. Esineiden internet on yksi reunalaskennan käyttötapauksista. Reunalaskennan järjestelmät ovat melko monimutkaisia ja vaativat yhä enemmän ketterien DevOps-käytäntöjen soveltamista. Näiden käytäntöjen toteuttamiseen on löydettävä sopivia teknologioita. Ensimmäiseksi tutkimuskysymykseksi asetettiin: Millaisia teknisiä ratkaisuja reunalaskennan sovellusten toimittamiseen on sovellettu? Tähän vastattiin tarkastelemalla teollisuuden, eli pilvipalveluntarjoajien ratkaisuja. Teknisistä ratkaisuista paljastui, että reunalaskennan sovellusten toimittamisen välineenä käytetään joko kontteja tai pakattuja hakemistoja. Reunan ja palvelimen väliseen kommunikointiin hyödynnettiin kevyitä tietoliikenneprotokollia tai VPN-yhteyttä. Kirjallisuuskatsauksessa konttiklusterit todettiin mahdolliseksi hallinnoinnin välineeksi reunalaskennassa. Ensimmäisen tutkimuskysymyksen tuloksista johdettiin toinen tutkimuskysymys: Voiko Docker Swarmia hyödyntää reunalaskennan sovellusten operoinnissa? Kysymykseen vastattiin empiirisellä tapaustutkimuksella. Keskitetty reunalaskennan sovellusten toimittamisen prosessi rakennettiin Docker Swarm -konttiklusteriohjelmistoa, pilvipalvelimia ja Raspberry Pi -korttitietokoneita hyödyntäen. Toimittamisen lisäksi huomioitiin ohjelmistojen suorituksenaikainen valvonta, edellisen ohjelmistoversion palautus, klusterin laitteiden ryhmittäminen, fyysisten lisälaitteiden liittäminen ja erilaisten suoritinarkkitehtuurien mahdollisuus. Tulokset osoittivat, että Docker Swarmia voidaan hyödyntää sellaisenaan reunalaskennan ohjelmistojen hallinnointiin. Docker Swarm soveltuu toimittamiseen, valvontaan, edellisen version palauttamiseen ja ryhmittämiseen. Lisäksi sen avulla voi luoda samaa ohjelmistoa suorittavia klustereita, jotka koostuvat arkkitehtuuriltaan erilaisista suorittimista. Docker Swarm osoittautui kuitenkin sopimattomaksi reunalaitteeseen kytkettyjen lisälaitteiden ohjaamiseen. Teollisuuden tarjoamien reunalaskennan ratkaisujen runsas määrä osoitti laajaa kiinnostusta konttien käytännön soveltamiseen. Tämän tutkimuksen perusteella erityisesti konttiklusterit osoittautuivat lupaavaksi teknologiaksi reunalaskennan sovellusten hallinnointiin. Lisänäytön saamiseksi on tarpeen tehdä laajempia empiirisiä jatkotutkimuksia samankaltaisia puitteita käyttäen.

View more