Tillförlitlighet och feltolerans Mål –Att förstå vilka faktorer som påverkar tillförlitligheten för ett system och hur fel vid mjukvarukonstruktion kan.

Slides:



Advertisements
Liknande presentationer
Krav på tillförlitlighet i TSD trafikstyrning och signalering
Advertisements

Vs..
En bild av debatten Vårdskandaler Vinster
Interface.  Interface är en datatyp och har alltså egen syntax och en hel del egna regler för vad arv från interface innebär.  Interface är renodlad.
Nyttorealisering på 10 min
Avlusning Debugger (”avlusare”) Breakpoints Watch.
Kopplingen mellan utredning och behandling – vad är det?
Teknik 1 utifrån förmågorna och centrala innehållet Vad teknik är
En meny av möjligheter Mål/målområde Koncept Patienten får ett standardiserat hemgångsmeddelande Påverkansanalys Involvera patient och närstående Patienten.
Prestandaanalys av JavaScript
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 5: CPU-schemaläggning.
Systemkarta.
Daniel Nylén, Institutionen för Informatik
Logikprogrammering, Mån 23/9 Rebecca Jonson. Repetition P :- Q, R. Deklarativ syn: –P är sann om Q och R är sanna. –Av Q och R följer P Procedurell syn:
Next previous Internetprogrammering 2000 Internetprogrammering 2000 Föreläsning 10 Distribuerad programmering med Javas RMI, Remote Method Invocation.
Filhantering Grundprincipen för filhantering Öppna filen
Kvalitet i grundutbildningen1
© Patrick Blackburn, Johan Bos & Kristina Striegnitz FL 7: Cut och negation (kap. 10) Teori –Förklarar hur man kontrollerar Prologs backtracking-beteende.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 13: I/O-system.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kap 3 & 4: Processer & trådar.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 7: Deadlocks.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 11: Implementation av filsystem.
i olika programmeringsspråk
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2004 Datastrukturer och algoritmer Föreläsning 3.
Samverka för Nytta och Innovation
DAV B04 - Databasteknik Återhämtning (kap 19).
1 Funktioner Nr 3 Funktionstyper, högre ordningens funktioner och polymorfism.
1 ”Efter Akureyri”  Feb 05: Nordels rapport överlämnad till Nordiskt Ministerråd  Aug 05: Energiministermöte i Nazaazuurak, Grönland  Energiministrarna.
Mer om arv - Polymorfism Kursbok: “Objects First with Java - A Practical Introduction using BlueJ”, David J. Barnes & Michael Kölling Fredric Ragnar
Styrteknik: Programmering med MELSEC IL PLC2A:1
1 Uppgift Implementera HProgSäk i Safety 1st Tillämpa HProgSäk i ”Pilotprojekt”
Diskreta, deterministiska system Projekt 1.2; Vildkatt
För att uppdatera sidfotstexten, gå till menyfliken: Infoga | Sidhuvud och sidfot Fondbolagsträff 2015.
Exempelbaserade specifikationer med SpecFlow
1. Konnektionism – grunderna
Patientsäkerhetsronder ”Executive Walk Rounds” – EWR.
Designstöd Daniel Fällman Institutionen för informatik Umeå universitet Design och utvärdering, 5 poäng.
1 Logging and monitoring of TCP traffic in SSH tunnels Masters thesis Anton Persson.
Lågnivåprogrammering Översikt av I/O-mekanismer i hårdvara Olika språkkrav och modeller för komponent- hantering(device driving) Modeller för komponent-hantering.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 5 ( ) INNEHÅLL: -Metoder.
Från riktlinjer och evidens till förebyggande i praktiken Matti Leijon, MPH, PhD Forskningskoordinator Centrum för primärvårdsforskning (CPF) Region Skåne.
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 8 ( )‏ Innehåll:  Introduktion till Java EE (Enterprise Edition)  Enterprise Java Beans.
Datorseende TexPoint fonts used in EMF: AAA Datorseende vt-08Föreläsning 6.
F. Drewes, Inst. f. datavetenskap1 Föreläsning 4: Syntaxdefinition Formell syntaxdefinition Lexikalisk och kontextfri syntax Flertydighet i kontextfri.
Datorsystem 1 & Datorarkitektur 1 – föreläsning 6 tisdag 6 november 2007.
F. Drewes, Inst. f. datavetenskap1 Föreläsning 2: Variabler och datatyper Variabler Bindning Typkontroll Några viktiga datatyper.
Windows Vista: Administration Maria Johansson 10 nyheter som gör livet som administratör lättare.
Arkitektrollen. Ansvar och uppgifter Architecture notebook Mycket intensivt elaboration – inception Mål: en stabil arkitektur i slutet på elaboration.
Var går gränsen mellan att bota och förbättra? – eller är frågan fel ställd? Christian Munthe Institutionen för filosofi, lingvistik och vetenskapsteori.
Sid period2CD5250 OOP med C++ Mats Medin MDH/IDT Undantag - eng. Exceptions Viktig del av klassbiblioteksdesign “Hoppa direkt ut med felkod” class.
1 Mönstermatchning och rekursion Nr 4. 2 Förenklad notation val fnname = fn name => expression Förenklas till fun fnname name = expression Exempel fun.
1 Mjukvaru-utveckling av interaktiva system God utveckling av interaktiva system kräver abstrakt funktionell beskrivning noggrann utvecklingsmetod Slutanvändare.
F. Drewes, Inst. f. datavetenskap1 Föreläsning 9: Implementering av underprogram Aktiveringsposter Exekveringsstacken Implementera dynamisk räckvidd.
Föreläsning 13 Logik med tillämpningar Innehåll u Aritmetik i Prolog u Rekursiva och iterativa program u Typpredikat u Metalogiska predikat.
Föreläsning 14 Logik med tillämpningar Innehåll u Cuts och negation u Input/output u Extralogiska predikat u Interaktiva program, failure-drivna.
Procedurellt potpurri Dagens samtalsämnen –Klipp (Cut) –If-then-else –fail/0 –repeat/0 Att läsa –The Art of Prolog, kapitel 11 –Relevant avsnitt i Learn.
Windows Vista: Utrullning Maria Johansson Windows Imaging WIM-filer Flera images per WIM-fil Filbaserat Hårdvaruoberoende Komprimerade Fånga systemläget.
Formella metoder i MDI Behovet Vad menas med formell? Verktyg Exempel Att läsa: Kapitel 14 i kursboken.
Föreläsning om RUP RUP – Rational Unified Process
7/14/2015 HS-1 Händelsestyrd Simulering – Inledning ”Simulering med modeller av händelsetyp” Händelsemodeller är lämpliga för vissa problemtyper (system).
Implementering Mårten Åhström 30 september 2015
Kapitel 7 Kulturgeografi. Kulturers komponenter Kulturella egenheter (traits) – Objekt, tro, attityder, språk Kulturella grupper (complex) – Universella.
Digitization and Management Consulting
Law abiding grounds of filing a divorce Jagianilaw.com.
Introduktion till The Rational IT Model
Left hand side is the P (Plan) Right hand side is DSA (Do Study Act)
Figure Types of analog-to-analog modulation
PSA/TUSS verifiering Gunnar Johanson / ES konsult
Förbättra klubbkvalitet
Presentationens avskrift:

