Copyright © Jerzy R. Nawrocki Metody formalne Inżynieria oprogramowania II Wykład 5.

Slides:



Advertisements
Podobne prezentacje
Systemy czasu rzeczywistego
Advertisements

Wprowadzenie do informatyki Wykład 6
1 Dzisiejszy wykład Wzorce funkcji Wzorce klas. 2 Wzorce Często pojawia się konieczność pisania podobnych funkcji lub klas operujących na argumentach.
Informatyka jako dziedzina wiedzy
Imperatywne modele obliczeń Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do.
Język asemblera Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
Systemy czasu rzeczywistego Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do.
Przetwarzanie tekstów i AWK Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do.
Rekurencja Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do informatyki Wykład.
Informatyka jako dziedzina wiedzy Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie.
Organizacja Przedsięwzięć Programistycznych Wykład 7, 27.II.03
Imperatywne modele obliczeń Copyright, 2001 © Jerzy R. Nawrocki Wprowadzenie do.
Systemy operacyjne Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
Procesy współbieżne Copyright, 2004 © Jerzy R. Nawrocki Teoretyczne podstawy informatyki.
Inżynieria oprogramowania Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
Systemy operacyjne Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
Przetwarzanie tekstów i AWK Copyright, 2001 © Jerzy R. Nawrocki Wprowadzenie do.
Inżynieria oprogramowania II Wykład 12 Projekty dyplomowe
Zarządzanie konfiguracją Doskonalenie Procesów Programowych Wykład 6 Copyright, 2001 © Jerzy.
Obliczalność i złożoność obliczeniowa
Informatyka jako dziedzina wiedzy
Copyright © Jerzy R. Nawrocki Standardy serii ISO Inżynieria oprogramowania II Wykład.
Copyright © Jerzy R. Nawrocki Kontrola jakości oprogramowania Inżynieria oprogramowania.
Wykład 1 Inżynieria oprogramowania II Wykład 1 Wprowadzenie
Modelowanie i architektura
Testy akceptacyjne Analiza systemów informatycznych Wykład 9
Modelowanie i język UML
Wprowadzenie do przedmiotu
Rekurencja Copyright, 2001 © Jerzy R. Nawrocki Wprowadzenie do informatyki Wykład.
Imperatywne modele obliczeń Copyright, 2003 © Jerzy R. Nawrocki Teoretyczne podstawy.
Metody numeryczne Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
Programowanie imperatywne i język C Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
Bazy danych Wprowadzenie do informatyki Wykład 9
Informatyka jako dziedzina wiedzy Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
Programowanie imperatywne i granice obliczalności Copyright, 2004 © Jerzy R. Nawrocki
Wprowadzenie do teoretycznych podstaw informatyki
Rekursja Copyright, 2004 © Jerzy R. Nawrocki Teoretyczne podstawy informatyki.
Programowanie imperatywne i język C
Języki formalne i gramatyki
Procesy współbieżne Copyright, 2005 © Jerzy R. Nawrocki Wstęp do informatyki.
Informatyka jako dziedzina wiedzy Copyright, 2005 © Jerzy R. Nawrocki Wstęp.
Modularyzacja i struktury danych w C Copyright, 2005 © Jerzy R. Nawrocki Wprowadzenie.
Modularyzacja i struktury danych w C Copyright, 2005 © Jerzy R. Nawrocki Wprowadzenie.
Programowanie imperatywne i język C Copyright, 2005 © Jerzy R. Nawrocki Wstęp.
Metody formalne Copyright, 2005 © Jerzy R. Nawrocki Analiza systemów informatycznych.
Programowanie imperatywne i język C Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
Testowanie oprogramowania
Język C – Część II Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
Wyrażenia regularne i język AWK
Komunikacja poprzez Internet
PING: Program używany do diagnozowania połączeń sieciowych.
Programowanie imperatywne i język C Copyright, 2006 © Jerzy R. Nawrocki Wstęp do.
Przetwarzanie tekstu i strony WWW Copyright, 1999 © Jerzy R. Nawrocki Wprowadzenie.
Informatyka jako dziedzina wiedzy
Informatyka jako dziedzina wiedzy
Translatory Copyright, 2006 © Jerzy R. Nawrocki Wprowadzenie do informatyki Wykład 11.
Gramatyki i translatory
Procesy współbieżne Copyright, 2005 © Jerzy R. Nawrocki Wstęp do informatyki.
Pomiary procesów programistycznych Copyright, 2002 © Jerzy R. Nawrocki Zarządzanie jakością.
Copyright © Jerzy R. Nawrocki Kontrola jakości oprogramowania Inżynieria oprogramowania.
Informatyka jako dziedzina wiedzy Copyright, 2005 © Jerzy R. Nawrocki Wprowadzenie.
Języki formalne i gramatyki Copyright, 2005 © Jerzy R. Nawrocki Teoretyczne podstawy.
Języki formalne Copyright, 2006 © Jerzy R. Nawrocki Wprowadzenie do informatyki Wykład.
Wprowadzenie do teoretycznych podstaw informatyki Copyright, 2004 © Jerzy R. Nawrocki
Copyright © Jerzy R. Nawrocki Team Software Process Inżynieria oprogramowania II Wykład.
Procesy współbieżne Copyright, 2006 © Jerzy R. Nawrocki Wstęp do informatyki Wykład.
Procesy współbieżne Copyright, 2007 © Jerzy R. Nawrocki Wstęp do informatyki Wykład.
Wyrażenia regularne i język AWK Copyright, 2004 © Jerzy R. Nawrocki Teoretyczne.
Inżynieria oprogramowania
Wprowadzenie do teoretycznych podstaw informatyki
Zapis prezentacji:

