Pålitelighet og Tilgjengelighet i Programvaresystemer. Tor Stålhane IDI / NTNU

Like dokumenter
Eksamen består av 4 oppgaver, hver med 4 deloppgaver. Alle delspørsmål gis samme vekt i evalueringen.

IEC Innhold. Tor Onshus. Hovedpunktene i IEC Prosessikkerhet Programvareutvikling Oppfølging i drift Maskinsikkerhet

IEC Utvalg av endringer i ny versjon

Erfaringsbaserte datakilder

Testrapport. Aker Surveillance. Gruppe 26. Hovedprosjekt ved Høgskolen i Oslo og Akershus. Oslo, Public 2013 Aker Solutions Page 1 of 5

Prototyping. TDT4180, vår Yngve Dahl IDI, NTNU NTNU

Konfigurasjonsstyring

Lykke til! Eksamen i fag SIF8018 Systemutvikling. 20 mai, 2003 kl Fakultet for fysikk, informatikk og matematikk

Risikostyring og digitalisering i transportsektoren

Probabilistisk risikoanalyse av kraftsystem en forutsetning for effektiv beredskap. Energiberedskap 2019

Aldring av konstruksjoner og betydning av robusthet

IEC Hovedprinsipper og veiledning

Hvis vi erstatter mennesket med automasjon, vil vi da redusere antall ulykker innen maritim shipping?

BMXART0814 ( ) M340 8 inn ana TC/RTD, 2*FCN

Hvordan estimering av ideell tid gjør deg mer realistisk (med innlagt NM i estimering)

F.I.F.F.I.G. Fleksibelt og Innovativt system For FakultetsInformasjon og andre Greier

status og endringer Mary Ann Lundteigen NTNU Medlem av IEC komiteen

Konfigurasjonsstyring. INF1050: Gjennomgang, uke 11

Cyberspace og implikasjoner for sikkerhet

CYBER SECURITY AUTONOME SYSTEMER. Marie Moe, forskningsleder for Cyber Security,

Elektronisk termostat med spareprogram. Lysende LCD display øverst på ovnen for enkel betjening.

Maskinsikkerhet. Maskinforskriften. Maskindirektivet Relevante standarder. Tor Onshus

Eksamen i fag TDT4140 Systemutvikling. Tirsdag 27. mai 2004 kl

Kravhåndtering. INF1050: Gjennomgang, uke 03

ITIL - rammeverk for IT-drift. IT-seksjonen Møre og Romsdal fylkeskommune Dagfinn Grønvik

Eksamen i fag SIF8018 Systemutvikling. Fredag 25. mai 2001 kl

Håndtering av usikkerhet og kunnskapsstyrke

Introduksjon til pålitelighetsanalyse. Jørn Vatn NTNU

Vedlegg 1 Godkjenning fra NSD

ISO 41001:2018 «Den nye læreboka for FM» Pro-FM. Norsk tittel: Fasilitetsstyring (FM) - Ledelsessystemer - Krav og brukerveiledning

Nyttestyring og viktigheten av den gode kunde

ST0202 Statistikk for samfunnsvitere

Maskinsikkerhet. Maskinforskriften. Maskindirektivet Relevante standarder. Tor Onshus

HA-løsning anno 2010

1 Section 7-2: Estimere populasjonsandelen. 2 Section 7-4: Estimere µ når σ er ukjent

Nyttestyring og viktigheten av den gode kunde. Magne Jørgensen

Endringer -- Hva blir det (til) med IEC 61511?

epost: IKT ved NHH Disaster recovery Virtualisering

Normens krav og anbefalinger fra kravspek til innføringsprosjekt. 31. oktober 2018

Hvordan ledere bør tenke når det gjelder risiko, risikoanalyse og risikostyring. Terje Aven Universitetet i Stavanger

Livsløpstesting av IT-systemer

Notasjon og Tabell 8. ST0202 Statistikk for samfunnsvitere

Forelesning IMT mars 2011

Prosjekter fangede i sin frihet

Risikoakseptkriterier og farelogg

Kvalitet i programvaresystemer Dokumentasjon av tester

Kalibrering. Hvordan sikrer Norsonic sporbarhet av måleresultatene. Ole-Herman Bjor

1. Installasjon og lydtilpasning

Bilag 6 Vedlegg 3 Definisjoner

RAM analyse på Jernbanesystem

Bilag 7. Tjenestebeskrivelse NOC Krav til Tjenestenivå

Datamatrisen: observasjoner, variabler og verdier. Variablers målenivå: Nominal Ordinal Intervall Forholdstall (ratio)

