Browsing by Author "Saikkonen, Heikki"
Now showing 1 - 20 of 329
- Results Per Page
- Sort Options
- Adapting CORBA-like environments to a Microkernel
Helsinki University of Technology | Master's thesis(1998) Malinen, JariHajautettu olioarkkitehtuuri on ollut jo kauan yksi ohjelmistoteollisuuden tavoitteista. Eräs laajimmista hankkeista tällä alueella on ollut CORBA-arkkitehtuuri (Common Object Request Broker Architecture). Tämän standardin pohjalla oleva kommunikaatiomekanismi tarjoaa yleisen olioiden välisten metodikutsujen välityspalvelun. Tämä palvelu, oliohajautin eli ORB (Object Request Broker), toteuttaa ne ohjelmarajapinnat, jotka siirtävät etämetodikutsuja olioiden ja niiden käyttäjien välillä. Yleisin alusta, joille CORBA-oliohajauttimia rakennetaan, on käyttöjärjestelmän TCP/IP-protokollapino. Standardi sallii hajauttimen sovituksen myös muunlaisille alustoille, kuten mikroytimille. Mikroydin on käyttöjärjestelmätyyppi, joka toteuttaa pienen primitiivisten käsitteiden joukon painottaen prosessien välistä kommunikaatiota (Inter-Process Communication, IPC). Mikroytimen IPC:lle pohjautuva viestinvälitysmekanismi muodostaa tällöin perustan oliohajauttimen kommunikaatiolle. Tässä työssä tarkastellaan kolmea eri tapaa sovittaa oliohajautin modifioimattomaan OSF Mach -mikroytimeen sekä sitä, miten nämä tavat vaikuttavat tehokkuuteen, standardiyhteensopivuuteen ja muunneltavuuteen. Ensiksi Xeroxin Inter-Language Unificator (ILU) -nimistä oliohajautinta on käytetty esimerkkinä emuloidusta sovitustavasta. Se perustuu mikroytimen yhteydessä ajettavan käyttöjärjestelmäkerroksen käyttöön. Sen avulla on työssä sovitettu muuttamaton TCP/IP-pohjainen oliohajautin mikroytimeen. Edelleen tarkastellaan Silvano Maffeisin Electra-oliohajautinta esimerkkinä dynaamisen sovituskerroksen käytöstä oliohajauttimen sovituksessa. Tässä sovitustavassa kerros valitaan hajauttimessa ajonaikaisesti. Tässä tapauksessa on yhteensovitus tehty toteuttamalla diplomityön yhteydessä osittainen OSF Mach sovituskerros. Kolmas sovitustapa käyttää Flick (Flexible IDL Compiler Kit) -nimistä IDL-kääntäjää Utahin yliopistosta MiniORB-toteutukseen esimerkkinä staattisesta sovituksesta. Tässä tapauksessa protokolla ja hajauttimen ydin tulevat valituksi käännöksen aikana. MiniORB on toteutettu tässä diplomityössä erityisesti OSF Mach mikroytimelle laaditulla protokollalla ja hajauttimen ydinosalla. - Adding remote execution capability to operating systems
Helsinki University of Technology | Master's thesis(1994) Wikman, Johan - Algorithms for a MultiProcessor Platform in a Network Management System
Helsinki University of Technology | Master's thesis(1996) Karlemo, Filip - DX 200 -puhelinkeskusjärjestelmän sanomaväylän analysointiohjelmisto
Helsinki University of Technology | Master's thesis(1998) Elomaa, JyriJärjestelmiin liitetyt analysointilaitteistot ja -ohjelmistot ovat nykyään osa yhä useampia järjestelmiä. Tämän työn tulos on sanomaväyläanalysaattorilaitteen ohjelmistoarkkitehtuurin suunnittelu ja erityisesti analysaattorin Intel 80C186EB-suorittimen sulautettu ohjelmisto. Analysaattorin tehtävänä on kerätä tilastotietoja DX 200 -puhelinkeskusjärjestelmän sanomaväylän liikenteestä ja haluttaessa poimia sanomia väylältä. Laitteiston avulla pyritään ratkaisemaan DX 200 -puhelinkeskusjärjestelmän sanomaväylän liikenteen analysointiin havaittu tarve. Työssä vertaillaan tarjolla olevien analysointimenetelmien ja niiden toteutustapojen hyöty- ja haittapuolia. Analysointimenetelmistä on erityisesti tarkasteltu mittausta ja sen käyttöä väylien analysoinnissa. Lisäksi työssä tarkastellaan analyysitietojen tulkintaan käytettäviä tilastollisia perusmenetelmiä ja esitetään systemaattinen lähestymistapa, jota voidaan hyödyntää järjestelmien analysointiprojekteja suunniteltaessa. - Analyzing and measuring a server cluster: a mathematical model
School of Electrical Engineering | Master's thesis(2010) Torkkel, JuhaComputer and information security is integral part of modern way of life. People use wide range of devices in their every day lives for communication, entertainment and keeping up with current events. They do this by connecting to the Internet where they are exposed to wide range of threats like spam, phishing, malicious software and privacy concerns Information security companies need to come up with more effective and responsive means to counter these threats. Current trend is to move the information security knowledge from the end device to the so called network cloud. These clouds are clusters of servers connected to the Internet. Server clusters provide information about these threats to the user's end device. With this information user is protected against these threats. In this thesis I will research one such server cluster. I will construct mathematical model what can be used to analyze the cluster scalability, dimension the cluster correctly assist in cluster budgeting and guide decision making in the cluster software development efforts. I will carry out measurements of server performance to determine required parameters for the developed mathematical model. Finally I will successfully apply the model to practise and demonstrate how model helps in evaluating answers to wide range of relevant questions about the cluster. - Apple Macintosh -tietokone tiedostopalvelijana
Helsinki University of Technology | Master's thesis(1987) Muhonen, Tuomo - Sumean logiikan soveltaminen sähkönjakeluverkon tietojärjestelmässä
Helsinki University of Technology | Master's thesis(1995) Korhonen, Jarmo - Användning av webbteknik i ett kursanmälningssystem
School of Science | Master's thesis(2010) Haglund, KennethDynamic web pages are more functional and usable than static web pages containing only text and images. The existence of different techniques (web techniques, web frameworks, and different ways to access the database) is required for the creation of dynamic web pages. Different alternatives for the creation of a dynamic web page are presented, together with guidelines for the decision of which technique suits the purpose the best. Reasoning about the differences in the usage of the different techniques and their future. A course registration system on the web, created in 2004, is analysed based on the technical possibilities available today and a few currently popular web frameworks and web techniques are compared and discussed. The result is both a comparison of general interest of different techniques for the development of web applications, as well as focus on and analysis of a certain system and the way it has been developed, from a modem point of view. - Application programming interface and device driver design for infrared remote control in Symbian phone
Helsinki University of Technology | Master's thesis(2007) Hattula, JarnoTässä työssä suunnitellaan sovellusrajapinta sekä laiteajuri infrapunakaukosäädölle Symbian-käyttöjäijestelmää käyttävälle matkapuhelimelle. Implementoimalla suunnitellun laiteajurin jollekin Symbian-puhelimelle, puhelimessa voidaan ajaa yleiskaukosäädinsovellusta, joka käyttää suunniteltua sovellusrajapintaa. Rajapinta mahdollistaa kulutuselektroniikan kauko-ohjauksen puhelimella ja laitteiden kaukosäätimien ohjauskoodien oppimisen sovellusta käyttäen. Työssä tutkitaan kulutuselektroniikassa käytettävän infrapunaohjauksen ominaisuuksia fysikaalisella ja ohjelmistotasolla sovellusliittymältä ja laiteajurilta vaadittavien ominaisuuksien selvittämiseksi. Symbian-puhelimen soveltuvuutta infrapunakaukosäätimeksi tarkastellaan keskittyen erityisesti mahdollisuuteen hyödyntää puhelimen olemassa olevia infrapunatiedonsiirto-ominaisuuksia. Laiteajuri suunnitellaan Symbian-käyttöjärjestelmän EKA2-ydinarkkitehtuurissa käytettävän laiteajurimallin mukaiseksi, jonka vuoksi työssä selvitetään myös kyseisen mallin rakennetta. Sovellusliittymä ja laiteajuri suunnitellaan tukemaan kaikkia yleisimpiä kulutuselektroniikan kauko-ohjauksessa käytettyjä toteutuksia ja protokollia, joiden ominaisuuksia täten myös tutkitaan tässä työssä. - Application Toolkit Support in a Global System for Mobile communications (GSM) Subscriber Identification module (SIM)
Helsinki University of Technology | Master's thesis(1998) Asikainen, TeemuTässä diplomityössä on käyty läpi eri mahdollisuuksia toteuttaa Application toolkit tuki digitaalisen matkapuhelimen (GSM) tilaajamoduliin, sekä esitellään tarkemmin toteutettu ratkaisu. Application toolkit on uusi laajennus matkapuhelimen ja tilaajamodulin väliseen yhteiskäytäntöön, joka mahdollistaa sovellutusten suorittamisen tilaajamodulin prosessorilla. Yhteiskäytäntö määrittää tavan, jolla sovellukset voivat ottaa hallintaansa matkapuhelimen ominaisuuksia kuten käyttöliittymän tai lyhytsanomien lähettämisen. Näillä sovellutuksilla tullaan tarjoamaan lisäpalveluita liittymän omistajille. Tässä työssä kuvataan tutkimus- ja kehitystyötä, joka tehtiin Application toolkit tuen lisäämiseksi Setec Oy:n GSM SIM tuotteisiin. - Application-level real-time multimedia scheduling in heterogeneous distributed networks
Helsinki University of Technology | Master's thesis(2008) Lehto, TomiMultimediasovellukset ovat laskennallisesti raskaita ja teräväpiirtoformaattien synnyn myötä sovellukset tulevat vaatimaan kasvavissa määrin suorituskykyä prosessoreilta. Perinteiset multimediasovellukset suorittavat laskentaa lineaarisesti hyödyntäen vain yhtä suoritinydintä. Yksittäiset suoritinytimet saavuttavat vähitellen maksimaalisen suorituskykynsä. Trendinä onkin, että suoritinvalmistajat pyrkivät kasvattamaan laskentatehoa lisäämällä ytimiä samalle sirulle. Suurin osa nykypäivän tietokoneista on yhteydessä paikallisverkkoihin ja Internetiin. Sovelluksen suorituskyvyn kasvattaminen on mahdollista, jos näiden tietokoneverkkojen resurssit valjastetaan yhteisen tehtävän suorittamiseksi. Tulevaisuuden sovelluksien täytyy pystyä käyttämään näitä resursseja tehokkaasti. Perinteisesti lineaarisen multimediasovelluksen rinnakkaistaminen on haasteellista ja tyypilliset hyödyt ovat pieniä. Tässä diplomityössä keskitytään etsimään keinoja moniydinsuorittimien ja hajautettujen verkkojen resurssien hyödyntämiseksi. Mahdollisena ratkaisuna ongelmaan tutkitaan tehtäväverkon limittämistä liukuhihnaperiaatteella, joka on suhteellisen uusi idea tehtäväverkon aikatauluttamisessa. Tehokkuusongelmien lisäksi luotettavuus on toinen ongelma, joka täytyy ratkaista, jos hajautettujen verkkojen resursseja käytetään. Näiden epäluotettavien resurssien käyttäminen synnyttää vaateita järjestelmän vikasietoisuudelle. Yhden tietokoneen vika ei saa pysäyttää koko järjestelmää, minkä takia tässä diplomityössä kehitetään järjestelmä vikasietoisten aikataulujen generoimista varten. - Applying Aspect Oriented Programming (AOP) to Security
Helsinki University of Technology | Master's thesis(2005) Wang, YechengNowadays secure programming becomes more important due to security- flaws can occur in all phases of software lifecycle. The new Aspect-oriented programming (AOP) methodology facilitates modularizations of crosscutting concerns, which has been recognized as has great potential when it comes to apply security to software development compare to traditional Object-oriented programming (OOP). The aim of this thesis is to analyze how AOP can be used to avoid the security problem in the phase of the software development, demonstrating and comparing the conventional way and AOP way by some small examples with Java. By adding AOP security approach to one existing project is to demonstrate questions defined below. Firstly, the application should not depend on the security system, so that it can be developed and maintained independently? Secondly, the security system should be built and used in such a way that it is independent of the application and it is securing? - Ohjelmiston monimutkaisuusmittojen soveltaminen SDL-kieleen
Helsinki University of Technology | Master's thesis(1992) Karras, Timo - Applying the Axiomatic Proof Method to Concurrent and Distributed Programs
Helsinki University of Technology | Licentiate thesis(1983) Rönn, Stefan - Approximating Distinct Users: A Synopsis Data Structure
Perustieteiden korkeakoulu | Master's thesis(2016-02-15) Walldén, ValtteriMore and more data about users and their behavior is being collected both on the web and in mobile applications. Aggregating, processing, and making this data available in ways that help to guide decision-making is difficult, however. This thesis presents an algorithm for pre-processing user behavior data to produce a data structure that answers queries about the numbers of distinct users matching a given set of criteria. These kinds of queries can be made directly by planners and managers, or by systems such as forecasting and reporting systems that need information about counts of distinct users. In our algorithm, users are aggregated according to their transaction profile, or the set of behaviors that each user exhibits in the input data. This aggregation results in a massive reduction in terms of the memory footprint of the information. Our data structure can only be queried for counts, however, and not the behavior of specific users. Data identifying individual users is lost upon aggregation. We advocate pruning some transaction profiles to further reduce the size of the resulting data structures, and provide insights into how this might best be done. After pruning, our output no longer provides exact counts of distinct users, but rather approximations. Such data structures are known in the literature as synopsis data structures. The method presented in this thesis reduced the memory footprint of our user behavioral test data to less than 5 % of its original size while providing accurate counts, and to less than 1.2 % with pruning. Pruning provides substantial benefits in terms of memory, but can introduce a significant amount of error into the approximate counts. This can be counteracted with scaling. The effectiveness of the algorithm depends on its ability to aggregate the input data enough so that the resulting data structures are small and so that pruning does not have too large of an effect on accuracy. - Architecting Java 2 Enterprise Edition Application Service
Helsinki University of Technology | Master's thesis(2006) Sauhke, JaniOhjelmistojärjestelmän ydinarkkitehtuuri ratkaistaan Unified Process -ohjelmistokehitysprosessissa sen Elaboration -vaiheen; aikana. Tämä diplomityössä esittelee erityisesti J2EE ohjelmistokehitysprojektissa Elaboration- vaiheessa tarvittavat työvaiheet ja niihin soveltuvat menetelmät: J2EE -teknologiaan liittyvine erityispiirteineen. Työ on case- luonteinen kuvaus menetelmien soveltamisesta käytännön projektissa. Case -projektin erityispiirre on se, että kehitettävää sovellusta tullaan tarjoamaan asiakkaille palveluna, joka asettaa erityisvaatimuksia arkkitehtuurille. Palvelun tarkoituksena on tarjota päivittäis- ja kappaletavarateollisuudessa toimiville yrityksille mahdollisuus tehdä tarkempia myyntiennusteita käyttäen ainutlaatuista uutta menetelmää. Palvelun käyttäjät voivat sen avulla lisätä liikevaihtoa ja katekertymää parantuneen, kuluttajakäyttäytymis -ymmärtämyksen avulla. Yleinen J2EE sovellusrakenne asettaa perusrungon rakennettavalle arkkitehtuurille. Se määrittelee yleisesti käytettävät sovelluskerrokset ja niiden tarkoitukset. Käyttämällä Oliopohjaista Analyysia ja Suunnittelua voidaan löytää liiketoiminnallisten vaatimusten näkökulmasta tarvittavat ohjelmistokomponentit, niiden ominaisuudet ja funktiot ja asettaa ne oikeisiin sovelluskerroksiin yleisessä sovellusrakenteessa. Työstä tulee helpompi, kun hyödynnetään hyvin tunnettuja standardinomaisia ratkaisuja, sovellusrunkoja, kehitettäessä ratkaisuja eri sovelluskerroksiin. Työn tuloksena syntyvä ydinarkkitehtuuri toteuttaa yritys- ja käyttäjätilien hallintaan, palvelujen käyttöoikeuksiin, monikielisyyteen ja ulkoisten tiedonsiirtorajapintojen käyttöön liittyvät perustoiminnallisuudet. Tämän ansiosta eri yritykset pystyvät käyttämään palvelua siinä laajuudessa kun palvelusopimus on tehty. Yrityksen käyttäjille tarjotaan ne palvelut, joita he tarvitsevat omalla äidinkielellään. Ydinarkkitehtuuri määrittelee lisäksi valmiiksi tarkasti kaikki tarjottavat palvelut ja niiden rajapinnat asiakassovelluksille. Toteutettavat käyttötapaukset ovat valittuja siten, että ne kattavat sovelluspalvelulle tärkeät erityispiirteet, sisältävät komponentteja joka sovelluskerroksesta ja ovat myös loogisessa toteutusjärjestyksessä esivaatimuksia kaikille muille toteutettaville käyttötapauksille. Toteutuksen toimivuus testataan erillisen testi-asiakassovelluksen avulla, työn lopussa. Se osoittaa, että sekä valitut valmiskomponentit, että arkkitehtuurisuunnitelun aikana toteutetut komponentit toimivat toivotulla tavalla yhteen kun toiminnallisuuksia käytetään käyttötapausten mukaisesti. Lisäksi testataan pistokokein palvelun kykyä hallita transaktioita ja palveluiden käyttöoikeuksia. - An Architecture for Scalable Simulations
Perustieteiden korkeakoulu | Master's thesis(2016-10-27) Vaccari, AlbertoSimulations, useful in emergency prevention and response, can range from using completely local data to requiring constantly up-to-date sensor information. With increasingly accurate simulations, there is also increased strain on the server providing the information, especially when considering multiple simulations being ran at the same time. This study wants to focus on evaluating different server architectures under different levels of stress to find the most robust solutions. The comparison will be made by changing the architectures while keeping the core structure and hardware characteristics the same. The architectures under test include a standalone server, docker containers and Kubernetes pods. The evaluation of the architectures will take into account the number of requests correctly handled, the number of mishandled and not handled ones, and their average response time. - Asiakas-palvelinmallin soveltaminen käytännön tietoliikennearkkitehtuureissa
Helsinki University of Technology | Master's thesis(1991) Myllymäki, Jussi - Aspect-oriented approach to OS development - empirical study
Helsinki University of Technology | Master's thesis(2005) Kuusela, JaakkoAspekti-orientoitunut ohjelmointi (AOP) on uusi ohjelmointitekniikka, jonka tarkoituksena on pitää suunnittelu- ja implementaatiotasolla ohjelman eri toiminnallisuudet erillään luokkahierarkiasta riippumatta. Tämän työn tarkoitus on esitellä AOP ja soveltaa sitä käytännön ongelmaan. Perinteisesti käyttöjärjestelmän ydin sisältää paljon sellaista toiminnallisuutta, joka levittäytyy koko ohjelman laajuudelle, esimerkiksi rinnakkaisuuden hallinta ja virtuaalimuisti. Tässä työssä nämä toiminnallisuudet erotetaan perusluokkahierarkiasta aspekteiksi, eli moduleiksi, jotka yhdistetään perusohjelmaan käännös-. tai suoritusvaiheessa. Työ on kokeellinen siinä mielessä, että valmiille ohjelmalle tehdään mittauksia käyttäen sekä metriikoita; että profilointia. Aspekti-pohjaisen ratkaisun tehokkuutta mitataan ja verrataan perinteisellä tavalla toteutettuun ohjelmaan. Käyttöjärjestelmäksi tätä työtä varten on valittu Nachos, joka on opetuskäyttöön suunniteltu käyttöjärjestelmä. Nachos valittiin siksi, että se on toteutettu Javalla, mikä mahdollistaa tehokkaiden aspektityökalujen käyttämisen. - Aspect-Oriented Refactoring of Java Applications
Helsinki University of Technology | Master's thesis(2007) Koskimäki, MikaOlio-ohjelmointi on nykyisin yleisesti käytetty ohjelmointimalli. Se tukee käsitteiden ja ongelmien modulaarisuutta luokkakäsitteen avulla. Tämä on selkeyttänyt ohjelmien jäsentämistä ja ymmärtämistä. Joidenkin toiminnallisuuksien kunnollinen jakaminen olio-ohjelmoinnin keinoin on osoittautunut mahdottomaksi tehtäväksi. Tällaisia toiminnallisuuksia kutsutaan läpileikkaaviksi toiminnallisuuksiksi. Ne aiheuttavat itse läpileikkaavien toiminnallisuuksien hajanaisen toteutuksen ja ei-läpileikkaavien toiminnallisuuksien sekavoittumisen. Esimerkkejä läpileikkaavasta toiminnallisuudesta ovat lokin kirjoitus, ohjelmavuon jäljitys, synkronointi tai parametritarkistus. Refaktorointi on muutosprosessi, jossa ohjelman sisäistä rakennetta muutetaan ilman sen varsinaisen toiminnan muuttamista. Tavoitteena on parantaa ylläpidettävyyttä. Aspektiohjelmointi on ohjelmointimenetelmä, joka tarjoaa keinon läpileikkaavien toiminnallisuuksien jäsentämiseen yhtenäisiksi ohjelmalohkoiksi. Ennen muutosta läpileikkaavat toiminnot on kuitenkin ensin etsittävä ja arvioitava. Manuaalinen etsiminen voi olla vaativaa etenkin isompien sovellusten kohdalla. Mahdollisesti aspekteiksi muutettavan koodin, aspektiehdokkaiden, etsimistä kutsutaan aspektien louhinnaksi. Tässä opinnäytetyössä arvioidaan muutamaa aspektien louhintamenetelmää soveltamalla niitä olemassa oleviin sovelluksiin. Menetelmien tulokset refaktoroidaan aspektikoodiksi ja tuloksia arvioidaan käyttäen tunnettuja koodin ominaisuuksien mittareita.