SARDAS: Securing Availability by Robust Design, Assessment and Specification
Prosjektleder: Ketil Stølen, sjefsforsker ved SINTEF IKT og professor II ved UiO Kontraktspartner: UiO Samarbeidspartnere: Telenor FoU, Institutt for informatikk ved UiO, Institutt for telematikk ved NTNU Stipendiater: Mass Soldal Lund, Atle Refsdal, Judith Rossebø, Ragnhild Kobro Runde
Forskere ved UiO, SINTEF IKT og NTNU har videreutviklet verdens ledende modellspråk innen programvareindustrien – UML – og gjort det mulig å analysere tilgjengelighet på en mye mer presis og prinsipiell måte.
Hver gang du bruker nettbanken eller sender en tekstmelding, får du samtidig en opplevelse av tilgjengeligheten i bankens eller teleselskapets datasystem.
Du blir irritert hvis nettbanken er stengt, og du godtar ikke at tekstmeldingen kommer fram etter ett døgn istedenfor etter noen sekunder.
Tilgjengelighet er altså en viktig faktor i mange datasystemer, også de som styrer samfunnets store infrastrukturer som kraftforsyning og telekommunikasjon.
– Det har hittil vært vanskelig å spesifisere krav til tilgjengelighet, fordi kravene ikke er absolutte. For eksempel: Vi kan ikke kreve at et datasystem skal være 100 prosent tilgjengelig, for man må alltid regne med vedlikehold og omlegginger.
– Derfor er det mer vanlig å definere tilgjengelighet i form av såkalte «myke» sanntidskrav, forteller sjefsforsker Ketil Stølen ved Sintef IKTs Avdeling for samvirkende og tiltrodde systemer.
En viss «utilgjengelighet» kan godtas
Et «hardt» sanntidskrav kan defineres for eksempel som «Hvis du ber et datasystem om en spesifikk tjeneste, skal du få svar innen fem sekunder».
Men det er mer vanlig å utforme kravene på en myk måte, for eksempel av typen «Hvis du ber om en tjeneste, skal du få svar i løpet av fem sekunder i 98 prosent av tilfellene». Man kan godta en viss «utilgjengelighet», hvis den bare er liten nok.
Kravene til sanntidsytelser, enten de er harde eller myke, blir ofte omtalt som ikke-funksjonelle krav og utelatt fra de funksjonelle kravspesifikasjonene. De blir isteden beskrevet i vanlig språk i et tilleggsdokument eller en servicenivå-avtale.
Dette innebærer at viktige systemegenskaper blir utelatt fra spesifikasjonen, og at de kan bli utelatt også når spesifikasjonen skal analyseres.
Ketil Stølen har ledet forskningsprosjektet SARDAS, som gikk ut på å utvikle språk, metoder og verktøy for modellering og analyse av tilgjengelighet i datasystemer.
Dette er et teoretisk arbeid som de fleste systemutviklere vil forstå verdien av, fordi det baserer seg på UML og den type verktøy som allerede er i bruk i industrien.
På skuldrene til Nygaard og Dahl
Startpunktet for prosjektet var programmeringssspråket UML (Unified Modeling Language) som er verdens suverent ledende modelleringsspråk innenfor programvareindustrien.
Prosjektet står på skuldrene til professorene Kristen Nygaard (1926–2002) og Ole Johan Dahl (1931–2002), som utviklet verdens første objektorienterte programmeringsspråk Simula på 1960-tallet.
De objektorienterte språkene brakte viktige elementer fra menneskets egen tenkemåte inn i programmeringen, og er i dag like grunnleggende innen informatikken som multiplikasjon er i matematikken.
Annonse
Ketil Stølen er tidligere student hos Dahl, mens to andre seniorer i prosjektet – Birger Møller Pedersen og Øystein Haugen ved UiO – var studenter hos Nygaard. I tillegg har også Rolf Bræk ved NTNU spilt en sentral rolle i prosjektet.
I SARDAS-prosjektet har forskerne utvidet UML-språket og dermed styrket mulighetene til å modellere og analysere tilgjengelighet. Når man skal lage for eksempel en nettbank, har man et åpenbart behov for å karakterisere hvor tilgjengelig banken skal være.
Men det finnes også mange andre krav, som kan komme fra både kunder, brukere og systemutviklere. Det er ofte slik at kravene spriker i flere retninger, og da har man behov for å sammenlikne og raffinere disse kravene.
Verktøy
– Det er et verktøy for dette vi har utviklet, forklarer Stølen.
– Det fantes verktøy fra før, men ikke noe som kunne brukes i UML-språkets grafisk orienterte modelleringsverden. Det vi har prøvd å gjøre, er å løfte denne typen analyser høyere opp i systemutviklingsprosessen.
– Da skal det bli mulig å identifisere problemer på et tidligere tidspunkt i prosessen, og man slipper forhåpentligvis å kaste bort en hel masse tid på blindveier.
Metoden som SARDAS-forskerne har utviklet heter STAIRS og finnes i tre utgaver med fokus på henholdsvis generelle problemstillinger, tidsaspekter og sannsynlighetsaspekter.
Språket understøttes av et verktøy som heter ESCALATOR. Begge navnene illustrerer altså ønsket om å løfte seg til nye nivåer.
– Tilgjengelighet er helt essensielt når vi snakker om samfunnets infrastrukturer. Kraftforsyningen i Norge er for eksempel avhengig av kraftforsyningen i Sverige, som igjen kan sies å ha et avhengighetsforhold til kraftforsyningen i Danmark, som igjen har avhengigheter til kraftforsyningen i Norge…
– Og hvis strømmen går, trenger man telekommunikasjon for å få den tilbake igjen. Men telekommunikasjonen er igjen avhengig av strøm. Alt henger sammen med alt, og det er behov for bedre modeller for å analysere disse sammenhengene og bygge en tryggere infrastruktur, forklarer Stølen.