Copyright © Jerzy R. Nawrocki Metody formalne Inżynieria oprogramowania II Wykład 5

J.Nawrocki, Metody formalne Jakość oprogramowania Jakość = zgodność z wymaganiami Philip Crosby (1926 – 2001)

J.Nawrocki, Metody formalne Jakość oprogramowania Jakość projektu (wymagania a projekt) Jakość wykonania (projekt a implementacja)

J.Nawrocki, Metody formalne Cztery filary zapewniania jakości RefaktoryzacjaTestowanie Zarz. konfiguracjąPrzeglądy Jakość oprogramowania

J.Nawrocki, Metody formalne Słabości testowania Testowaniem nie można wykazać braku błędów, można w ten sposób jedynie wykazać ich obecność. Powiedzenie Dijkstry

J.Nawrocki, Metody formalne Dowodzenie poprawności programów C.A.R. Hoare Urodzony: : Filologia klasyczna : Rosyjski (Royal Navy) 1959: Statystyka + program : Moskwa, translacja 1960: Quicksort 1960: Elliott Brothers, Algol : Prof., Belfast 1977: Oxford 1980: ACM Turing Award

J.Nawrocki, Metody formalne Dowodzenie poprawności programów C.A.R. Hoare Hipoteza Hoarea: Dowodzenie programów rozwiązuje problemy poprawności, dokumentacji i kompatybilności. P {Q} R X=n {Y:=silnia(X)} Y=n! ANNA= Annotated Ada

J.Nawrocki, Metody formalne Podejścia do specyfikacji formalnej Metody formalne ModeloweModeloweAksjomatyczneAksjomatyczne Imperatywne DeklaratywneDeklaratywne AlgebraiczneAlgebraiczne

J.Nawrocki, Metody formalne Podejścia do specyfikacji formalnej Metody formalne Model-basedModel-based AxiomaticAxiomatic ImperativeImperative DeclarativeDeclarative AlgebraicAlgebraic

J.Nawrocki, Metody formalne Plan wykładu Formal Methods Model-basedModel-based AxiomaticAxiomatic ImperativeImperative DeclarativeDeclarative AlgebraicAlgebraic Specyfikacje aksjomatyczne Implementacje niestandardowe Specyfikacje bazujące na modelu Sieci Petriego