Tillförlitlighet och feltolerans Mål –Att förstå vilka faktorer som påverkar tillförlitligheten för ett system och hur fel vid mjukvarukonstruktion kan tolereras

Innehåll –Tillförlitlighet, misslyckande(failure) och fel(fault) –Misslyckande-moder –Felförebyggande och feltolerans –N-versions-programmering –Dynamisk mjukvaruredundans –Återhämtningsblock för mjukvaru-feltolerans –Jämförelse mellan n-versions-programmering och återhämtningsblock –Dynamisk redundans och undantag –Säkerhet, tillförlitlighet och pålitlighet

Misslyckande-moder Failure mode Value domain Timing domainArbitrary (Fail uncontrolled) Constraint error Value error EarlyOmissionLate Fail silentFail stopFail controlled

Nivåer i ett ATC-system Full functionality within required response times Minimum functionality required to maintain basic air traffic control Emergency functionality to provide separation between aircraft only Adjacent facility backup: used in the advent of a catastrophic failure, e.g. earthquake

N-versions-programmering Version 2Version 1Version 3 Driver vote status vote status

Konsistenta jämförelser - Problem T3 > T th no P3 > P th T1 > T th yes P1 > P th yes V1 T2 > T th yes P2 no > P th V2 V3 Each version will produce a different but correct result Even if use inexact comparison techniques, the problem occurs

Domino-effekten Parallella processer som växelverkar gör BER mer komplex. R 22 R 21 R 13 R 12 R 11 IPC 4 IPC 3 IPC 2 IPC 1 Execution time T error P1P1 P2P2 If the error is detected in P1 rollback to R13 If the error is detected in P2 ?

Återhämtnings-block - Mekanism Establish Recovery Point Any Alternatives Left? Evaluate Acceptance Test Restore Recovery Point Execute Next Alternative Discard Recovery Point Fail Recovery Block Yes No Pass Fail

Ideal fel-tolerant komponent Interface Exception Failure Exception Interface Exception Failure Exception Service Request Normal Response Service Request Normal Response Normal ActivityException Handlers Return to Normal Service Internal Exception