Building Safety et samarbeid for utvikling av robuste organisasjoner

Statens standardavtaler Avtaler og veiledninger om IT-anskaffelser

Arild Røkenes Dosent Institutt for reiseliv og nordlige studier Campus Alta Risikostyring i naturbasert reiseliv

Capturing the value of new technology How technology Qualification supports innovation

Manual for å oppgrade TS 1000 fra:

Klassisk ANOVA/ lineær modell

Referansearkitektur use cases. Kjell Sand SINTEF Energi AS NTNU Institutt for elkraftteknikk

Maskin læring et praktisk eksempel

Revidert PDS metode og håndbøker

Hildegunn T. Blindheim, direktør klima og miljø. Ulykkesforebygging på tvers av selskapene - bruk av RNNP-resultater

Østre Toten kommune Konkurransegrunnlag Kravspesifikasjon

EKSAMEN I FAG TMA4275 LEVETIDSANALYSE

En praktisk anvendelse av ITIL rammeverket

RAMS styring i Utbyggingsprosjekter. Kåre Meling, RAMS rådgiver i JBV. Prosjekt: Oslo-Ski

KONKURRANSEGRUNNLAG. Bilag 1 Kravspesifikasjon

Påstandsforordningen: Muligheter og trusler for næringen? Hvorfor et nytt rammeverk for bruk av påstander?

Kort om evaluering og testing av It-systemer. Hvordan vurdere, verdsette, velge og teste?

MMI-sammendrag fra eksamener

Din bruksanvisning NOKIA RX-4

ESTIMERING I SMIDIGE PROSJEKTER

Metodikk og erfaringer oppfølging av SIL i drift

Grunnleggende testteori

Fremtidens ombordproduksjon. Ari Th. Josefsson FishTech 2014 Ålesund

Kundetilfredshetsundersøkelse FHI/SMAP

25 years of experience for maintenance, and Condition Monitoring of rotating machines

Dette bilaget inkluderes i Avtalen for kunder som har et høyere Servicenivå enn standard leveringsvilkår.

Bruk av Aluminium Offshore & i Industrien

Risikostyring i en smart og sammenkoblet verden Har vi kontroll?

Software applications developed for the maritime service at the Danish Meteorological Institute

SEPA og M3. Svein Frode Nordby, Infor Norway. Infoteam / Webinar / Nov 25, 2016

Brukskvalitet. Lett å bruke og samtidig nyttig

GJENNOMGANG UKESOPPGAVER 9 TESTING

Grunnleggende testteori

Test og kvalitet To gode naboer. Børge Brynlund

Hva er det, hvordan fungerer det og hva kan det brukes til? Arcane Crypto

HMS og IKT-sikkerhet i integrerte operasjoner

Akseptansetesten. Siste sjanse for godkjenning Etter Hans Schaefer

Anvendt medisinsk statistikk, vår Repeterte målinger, del II

System integration testing. Forelesning Systems Testing UiB Høst 2011, Ina M. Espås,

Innholdsfortegnelse. 1. Testing Feiltesting av koden Funksjonstesting: Kilder.10

Independent Inspection

GSM sender. Oppkobling

KALIBRERINGENS ABC. Riktig kalibrering en forutsetning for riktig vurdering!

Bedre valg av leverandør gjennom trialsourcing & Fastpris eller per time?! Oslo, 1. desember, 2014 Magne Jørgensen

Brukerveiledning Astra XT- programvare oppsett og kommunikasjons innstillinger.

Inf1055 Modul B 26 april 2017:

Manual for Testleder i Autorisasjonsordningen for finansielle rådgivere

1: Steng ned alle MAB på alle maskiner før dere starter oppdateringen. Dette gjelder også MAB Schedule som dere vil finne på serveren.

Transkript:

Pålitelighet og Tilgjengelighet i Programvaresystemer Tor Stålhane IDI / NTNU

Mål og midler Husk: Det er safety som er målet. Pålitelighet og tilgjengelighet er bare midler til å nå målet.

Hva er pålitelighet 1 Fra IEEE Standard Glossary Std 610: Reliability. The ability of a system or component to perform its required functions under stated conditions for a specified period of time. Fra IEC 61508: Safety. Freedom from unacceptable risk

Hva er pålitelighet 2 Viktig å være klar over at pålitelighet er relatert til: Krav ikke behov. Du får det du ber om Spesifiserte omgivelser ikke i alle omgivelser. Endrede omgivelser kan endre påliteligheten En spesifisert tidsperiode ikke «for alltid»

