INF4231 – Formell modellering og analyse av kommuniserende systemer
Beskrivelse av emnet
Kort om emnet
Bruk av formelle metoder for modellering av og resonnering om kommuniserende distribuerte systemer. Det legges vekt p? h?yniv? objekt-orientert design og programmering samt verkt?ysbasert simulering/eksekvering og analyse. Ulike former for synkronisering behandles med vekt p? asynkron kommunikasjon ved meldingsutveksling. Emnet vil ta for seg konkrete ikke-trivielle eksempler som nettverksprotokoller, distribuerte databaser, sikkerhetsprotokoller og/eller Internettprogrammering.
Formalismen som benyttes bygger p? termomskrivningsteknikker. Emnet gir en innf?ring i operasjonell semantikk for abstrakte datatyper, modellering og maskinell testing/modellsjekking av kommuniserende systemer ved bruk av spr?ket og eksekveringsverkt?yet Maude, samt formell ressonering om egenskaper som terminering og invarians.
Hva l?rer du?
Det overordnede m?let er ? vise hvordan formelle metoder kan benyttes til ? modellere kompliserte distribuerte systemer p? et h?yt abstraksjonsniv?, slik at man kan prototype, modellsjekke og resonnere om slike systemer i en tidlig fase i systemutviklingsprosessen. Emnet vil gi en praktisk innf?ring i utforming, programmering, kj?ring/testing og modellsjekking av distribuerte systemer, samtidig som det vil gi en teoretisk innsikt i formell resonnering om egenskaper til programmer.
Etter ? tatt dette emnet skal du:
- kunne modellere parallelle og distribuerte systemer
- forst? forskjellen p? asynkrone og synkrone systemer
- forst? ulike former for kommunikasjon og nettverk
- kunne definere sine egne datastrukturer og tilh?rende funksjoner
- kunne lage og teste ut prototyper og modeller for ulike slags systemer
- kunne definere temporallogiske formler som uttrykker avanserte egenskaper til distribuerte systemer
- kunne bruke analyseverkt?y til ? unders?ke hvorvidt et gitt distribuert system tilfredsstiller en slik ?nsket egenskap.
- kunne benytte metodene i kurset til ? resonnere formelt om korrektheten av imperative programmer
Opptak og adgangsregulering
Studenter m? hvert semester s?ke og f? plass p? undervisningen og melde seg til eksamen i Studentweb.
Dersom du ikke allerede har studieplass ved UiO, kan du s?ke opptak til v?re studieprogrammer, eller s?ke om ? bli enkeltemnestudent.
Forkunnskaper
Anbefalte forkunnskaper
Emnet bygger p? INF2220 – Algoritmer og datastrukturer (videref?rt) /INF1020 – Algor