J.Nawrocki, Metody formalne Plan wykładu Formal Methods Model-basedModel-based AxiomaticAxiomatic ImperativeImperative DeclarativeDeclarative AlgebraicAlgebraic Specyfikacje aksjomatyczne Implementacje niestandardowe Specyfikacje bazujące na modelu Sieci Petriego

J.Nawrocki, Metody formalne Specyfikacje aksjomatyczne scheme DIRECTORY = class type Name, PhoneNo, Dir value empty: Dir, add: Name x PhoneNo x Dir Dir, lookup: Name x Dir PhoneNo, delete: Name x Dir Dir scheme DIRECTORY = class type Name, PhoneNo, Dir value empty: Dir, add: Name x PhoneNo x Dir Dir, lookup: Name x Dir PhoneNo, delete: Name x Dir Dir axiom forall name, name1: Name, t: PhoneNo, d: Dir delete (name, empty) empty delete (name, empty) empty delete (name, add(name1, t, d)) delete (name, add(name1, t, d)) if name = name1 if name = name1 then delete (name, d) then delete (name, d) else add (name1, t, delete (name, d)) else add (name1, t, delete (name, d)) end end axiom forall name, name1: Name, t: PhoneNo, d: Dir delete (name, empty) empty delete (name, empty) empty delete (name, add(name1, t, d)) delete (name, add(name1, t, d)) if name = name1 if name = name1 then delete (name, d) then delete (name, d) else add (name1, t, delete (name, d)) else add (name1, t, delete (name, d)) end end Nie d ?

J.Nawrocki, Metody formalne Specyfikacje aksjomatyczne axiom forall name, name1: Name, t: PhoneNo, d: Dir lookup (name, add(name1, t, d)) lookup (name, add(name1, t, d)) if name = name1 then t if name = name1 then t else lookup (name, d) else lookup (name, d) end end pre name = name1 name d pre name = name1 name d axiom forall name, name1: Name, t: PhoneNo, d: Dir lookup (name, add(name1, t, d)) lookup (name, add(name1, t, d)) if name = name1 then t if name = name1 then t else lookup (name, d) else lookup (name, d) end end pre name = name1 name d pre name = name1 name d scheme DIRECTORY = class type Name, PhoneNo, Dir value empty: Dir, add: Name x PhoneNo x Dir Dir, lookup: Name x Dir PhoneNo, delete: Name x Dir Dir scheme DIRECTORY = class type Name, PhoneNo, Dir value empty: Dir, add: Name x PhoneNo x Dir Dir, lookup: Name x Dir PhoneNo, delete: Name x Dir Dir

J.Nawrocki, Metody formalne Plan wykładu Formal Methods Model-basedModel-based AxiomaticAxiomatic ImperativeImperative DeclarativeDeclarative AlgebraicAlgebraic Specyfikacje aksjomatyczne Implementacje niestandardowe Specyfikacje bazujące na modelu Sieci Petriego

J.Nawrocki, Metody formalne Implementacje niestandardowe type ext_nat_numbers is sorts nat opns 0 nat suc: nat nat _ + _ : nat, nat nat type ext_nat_numbers is sorts nat opns 0 nat suc: nat nat _ + _ : nat, nat nat eqns forall x,y ofsort nat x + 0 = x; x + 0 = x; x + succ(y) = succ(x+y); x + succ(y) = succ(x+y); eqns forall x,y ofsort nat x + 0 = x; x + 0 = x; x + succ(y) = succ(x+y); x + succ(y) = succ(x+y); int zero () int succ (int x) int plus (int x, int y) int zero () int succ (int x) int plus (int x, int y) x plus(x, zero())= x x plus(x, zero())= x x,y plus(x,succ(y))= succ(plus(x,y)) x,y plus(x,succ(y))= succ(plus(x,y)) x plus(x, zero())= x x plus(x, zero())= x x,y plus(x,succ(y))= succ(plus(x,y)) x,y plus(x,succ(y))= succ(plus(x,y)) Nasze oczekiwania: plus(2, 3)= 5 Nasze oczekiwania: plus(2, 3)= 5