Hva er tilgjengelighet 1 Fra IEEE Standard Glossary Std 610: Availability. The degree to which a system or component is operational and accessible when required for use. Often expressed as a probability. Enkelt sagt: Hva er sannsynligheten for at systemet er tilgjengelig på et gitt tidspunkt?

Hva er tilgjengelighet 2 MTTF total brukstid antall feilhendelser To feil på et år gir MTTF = 4380 timer MTTR total reparasjonstid antall reparasjoner To reparasjoner på hhv. 12 og 3 timer gir MTTR = 7.5 timer Tilgjengelighet MTTF MTTF MTTR Tilgjengelighet = 0.998 Tilsvarer 17.5 timer nedetid pr. år

Hvorfor er pålitelighet og tilgjengelighet viktig 1 Pålitelighet er viktig for at vi skal få et system som virker slik vi vil at det skal virke Tilgjengelighet er viktig fordi systemet må være tilgjengelig når vi har bruk for det. Utilgjengelig eller upålitelig system => Manglende eller feil informasjon => Feil beslutninger => Fare for liv og helse

Hvorfor er pålitelighet og tilgjengelighet viktig 2 Det er ikke bare de systemene som gjør spesifikke oppgaver e.g. analyse av blodprøver som er kritiske. All informasjon som påvirker medisinske beslutninger er kritisk

Hvor gode er vi på hva

Hvor er problemene 1 Datanett er isolert sett et relativt robust medium for kommunikasjon. Det er når vi ser på totalsystemet at tallene blir litt uheldige. Mange system-komponenter => mange muligheter for feil. DnBs nettløsning har MTTF på 0.18 år så langt i 2014 Norsk Helsenett hadde en MTTF på 0.20 år i 2008 0.06 år i 2007

Hvor er problemene 2 Viktige problemer: Plunder og heft stress for personalet Manglende data, feil data => feil beslutninger => fare for liv og helse Etter at systemet er opp igjen må man finne ut Hvorfor systemet gikk ned Hva man kan gjøre for at det ikke skal gjenta seg

Komponenter vs. Systemer 1 l l l i i 1 MTTF Antar konstante feilrater og ingen duplisering av komponenter => Feilraten (l) er det inverse av MTTF Feilraten for hele systemet er lik summen av feilratene til de enkelte komponentene

Komponenter vs. Systemer 2 ComputerWorld Oddbjørn Schei: «Det er helt nødvendig med redundans. Derfor skal vi ha tre fiber til hvert senter» Alle tre forbindelsene vil imidlertid terminers i samme rom og ha felles strømforsyning og kjøleanlegg => gode muligheter for fellesfeil Like enheter uten reparasjon: MTTF tot 1 l N i 1 1 i MTTF N 1 1 1 i

Pålitelighet, tilgjengelighet og standarder ISO 62304 og ISO 14971 nevner hverken pålitelighet eller tilgjengelighet. Vi må derfor: vurdere hva som kan skje viss systemet er nede 10 minutter 1 time Ett døgn Mer enn et døgn sette krav til system / leverandør / utviklere i henhold til konsekvensene

Eksempel på kritikalitetsanalyse 140 120 100 80 60 40 20 High Medium Low None 0 Minute Hour Day Week

Krav til tilgjengelighet og pålitelighet 1 MTTR => hvor lang tid skal det ta å Få all komponentene i gang igjen Gjenopprette databaser Gjenopprette alle forbindelser MTTF => systemet må Være robust ikke gå ned ved feil input e.l. => Defensiv programmering «Graceful degradation» Ikke ødelegge data, hverken i PC, servere eller i DB

Krav til tilgjengelighet og pålitelighet 2 For å få leverandørene til å levere det vi trenger må vi: Stille kontrollerbare krav til produkt og prosess Følge opp prosessen vi må kontrollere at de gjør det vi ble enige om QA Sjekke resultatet har vi fått et produkt med de egenskapene vi ba om FAT og SAT

Vær nøye på hva du ber om 1 Ikke si: Systemet skal ha høy tilgjengelighet Si: Systemet skal ha en tilgjengelighet bedre enn 0.9999 Tilgjengel ighet MTTF MTTF MTTR OBS: Det er to måter å få høy tilgjengelighet på : Høy MTTF - bra Lav MTTR ikke fullt så bra