Begrepp: säkerhet och tillförlitliget Dependability AvailableReliableSafeConfidentialIntegralMaintainable Readiness for Usage Continuity of Service Delivery Non-occurrence of Catastrophic Consequences Non- occurrence of unauthorized disclosure of information Non- occurrence of improper alteration if information Aptitude to undergo repairs of evolutions

Terminologi - “dependability” Dependability Availability Confidentiality Reliability Safety Integrity Maintainability Fault Prevention Fault Tolerance Fault Removal Fault Forecasting Faults Errors Failures Attributes Means Impairments

Sammanfattning Tillförlitlighet: ett mått på den framgång med vilket ett system överensstämmer med en auktoritativ specifikation av dess uppförande När systemets uppförandet avviker från sin specifikation kallas detta ett misslyckande(failure) Misslyckanden är resultatet av fel(fault)

Sammanfattning Fel kan introduceras av en händelse eller avsiktligt i ett system De kan vara transienta, permanenta eller intermittenta Fel-förebyggande består av fel-undvikande and fel-avlägsnande Fel-tolerans innehåller introduktion av redundanta komponenter i ett system så att fel kan detekteras och tolereras

Sammanfattning N-versions-programmering: den oberoende genereringen av N (där N >= 2) funktionellt ekvivalenta program från samma utgångs- specifikation Baserad på antagandena att ett program kan speciferas fullständigt, konsistent och otvetydigt, och att program som har utvecklats oberoende kommer att misslyckas oberoende

Sammanfattning Dynamisk redundans: fel(error)-detektering, skade-begränsning och skade-värdering, fel(error)-återhämtning, och fel(fault)- behandling samt fortsatt service Odelbara operationer för att underlätta skade- begränsningar

Sammanfattning Med bakåt-fel(error)-återhämtning (Backward Error Recovery, BER) är det nödvändigt för kommunicerande processer att nå konsistenta återhämtnings-punkter för att undvika domino-effekten För sekventiella system är återhämtnings- block att lämpligt språkbegrepp för BER

Sammanfattning Även om framåt-fel(error)-återhämtning (Forward Error Recovery, FER) är system- specifikt, så kan undantags-hantering (exception handling) identifieras som en lämplig struktur för dess implementering Begreppet ideal fel-tolerant komponent som använder undantag(exceptions) introducerades Begreppen mjukvaru-säkerhet och mjukvaru- tillförlitlighet introducerades

Undantag och undantagshantering Mål: –Att illustrera olika modeller för undantagshantering och att visa hur undantagshantering kan användas som en struktur för implementering av fel-toleranta system

Undantag och undantagshantering Innehåll: –Undantagshantering i äldre realtids-språk –Modern undantagshantering –Undantagshantering i Java och C –Återhämtnings-block och undantag

Återupptagande(Resumption)-modellen Hq Hr P Q R P invokes Q Q invokes R R raises r Hr raises q Hq resumes Hr Hr resumes R

Avslutande(Termination)-modellen Procedure P Procedure Q Procedure R P invokes Q Q invokes R Exception r raised Handler sought Handler for r Procedure terminates

Undantag i C C definierar inte resurser för undantags- hantering Detta är en begränsning när det gäller strukturerad programmering av tillförlitliga system Emellertid är det möjligt att tillgodose en viss form av undantags-hantering genom att använda macron i C

Undantag i C För att implementera en avslutande-modell, är det nödvändigt att spara statusen hos programregister m.m. vid ingången till ett undantags-område och sedan återställa dem om ett undantag inträffar POSIX-resurserna setjmp och longjmp kan användas för detta syfte

Sammanfattning Alla modeller för undantags-hantering behandlar följande frågor –Representation av undantag: ett undantag kan, eller kan inte, vara explicit representerat i ett språk –Området(domain) för en undantags- hanterare(handler): associerad med varje hanterare är ett område som specificerar den region av beräkningarna under vilken, om ett undantag inträffar, hanteraren aktiveras

Sammanfattning Alla modeller för undantags-hantering behandlar följande frågor –Undantags-propagering: när ett undantag är aktuellt och det inte finns någon undantags- hanterare i det omgivande området, kan antingen undantaget propageras till nästa utanförliggande omgivande område, eller kan undantaget betraktas som ett programmeringsfel Återupptagande(resumption)- eller avslutande (termination)-modellen: detta bestämmer vilka åtgärder som vidtas efter att ett undantag har hanterats

Sammanfattning I återupptagande(resumption)-modellen återupptas anroparen av undantaget vid påståendet efter det där undantaget anropades I avslutande(termination)-modellen avslutas det block eller den procedur som innehåller hanteraren(handler) och kontrollen lämnas över till det anropande blocket eller den anropande proceduren