J.Nawrocki, Metody formalne Implementacje niestandardowe int zero () int succ (int x) int plus (int x, int y) int zero () int succ (int x) int plus (int x, int y) x plus(x, zero())= x x plus(x, zero())= x x,y plus(x,succ(y))= succ(plus(x,y)) x,y plus(x,succ(y))= succ(plus(x,y)) x plus(x, zero())= x x plus(x, zero())= x x,y plus(x,succ(y))= succ(plus(x,y)) x,y plus(x,succ(y))= succ(plus(x,y)) Nasze oczekiwania: plus(2, 3)= 5 Nasze oczekiwania: plus(2, 3)= 5 int zero () { return 1; } { return 1; } int zero () { return 1; } { return 1; }

J.Nawrocki, Metody formalne Implementacje niestandardowe int zero () int succ (int x) int plus (int x, int y) int zero () int succ (int x) int plus (int x, int y) x plus(x, zero())= x x plus(x, zero())= x x,y plus(x,succ(y))= succ(plus(x,y)) x,y plus(x,succ(y))= succ(plus(x,y)) x plus(x, zero())= x x plus(x, zero())= x x,y plus(x,succ(y))= succ(plus(x,y)) x,y plus(x,succ(y))= succ(plus(x,y)) Nasze oczekiwania: plus(2, 3)= 5 Nasze oczekiwania: plus(2, 3)= 5 int zero () { return 1; } { return 1; } int zero () { return 1; } { return 1; } int succ (int x) { return 2*x; } { return 2*x; } int succ (int x) { return 2*x; } { return 2*x; }

J.Nawrocki, Metody formalne Implementacje niestandardowe int zero () int succ (int x) int plus (int x, int y) int zero () int succ (int x) int plus (int x, int y) x plus(x, zero())= x x plus(x, zero())= x x,y plus(x,succ(y))= succ(plus(x,y)) x,y plus(x,succ(y))= succ(plus(x,y)) x plus(x, zero())= x x plus(x, zero())= x x,y plus(x,succ(y))= succ(plus(x,y)) x,y plus(x,succ(y))= succ(plus(x,y)) Nasze oczekiwania: plus(2, 3)= 5 Nasze oczekiwania: plus(2, 3)= 5 int zero () { return 1; } { return 1; } int zero () { return 1; } { return 1; } int succ (int x) { return 2*x; } { return 2*x; } int succ (int x) { return 2*x; } { return 2*x; } int plus (int x, int y) { return x * y; } { return x * y; } int plus (int x, int y) { return x * y; } { return x * y; }

J.Nawrocki, Metody formalne Implementacje niestandardowe x plus(x, zero())= x x plus(x, zero())= x x,y plus(x,succ(y))= succ(plus(x,y)) x,y plus(x,succ(y))= succ(plus(x,y)) x plus(x, zero())= x x plus(x, zero())= x x,y plus(x,succ(y))= succ(plus(x,y)) x,y plus(x,succ(y))= succ(plus(x,y)) Nasze oczekiwania: plus(2, 3)= 5 Nasze oczekiwania: plus(2, 3)= 5 int zero () { return 1; } { return 1; } int zero () { return 1; } { return 1; } int succ (int x) { return 2*x; } { return 2*x; } int succ (int x) { return 2*x; } { return 2*x; } int plus (int x, int y) { return x * y; } { return x * y; } int plus (int x, int y) { return x * y; } { return x * y; }... ale plus(2,3)= 6 Implementacja spełnia warunki

J.Nawrocki, Metody formalne Plan wykładu Formal Methods Model-basedModel-based AxiomaticAxiomatic ImperativeImperative DeclarativeDeclarative AlgebraicAlgebraic Specyfikacje aksjomatyczne Implementacje niestandardowe Specyfikacje bazujące na modelu Sieci Petriego

