INF4231 – Formell modellering og analyse av kommuniserende systemer

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