T224-3 Hajautettujen järjestelmien ohjelmistotekniikka A3 (20 op)
Vastuuprofessorit: Heikki Saikkonen, Eljas Soisalon-Soininen
Hajautettu järjestelmä koostuu ohjelmallisesti viestien avulla keskenään kommunikoivista tietokoneista. Niillä ei ole yhtä yhteistä kelloa, jolloin ohjelmasuoritukset eri koneissa etenevät asynkronisesti rinnakkain, ja järjestelmän yhteisen hetkellisen tilan määrittely on haasteellista. Koneet voivat myös vikaantua toisistaan riippumatta. Yksittäisten koneiden poistumisen ja lisäämisen pitäisi siis onnistua järjestelmän toimiessa, muita häiritsemättä. Koneet voivat olla myös perustaltaan erilaisia, kunhan ne käyttävät samaa ohjelmallista viestinvälitystä eli yhteyskäytäntöä. Hajautettu sovellus tai palvelu toteutuu useampaan järjestelmän koneeseen asennettujen ohjelmakomponenttien yhteistoimintana, esimerkkinä asiakas-palvelin malli. Komponentteja on voitava ladata dynaamisesti eri koneille palvelutarpeiden vaihdellessa. Hajautetun järjestelmän ohjelmistoteknisiä haasteita ovat siis mm. rinnakkaisuus, hajautetun tilan hallinta, heterogeenisyys, avoimuus, skaalautuvuus, laajennettavuus, vikasietoisuus, turvallisuus, sekä läpinäkyvyys. Tunnetuin hajautettu järjestelmä on Internet ja sen varaan rakennetut ohjelmistot ja sovellukset kuten WWW. Moduulin tarkoituksena on perehdyttää opiskelija hajautettujen järjestelmien ohjelmistoihin sekä niiden suunnittelun ja toteuttamisen menetelmiin, arkkitehtuureihin, algoritmeihin ja työkaluihin.
Koodi | Kurssin nimi | op |
---|---|---|
Pakolliset kurssit | ||
T-106.5250 | Hajautetut järjestelmät | 5 |
T-106.5720 | Hajautettujen järjestelmien projekti* | 5-10 |
Valitse seuraavia kursseja siten, että 20 op täyttyy | ||
T-106.5820 | Hajautettujen järjestelmien seminaari | 3-10 |
T-106.6320 | Hajautettujen järjestelmien erikoistyö | 5-8 |
T-106.5600 | Concurrent Programming | 5 |
T-106.5241 | Hajautetut tietokannat | 5 |
Sekä enintään yksi kurssi seuraavista | ||
T-93.4400 | Tekoälyn perusteet | 5 |
T-106.5221 | Transaktionhallinta tietokantajärjestelmissä | 5 |
T-106.5900 | Ohjelmistotekniikan vaihtuva kurssi | 1-8 |
T-110.5140 | Network Application Frameworks | 5 |
T-110.7100 | Applications and Services in Internet | 4 |
T-110.7110 | Internet Technologies for Mobile Computing | 4 |
T-111.5360 | WWW Applications | 4 |
Yhteensä | 20 | |
*Mikäli opiskelija on suorittanut jonkin seuraavista projektikursseista T-106.5700 Ohjelmistotekniikan projekti T-106.5150 Käyttöjärjestelmäprojekti T-106.5740 Sulautettujen järjestelmien projekti T-76.4115 Ohjelmistokehitysprojekti I hän voi korvata kurssin T-106.5720 moduulin valinnaisilla kursseilla. |