J.Nawrocki, Metody formalne Specyfikacje bazujące na modelu Directory = Name TelephoneNo state telbook of dir: Directory end Directory = Name TelephoneNo state telbook of dir: Directory end INIT() ext wr dir: Directory; ext wr dir: Directory; post dir = {}; post dir = {};INIT() ext wr dir: Directory; ext wr dir: Directory; post dir = {}; post dir = {}; m

J.Nawrocki, Metody formalne Specyfikacje bazujące na modelu Directory = Name TelephoneNo state telbook of dir: Directory end Directory = Name TelephoneNo state telbook of dir: Directory end INIT() ext wr dir: Directory; ext wr dir: Directory; post dir = {}; post dir = {};INIT() ext wr dir: Directory; ext wr dir: Directory; post dir = {}; post dir = {}; ADD (name: Name, telno: TelephoneNo) ext wr dir: Directory; ext wr dir: Directory; post dir = dir {name telno}; post dir = dir {name telno}; ADD (name: Name, telno: TelephoneNo) ext wr dir: Directory; ext wr dir: Directory; post dir = dir {name telno}; post dir = dir {name telno}; m

J.Nawrocki, Metody formalne Specyfikacje bazujące na modelu Directory = Name TelephoneNo state telbook of dir: Directory end Directory = Name TelephoneNo state telbook of dir: Directory end INIT() ext wr dir: Directory; ext wr dir: Directory; post dir = {}; post dir = {};INIT() ext wr dir: Directory; ext wr dir: Directory; post dir = {}; post dir = {}; ADD (name: Name, telno: TelephoneNo) ext wr dir: Directory; ext wr dir: Directory; post dir = dir {name telno}; post dir = dir {name telno}; ADD (name: Name, telno: TelephoneNo) ext wr dir: Directory; ext wr dir: Directory; post dir = dir {name telno}; post dir = dir {name telno}; LOOKUP (name: Name) r: TelephoneNo ext rd dir: Directory; ext rd dir: Directory; pre name dom dir; pre name dom dir; post dir (name); post dir (name); LOOKUP (name: Name) r: TelephoneNo ext rd dir: Directory; ext rd dir: Directory; pre name dom dir; pre name dom dir; post dir (name); post dir (name); m

J.Nawrocki, Metody formalne Specyfikacje bazujące na modelu Directory = Name TelephoneNo state telbook of dir: Directory end Directory = Name TelephoneNo state telbook of dir: Directory end INIT() ext wr dir: Directory; ext wr dir: Directory; post dir = {}; post dir = {};INIT() ext wr dir: Directory; ext wr dir: Directory; post dir = {}; post dir = {}; ADD (name: Name, telno: TelephoneNo) ext wr dir: Directory; ext wr dir: Directory; post dir = dir {name telno}; post dir = dir {name telno}; ADD (name: Name, telno: TelephoneNo) ext wr dir: Directory; ext wr dir: Directory; post dir = dir {name telno}; post dir = dir {name telno}; LOOKUP (name: Name) r: TelephoneNo ext rd dir: Directory; ext rd dir: Directory; pre name dom dir; pre name dom dir; post dir (name); post dir (name); LOOKUP (name: Name) r: TelephoneNo ext rd dir: Directory; ext rd dir: Directory; pre name dom dir; pre name dom dir; post dir (name); post dir (name); DELETE (name: Name) ext wr dir: Directory; ext wr dir: Directory; post dir = {name} dir ; post dir = {name} dir ; DELETE (name: Name) ext wr dir: Directory; ext wr dir: Directory; post dir = {name} dir ; post dir = {name} dir ; m