Vær nøye på hva du ber om 2 Alt. 1: MTTF = 24 timer, MTTR = 1 minutt => Tilgjengelighet = 0.9993 Alt. 2: MTTF = 1 år, MTTR = 6 timer => Tilgjengelighet = 0.9993 De to eksemplene har samme tilgjengelighet, men de fleste vil nok foretrekke alternativ 2. Derfor: sett krav til MTTF og MTTR

Vær nøye på hva du ber om 3 Mange prosjekter har en lang hale der vi endrer produktet FRA: det vi ba om da det startet TIL: det vi egentlig har bruk for Slike sene endringer kan ødelegge både pålitelighet og tilgjengelighet => Bruk en smidig (agile) utviklingsprosess

Vær nøye på hva du ber om 4 Problemforståelse Frihetsgrader Tidlige vs. sene endringer 0 T D Tid

Hvordan kan vi følge opp kravene 1 Det viktigste vi kan gjøre er å sørge for at krav til MTTR og MTTF er med i planene fra dag 1. Vi kan ikke legge det på til slutt i prosessen. To spørsmål ved viktige beslutninger: Vil denne beslutningen påvirke MTTR eller MTTF? Viss «Ja», hvordan skal vi kontrollere produkt og prosess slik at Det blir gjort slik vi var enige om Systemet oppfører seg som planlagt

Hvordan kan vi følge opp kravene 2 Testing er viktig. Vi må teste at Riktig input gir riktige resultater Feil input ikke «dreper» systemet, men Gir informative feilmeldinger Ikke ødelegger eksisterende data Gir brukeren mulighet til å rette opp feilen og fortsette med oppgaven

Hvordan kan vi følge opp kravene 3 I tillegg til programvarene er også viktig å teste Driftsorganisasjonen e.g. reaksjonstid, service og reparasjoner (SLA) «Stand by» løsninger for maskinvare og nettverk Hele systemet i en pseudo-reell driftsituasjon scenariotesting

Kan vi estimere pålitelighet Vi vil raskt se på noen metoder: Flere, uavhengige testgrupper for å estimere 1. Antall feil basert på testresultatene 2. MTTF basert på estimat for feiltetthet Estimere basert på tester Feilsannsynlighet MTTF

Flere, uavhengige testgrupper To uavhengige testgrupper. Den første gruppa finner M feil Den andre gruppa finner n feil m feil blir funnet av begge grupper. m / n = M / N 0 => N 0 = M*n / m Feiltetthet = N 0 /KLOC Dette kan brukes til å gi et estimat av MTTF

Estimering av pålitelighet basert på feiltetthet Error content N 0 / KLOC Approximate MTTF > 30 1 minute for common operations 20 30 4 5 minutes for common operations 10 20 1 hour for common operations A few minutes in unusual situations 5 10 Several hours for common operations 2 5 25 hours for common operations 1 2 Several days for common operations 0.5 1 1 month for common operations 0.0 0.1 Indefinite. Continuous operation possible

Alternativer mye testing Estimere feilsannsynlighet Feilsannsynlighet: p Antall tester uten feil: M Signifikansnivå: a Estimere MTTF Total test-tid: TTT (test-tid * antall testere) Antall feil før testing: N 0 (1 p) M = a => M = -ln(a) / p Eksempel: a = 0.05, p = 0.001 => M = 3000 MTTF = e TTT / N 0 Eksempel: N 0 = 10, TTT = 100 => MTTF = 27 dager

Kan det bli HELT sikkert Det kan aldri bli helt sikkert, men det finnes alltid strategier for å gjøre det sikrere. Dupliser alle nettforbindelser og maskiner med dupliserte løsninger på forskjellige steder i det minste i forskjellige bygning. Ha alternative løsninger e.g. mobiltelefon / fasttelefon og manuelle rutiner. For at en alternativ løsning skal fungere må det øves ofte.

Hvordan kan NTNU bidra NTNU har flere miljøer som kan gi nyttige bidrag til pålitelighet, tilgjengelighet og safety: IDI Programvare pålitelighet og sikkerhet NSEP Service kvalitet (QoS) Fyrtårnprosjektet OADE (Open Autonoumous Digital Ecosystems)

Noen konklusjoner Det kan aldri bli helt sikkert Feilraten for programvare vil dominere Målet er safety. Pålitelighet og tilgjengelighet er bare midler for å nå målet. Tilgjengelighet og pålitelighet er to sider av samme sak Krav må stilles til tilgjengelighet (produkt og prosess) basert på risikoanalyse følgens opp under hele utviklingsløpet Må definere hva vi vil gjøre når systemet er utilgjengelig alternative løsninger.