TKT / Opinnot / T-79.179

Tämä on kevään 2003 kurssin kotisivu. Edellisten kurssien kotisivuja: kevät 2000, kevät 2001, kevät 2002.

The English version of this course is T-79.231.

Teknillinen korkeakoulu - Tietojenkäsittelyteorian laboratorio

T-79.179 Rinnakkaiset ja hajautetut digitaaliset järjestelmät (3 ov)

Rinnakkaiset ja hajautetut järjestelmät ovat merkittävä tietokoneiden käyttökohde. Muun muassa tietoliikenteen yhteyskäytäntöjen, asiakas-palvelin-järjestelmien, sulautettujen järjestelmien ja prosessinohjauksen suunnittelijat tarvitsevat näkemystä rinnakkaisuudesta ja hajautuksesta ja siihen liittyvistä ilmiöistä. Suunnittelussa törmätään vaikeisiin ajoitusongelmiin, joiden ratkaisemisessa on hyötyä järjestelmällisistä, formaaleista menetelmistä ja tehokkaista työkaluohjelmistoista.

Opintojakson tavoitteena on johdattaa opiskelija tuntemaan muutamia näiden järjestelmien mallinnuksessa ja analyysissä käytettyjä formalismeja ja menetelmiä. Luennot käsittelevät pääasiassa Petri-verkkojen, aikalogiikan ja prosessialgebran perusteita sekä niiden käyttöä. Lisäksi opintojaksoon liittyy laskuharjoituksia ja pakollisia kotitehtäviä, joissa harjoitellaan mallinusmenetelmiä ja esitellään teorian sovelluskohteita. Kotitehtävien ratkaisemisessa käytetään Tietojenkäsittelyteorian laboratoriossa kehitettyä korkean tason Petri-verkkojen Maria-analyysiohjelmistoa.

Yleistä

Kurssiesite
Ilmoittautuminen
Kurssille ilmoittaudutaan TOPI-järjestelmän välityksellä.
Keskusteluryhmä
opinnot.tik.rhj
Kurssin suorittaminen
5 pakollista kotitehtävää ja tentti.

Aineisto

Ethän kuormita ATK-keskuksen tulostimia näillä. Jos haluat monisteet paperilla, tilaa opetusmonisteet.

Kotitehtävät

Kurssilla on viisi pakollista kotitehtävää, jotka arvostellaan. Koska kukin kotitehtävä on 10 pisteen arvoinen, jaossa on yhteensä 50 pistettä. Kurssin hyväksytty suorittaminen edellyttää hyväksytyn tenttisuorituksen sekä vähintään 25 kotitehtäväpistettä. Jos kotitehtäväpisteitä on paljon, ne vaikuttavat kurssista annettavaan arvosanaan korottamalla tentin hyväksyttyä arvosanaa enintään kahdella pykälällä. Tarkat pisterajat ilmoitetaan myöhemmin.

Kotitehtävien tulokset julkaistaan kurssin kotisivulla ja opinnot.tik.rhj-ryhmässä.

Kurssin läpäiseminen edellyttää hyväksytyn tenttisuorituksen lisäksi puolet kotitehtäväpisteistä eli 25 pistettä. Jos kotitehtävistä saa enemmän kuin 30 pistettä, tentin arvosana voi nousta enintään kahdella numerolla.

Kotitehtävät eivät ole ryhmätöitä. Yleisiä ratkaisuperiaatteita voi toki pohtia ryhmässä, mutta kukin palauttaa oman ratkaisunsa.

Kotitehtävä 1, 27.1.2003
Yksinkertainen asiakas–palvelin-järjestelmä: PDF, Postscript
Vaihtoehto: käytä Maria-työkalua jonkin pulman mallintamiseen ja ratkaisemiseen. Kysy luennoitsijan (Marko Mäkelä) hyväksyntä pulmallesi ja palauta vastauksesi luennoitsijalle.
Kotitehtävä 2, 10.2.2003, palautus 10.3.2003 klo 16.00
Turvallisuuskriittisen järjestelmän suunnitteleminen ja tarkistaminen: PDF, Postscript
Kotitehtävä 3, 10.2.2003, palautus 24.3.2003 klo 16.00
Vaihtuvan bitin yhteyskäytännön mallintaminen: PDF, Postscript. Korjaus 20.3.2003: poistettu 3. kohdan viimeinen kysymys, joka oli jäänyt tehtävänantoon vahingossa. Kaikkien 3. kohdassa tehtävien saavutettavuusgraafien pitäisi olla vahvasti yhtenäisiä.
Kotitehtävä 4, 3.3.2003, palautus 7.4.2003 klo 16.00
Aikalogiikkaa ja invarianttilaskentaa: PDF, Postscript.
Kotitehtävä 5, 24.3.2003, palautus 24.4.2003 klo 16.00
Prosessialgebraa ja suorituskyvyn määrittämistä: PDF, Postscript, siirtymäjärjestelmä. Lisäys 22.4.2003: sum(Q,2) ei toimi Octave 2.0:ssa. Sen sijaan sum(Q') toimii.

Maria-esimerkkejä

Eräät luennolla esitetyt korkean tason verkot ovat saatavissa Maria-ohjelmiston ymmärtämässä muodossa.

Lautturin ongelma
kaalinpää, vuohi ja susi
Pääsylippualgoritmi
n prosessin keskinäinen poissulkevuus jaetun muistin järjestelmässä)

Muita esimerkkejä

Dekkerin algoritmi TVT-muodossa
Katso myös, miten Maria tarkastaa LTL-kaavoja kytkiessään LSTS-malleja rinnan.

Tentti

Kursseilla T-79.179 ja T-79.231 on yhteinen tentti.


Marko Mäkelä

Valid HTML 4.01! Valid CSS!