J.Nawrocki, Metody formalne Plan wykładu Metody formalne Model-basedModel-based AxiomaticAxiomatic ImperativeImperative DeclarativeDeclarative AlgebraicAlgebraic Specyfikacje aksjomatyczne Implementacje niestandardowe Specyfikacje bazujące na modelu Sieci Petriego

J.Nawrocki, Metody formalne Carl Adam Petri Ur. 12 lipca 1926 w Lipsku Od 1988: Honorowy Prof. Uniwersytetu w Hamburgu Kommunikation mit Automaten. Petri, C.A., Bonn: Institut für Instrumentelle Mathematik, Schriften des IIM Nr. 2, 1962.

J.Nawrocki, Metody formalne Co to za gra?

J.Nawrocki, Metody formalne Co to za gra?

J.Nawrocki, Metody formalne Co to za gra?

J.Nawrocki, Metody formalne Co to za gra?

J.Nawrocki, Metody formalne Co to za gra?

J.Nawrocki, Metody formalne Co to za gra?

J.Nawrocki, Metody formalne Wprowadzenie Sieci Petriego: Notacja graficzna Dobra podstawa matematyczna Zastosowania : Modelowanie systemów współbieżnych i rozproszonych Protokoły komunikacyjne, sieci komputerowe, systemy produkcyjne, systemy transportu publicznego itp.

J.Nawrocki, Metody formalne TerminologiaMiejsce Przejście Znacznik Łuk wej. Łuk wyj.

J.Nawrocki, Metody formalne Bardzo prosty przykład waiting reading strt_reading stop_reading Czytelnik w bibliotece: czekanie, czytanie.

J.Nawrocki, Metody formalne Bardzo prosty przykład waiting reading strt_reading stop_reading Czytelnik w bibliotece: czekanie, czytanie.

J.Nawrocki, Metody formalne Bardzo prosty przykład waiting reading strt_reading stop_reading Czytelnik w bibliotece: czekanie, czytanie.

J.Nawrocki, Metody formalne Bardzo prosty przykład waiting reading strt_reading stop_reading Czytelnik w bibliotece: czekanie, czytanie.

J.Nawrocki, Metody formalne Bardzo prosty przykład waiting reading strt_reading stop_reading Czytelnik w bibliotece: czekanie, czytanie.

J.Nawrocki, Metody formalne waiting reading strt_reading stop_reading Inny prosty przykład Dwaj czytelnicy w czytelni: czekanie, czytanie.

J.Nawrocki, Metody formalne waiting reading strt_reading stop_reading Inny prosty przykład Dwaj czytelnicy w czytelni: czekanie, czytanie.

J.Nawrocki, Metody formalne waiting reading strt_reading stop_reading Inny prosty przykład Dwaj czytelnicy w czytelni: czekanie, czytanie.

J.Nawrocki, Metody formalne waiting reading strt_reading stop_reading Inny prosty przykład Dwaj czytelnicy w czytelni: czekanie, czytanie.

J.Nawrocki, Metody formalne Przejścia równoległe 2

J.Nawrocki, Metody formalne Przejścia równoległe 2

J.Nawrocki, Metody formalne Przejścia równoległe 2

J.Nawrocki, Metody formalne Przejścia konfliktowe

J.Nawrocki, Metody formalne Przejścia konfliktowe

J.Nawrocki, Metody formalne Przejścia konfliktowe Punkt decyzyjny

J.Nawrocki, Metody formalne Inny przykład while (true) { t 1 ;... t 2 ;... t 3 ; } while (.. t 4..) {... t 5 ;... } Klient Serwer

J.Nawrocki, Metody formalne Inny przykład while (1) { t 1 ;... t 2 ;... t 3 ; } while (..t 4..) {... t 5 ;... } t1t1 t2t2 t3t3 t4t4 t5t5

J.Nawrocki, Metody formalne Inny przykład while (1) { t 1 ;... t 2 ;... t 3 ; } while (..t 4..) {... t 5 ;... } t1t1 t2t2 t3t3 t4t4 t5t5

