De studerende vil kunne forstå og anvende de robustheds- og
sikkerhedsformalismer som introduceres i kurset, og anvende
værktøjer og teknikker til at løse relaterede problemer.
Læringsmål:
En studerende, der fuldt ud har opfyldt kursets mål, vil kunne:
forklare forskellige aspekter af robusthed af systemer;
forklare hvordan de behandlede teknikker understøtter
udvikleren i at realisere robuste software systemer;
sammenligne de behandlede metoder, og vurdere deres
anvendelighed i en given kontekst;
fortolke resultaterne af de værktøjer som behandles i
kurset;
anvende nogle af de behandlede teknikker;
formulere krav til robuste systemer og argumentere for
dem;
gennemføre et softwareprojekt med de behandlede teknikker, og
verificere robusthedsegenskaber som del af udviklingen;
opnå ovennævnte resultater som del af en gruppe, men på en
sådan måde at de individuelle bidrag kan identificeres; og
kommunikere de opnåede resultater på en klar og præcis måde i
en standard form for tekniske rapporter.
Kursusindhold:
Kurset behandler moderne metoder til at garantere robusthed af
software systemer, både med hensyn til udviklingsprocessen og til
den egentlige drift.
På udvlikingssiden behandles emner som programmersprogernes support
for robusthed samt avancerede teknikker til at sikre robusthed på
forskellige niveauer, som Design by Contract, formale metoder, og
metodiske testværktøjer. På driftssiden behandles moderne
styresystemer og deres robusthedsmekanismer samt abstrakte maskiner
og deres realisation og brug i f.x. virtuelle maskiner.