J.Nawrocki, Metody formalne Inny przykład while (1) { t 1 ;... t 2 ;... t 3 ; } while (..t 4..) {... t 5 ;... } t1t1 t2t2 t3t3 t4t4 t5t5

J.Nawrocki, Metody formalne Inny przykład while (1) { t 1 ;... t 2 ;... t 3 ; } while (..t 4..) {... t 5 ;... } t1t1 t2t2 t3t3 t4t4 t5t5

J.Nawrocki, Metody formalne Inny przykład while (1) { t 1 ;... t 2 ;... t 3 ; } while (..t 4..) {... t 5 ;... } t1t1 t2t2 t3t3 t4t4 t5t5

J.Nawrocki, Metody formalne Inny przykład while (1) { t 1 ;... t 2 ;... t 3 ; } while (..t 4..) {... t 5 ;... } t1t1 t2t2 t3t3 t4t4 t5t5

J.Nawrocki, Metody formalne Inny przykład while (1) { t 1 ;... t 2 ;... t 3 ; } while (..t 4..) {... t 5 ;... } t1t1 t2t2 t3t3 t4t4 t5t5

J.Nawrocki, Metody formalne Inny przykład while (1) { t 1 ;... t 2 ;... t 3 ; } while (..t 4..) {... t 5 ;... } t1t1 t2t2 t3t3 t4t4 t5t5

J.Nawrocki, Metody formalne Inny przykład while (1) { t 1 ;... t 2 ;... t 3 ; } while (..t 4..) {... t 5 ;... } t1t1 t2t2 t3t3 t4t4 t5t5

J.Nawrocki, Metody formalne Inny przykład while (1) { t 1 ;... t 2 ;... t 3 ; } while (..t 4..) {... t 5 ;... } t1t1 t2t2 t3t3 t4t4 t5t5

J.Nawrocki, Metody formalne Inny przykład while (1) { t 1 ;... t 2 ;... t 3 ; } while (..t 4..) {... t 5 ;... } t1t1 t2t2 t3t3 t4t4 t5t5

J.Nawrocki, Metody formalne Systemy operacyjne Jak uniknąć zastoju w systemie? AllocateLP; AllocateHD; UseHDandLP; ReleaseHD; ReleaseLP; LP HD B A

J.Nawrocki, Metody formalne Systemy operacyjne AllocateLP; AllocateHD; UseHDandLP; ReleaseHD; ReleaseLP; LP HD B A

J.Nawrocki, Metody formalne Systemy operacyjne AllocateLP; AllocateHD; UseHDandLP; ReleaseHD; ReleaseLP; LP HD B A

J.Nawrocki, Metody formalne Systemy operacyjne AllocateLP; AllocateHD; UseHDandLP; ReleaseHD; ReleaseLP; LP HD B A

J.Nawrocki, Metody formalne Systemy operacyjne AllocateLP; AllocateHD; UseHDandLP; ReleaseHD; ReleaseLP; LP HD B A

J.Nawrocki, Metody formalne Systemy operacyjne AllocateLP; AllocateHD; UseHDandLP; ReleaseHD; ReleaseLP; LP HD B A

J.Nawrocki, Metody formalne Systemy operacyjne AllocateLP; AllocateHD; UseHDandLP; ReleaseHD; ReleaseLP; LP HD B A

J.Nawrocki, Metody formalne Systemy operacyjne AllocateLP; AllocateHD; UseHDandLP; ReleaseHD; ReleaseLP; LP HD B A

J.Nawrocki, Metody formalne Systemy operacyjne AllocateLP; AllocateHD; UseHDandLP; ReleaseHD; ReleaseLP; LP HD B A

J.Nawrocki, Metody formalne Systemy operacyjne AllocateLP; AllocateHD; UseHDandLP; ReleaseHD; ReleaseLP; LP HD B A

J.Nawrocki, Metody formalne Systemy operacyjne AllocateLP; AllocateHD; UseHDandLP; ReleaseHD; ReleaseLP; AllocateHD; AllocateLP; UseHDandLP; ReleaseLP; ReleaseHD; LP HD B A

J.Nawrocki, Metody formalne Systemy operacyjne AllocateLP; AllocateHD; UseHDandLP; ReleaseHD; ReleaseLP; AllocateHD; AllocateLP; UseHDandLP; ReleaseLP; ReleaseHD; LP HD B A

J.Nawrocki, Metody formalne Systemy operacyjne AllocateLP; AllocateHD; UseHDandLP; ReleaseHD; ReleaseLP; AllocateHD; AllocateLP; UseHDandLP; ReleaseLP; ReleaseHD; LP HD B A

J.Nawrocki, Metody formalne Systemy operacyjne AllocateLP; AllocateHD; UseHDandLP; ReleaseHD; ReleaseLP; AllocateHD; AllocateLP; UseHDandLP; ReleaseLP; ReleaseHD; LP HD B A

J.Nawrocki, Metody formalne Systemy operacyjne AllocateLP; AllocateHD; UseHDandLP; ReleaseHD; ReleaseLP; AllocateHD; AllocateLP; UseHDandLP; ReleaseLP; ReleaseHD; LP HD B A

J.Nawrocki, Metody formalne Systemy operacyjne AllocateLP; AllocateHD; UseHDandLP; ReleaseHD; ReleaseLP; AllocateHD; AllocateLP; UseHDandLP; ReleaseLP; ReleaseHD; LP HD B A

J.Nawrocki, Metody formalne Systemy operacyjne AllocateLP; AllocateHD; UseHDandLP; ReleaseHD; ReleaseLP; AllocateHD; AllocateLP; UseHDandLP; ReleaseLP; ReleaseHD; LP HD B A ?

J.Nawrocki, Metody formalne Problem zastoju AllocateHD AllocateLP use ReleaseHD ReleaseLP AllocateLP AllocateHD use ReleaseLP ReleaseHD HD LP

J.Nawrocki, Metody formalne Problem zastoju AllocateHD AllocateLP use ReleaseHD ReleaseLP AllocateLP AllocateHD use ReleaseLP ReleaseHD HD LP

J.Nawrocki, Metody formalne Problem zastoju AllocateHD AllocateLP use ReleaseHD ReleaseLP AllocateLP AllocateHD use ReleaseLP ReleaseHD HD LP

J.Nawrocki, Metody formalne Problem zastoju AllocateHD AllocateLP use ReleaseHD ReleaseLP AllocateLP AllocateHD use ReleaseLP ReleaseHD HD LP

J.Nawrocki, Metody formalne Systemy operacyjne AllocateLP; AllocateHD; UseHDandLP; ReleaseHD; ReleaseLP; AllocateHD; AllocateLP; UseHDandLP; ReleaseLP; ReleaseHD; LP HD B A

J.Nawrocki, Metody formalne Systemy operacyjne AllocateLP; AllocateHD; UseHDandLP; ReleaseHD; ReleaseLP; AllocateLP; AllocateHD; UseHDandLP; ReleaseLP; ReleaseHD; LP HD B A

J.Nawrocki, Metody formalne Problem zastoju AllocateHD AllocateLP use ReleaseHD ReleaseLP AllocateHD AllocateLP use ReleaseHD ReleaseLP HD LP

J.Nawrocki, Metody formalne Plan wykładu Formal Methods Model-basedModel-based AxiomaticAxiomatic ImperativeImperative DeclarativeDeclarative AlgebraicAlgebraic Specyfikacje aksjomatyczne Implementacje niestandardowe Specyfikacje bazujące na modelu Sieci Petriego

J.Nawrocki, Metody formalne Pytania?

J.Nawrocki, Metody formalne Ocena wykładu 1. Wrażenie ogólne (1 - 6) 2. Za szybko czy za wolno? 3. Czy dowiedziałeś się czegoś ważnego? 4. Co i jak poprawić?