Formalizacja i uwiarygodnianie Iteracyjny proces syntezy modeli

Slides:



Advertisements
Podobne prezentacje
Piotr Czekalski, ZMiTAC, Politechnika Śląska 2003
Advertisements

Kontrola jakości wykonywanych napraw i remontów.
TRADYCYJNE METODY PLANOWANIA I ORGANIZACJI PROCESÓW PRODUKCYJNYCH
Modelowanie przypadków użycia
Projektowanie w cyklu życia oprogramowania
Literatura podstawowa
Zadanie z dekompozycji
Sieci Petriego Marcin Jałmużna.
PROGRAMOWANIE STRUKTURALNE
ALGORYTM Co to jest algorytm?
Projektowanie Aplikacji Komputerowych
Tomasz Jabłoński Michał Ziach
STRATEGIA WDRAŻANIA PROJEKTU INNOWACYJNEGO TESTUJĄCEGO STRATEGIA WDRAŻANIA PROJEKTU INNOWACYJNEGO TESTUJĄCEGO l istopad 2010 rok Projekt współfinansowany.
Systemy dynamiczne 2010/2011Systemy i sygnały - klasyfikacje Kazimierz Duzinkiewicz, dr hab. inż.Katedra Inżynierii Systemów Sterowania 1 Dlaczego taki.
Odkrywanie wzorców sekwencji
Diagram czynności (Activity Diagrams)
Rational Unified Process
Projektowanie i programowanie obiektowe II - Wykład IV
Wstęp do interpretacji algorytmów
Analiza i ocena procesów wdrożeniowych systemów klasy MRP/ERP w firmie
Katedra Podstaw Systemów Technicznych Politechnika Śląska
Projektowanie - wprowadzenie
Model dziedziny. Świat rzeczywisty i jego model Świat rzeczywisty (dziedzina problemu) Świat obiektów (model dziedziny) Samochód Osoba Dom Modelowanie.
Dalsze elementy metodologii projektowania. Naszym celem jest...
Wykład 4 Analiza i projektowanie obiektowe
Metody Symulacyjne w Telekomunikacji (MEST) Wykład 4: Generowanie zdarzeń  Dr inż. Halina Tarasiuk p. 337, tnt.tele.pw.edu.pl.
Spis treści Możliwości biblioteki logiczno-fizycznej
C.d. wstępu do tematyki RUP
Projekt systemu ekspertowego Nazwa Grupa: Zespół:…… …… ……. ……..
Inżynieria Oprogramowania
POJĘCIE ALGORYTMU Pojęcie algorytmu Etapy rozwiązywania zadań
Projektowanie architektur systemów filtracji i akwizycji danych z wykorzystaniem modelowania w domenie zdarzeń dyskretnych Krzysztof Korcyl.
Kontrola spójności modeli UML za pomocą modelu przestrzennego DOD
Model przestrzenny Diagramu Obiegu Dokumentów
AUTOMATYKA i ROBOTYKA (wykład 5)
Modelowanie populacji i przepływu opinii pomiędzy aktorami sztucznej inteligencji za pomocą sieci społecznej Wojciech Toman.
Częstotliwość próbkowania, aliasing
Algorytmy.
Podsumowanie metodologii OMT
Rational Unified Process Implementacja Aleksandra Reiman, gr. I-52.
Modelowanie obiektowe Diagramy czynności
Modelowanie obiektowe Diagramy UML – diagram przypadków użycia
Program Operacyjny KAPITAŁ LUDZKI Priorytet IV Szkolnictwo Wyższe i Nauka Dział Rozwoju Kadry Naukowej Narodowe Centrum Badań i Rozwoju.
Projektowanie relacyjnych baz danych – postacie normalne
UML W V ISUAL S TUDIO Mateusz Lamparski. UML D EFINICJA Unified Modeling Language (UML) to graficzny język do obrazowania, specyfikowania, tworzenia i.
Podstawy Techniki Cyfrowej
Obliczalność czyli co da się policzyć i jak Model obliczeń sieci liczące dr Kamila Barylska.
Diagramy czynności/aktywności (Activity Diagrams)
Programowanie strukturalne i obiektowe C++
URZĄDZENIA TECHNIKI KOMPUTEROWEJ
Diagram aktywności (czynności)
Diagram klas Kluczowymi elementami są: klasy (class)
Projektowanie relacyjnych baz danych – diagramy związków encji
Eksploatacja zasobów informatycznych przedsiębiorstwa.
Model warstwowy ISO-OSI
Zarządzanie projektami
© Kazimierz Duzinkiewicz, dr hab. inż. Katedra Inżynierii Systemów Sterowania Modelowanie i podstawy identyfikacji 2015/2016 Modele neuronowe – podstawy,
Studia Podyplomowe IT w Biznesie Analiza dynamiczna w UML
Metody Badań Operacyjnych Michał Suchanek Katedra Ekonomiki i Funkcjonowania Przedsiębiorstw Transportowych.
Zagadnienia transportowe Katedra Ekonomiki i Funkcjonowania Przedsiębiorstw Transportowych.
Inżynieria systemów informacyjnych
Pojęcia podstawowe Algebra Boole’a … Tadeusz Łuba ZCB 1.
Elementy analizy sieciowej
Zarządzanie projektami informatycznymi
Projektowanie wspomagane komputerem
IV Konferencja Naukowo-Techniczna "Nowoczesne technologie w projektowaniu, budowie.
Podstawy Automatyki Człowiek- najlepsza inwestycja
POJĘCIE ALGORYTMU Wstęp do informatyki Pojęcie algorytmu
Zapis prezentacji:

Formalizacja i uwiarygodnianie Iteracyjny proces syntezy modeli na podstawie artykułu Jörga Desela „Formalization and Validation. An Iterative Process in Model Synthesis”

Plan prezentacji Wstęp i postawienie problemu Uwiarygodnianie modelu Rozwój systemu w oparciu o model Sposób modelowania Uwiarygodnianie wymagań Sieci Petriego Semantyka sekwencyjna i semantyka zależności Sieci procesów Lemat Przykładowy przebieg Rozszerzenia, doświadczenia, wnioski VIPtool

Postawienie problemu Chcemy uzyskać formalny model systemu kontrolowanego automatycznie na podstawie nieformalnego opisu części systemu mającej podlegać kontroli oraz wymagań dotyczących funkcjonowania całości Rozwój systemów komputerowych działających w określonym środowisku technicznym w oparciu o modele Specyfikacja wymagań dotyczących systemu Formalna specyfikacja Specyfikacja oparta o model

Uwiarygodnianie modelu (ang. model validation) Proces uwiarygodniania jest zwykle powiązany z samymi systemami Uwiarygodnianie – „Czy zbudowaliśmy właściwy system?” Weryfikacja – „Czy zbudowaliśmy system właściwie?” Ewaluacja – „Czy system jest użyteczny? Czy system spełni oczekiwania docelowych użytkowników?” system = model

Rozwój systemu w oparciu o model analiza i projektowanie świat rzeczywisty kodowanie system model abstrahuje od nieistotnych szczegółów abstrahuje od szczegółów implementacyjnych

Formalizacja i specyfikacja model świata rzeczywistego świat rzeczywisty świat rzeczywisty specyfikacja specyfikacja wymagań specyfikacja projektowa implementacja systemu wymagania systemu formalizacja specyfikacja formalizacja

Uwiarygodnianie, weryfikacja i ewaluacja model świata rzeczywistego świat rzeczywisty świat rzeczywisty weryfikacja specyfikacja wymagań specyfikacja projektowa implementacja systemu wymagania systemu uwiarygodnianie weryfikacja uwiarygodnianie

Sposób modelowania Modelowanie jest procesem kreatywnym. Założenia: dynamiczne zachowanie procesów, ekspert. Kolejne kroki formalizacji: model istniejącego środowiska uwiarygodnianie modelu środowiska poprzez symulację iteracyjna formalizacja i uwiarygodnianie kolejnych wymagań tworzonego systemu

Uwiarygodnianie wymagań wymaganie 1 model 1 symulacja zachowanie modelu 1 zachowanie z wymaganiem 1 filtr

Uwiarygodnianie wymagań wymaganie 1 model 1 wdrożenie model 2 wymaganie 2 symulacja zachowanie z wymaganiem 2 zachowanie modelu 2 filtr

Sieci Petriego

Sieci Petriego

Przykładowa sieć Petriego podgrzej wydaj włóż żeton odrzuć żeton akceptuj żeton ciepły zimny gotowy licznik włożony zaakceptowany

Opis zachowania sieci Petriego Dwie różne techniki opisu zachowania sieci Petriego. Przebieg może być opisany przez ciąg nazw przejść sieci (reprezentujący następujące po sobie zdarzenia) lub przez przyczynowy uporządkowany zbiór zdarzeń. Pierwsza technika opisywana przez ciągi wystąpień (ang. occurrence sequences) jest oparta o semantykę sekwencyjną sieci Petriego (ang. sequential semantics). Druga używa sieci procesów (ang. process nets) reprezentujących przyczynowe przebiegi (c-przebiegi, ang. causal runs) i jest oparta o semantykę zależności sieci Petriego (ang. causal semantics).

Semantyka sekwencyjna Jedną z głównych zalet jest prostota. Każdy z ciągów wystąpień może być postrzegany jako sekwencja stanów systemu i transformacji prowadząca od jednego stanu do innego. Formalnie stany nie występują w ciągu wystąpień (mamy jedynie nazwy przejść) Przykładowy ciąg wystąpień: włóż żeton, akceptuj żeton, podgrzej, wydaj, włóż żeton, akceptuj żeton, podgrzej, wydaj prowadzi do stanu różniącego się od wyjściowego jedynie liczbą żetonów w liczniku.

Semantyka zależności Jedną z głównych zalet jest wyraźna reprezentacja przyczynowej zależności zdarzeń. Zdarzenia zależne połączone są ścieżką w sieci procesów. Zdarzenia współbieżne nie mają połączenia.

Sieci procesów

Sieci procesów

Sieci procesów Warunek c reprezentuje pojawienie się pionka na miejscu α(c). Zdarzenie e reprezentuje wystąpienie przejścia β(c). W przebiegu, każdy pionek jest produkowany (pochłaniany) przez co najwyżej jedno wystąpienie przejścia. W związku z tym warunki w sieci procesów mają co najwyżej jedno wejście i jedno wyjście. Pre- i post-zbiory zdarzeń są zachowywane. W początkowym stanie tylko elementy minimalne zawierają pionki. Początkowy stan odpowiada początkowej konfiguracji.

Przykładowe sieci procesów gotowy ciepły włożony licznik zaakceptowany włóż żeton akceptuj wydaj podgrzej zimny zimny zimny gotowy ciepły zimny włożony licznik zaakceptowany włóż żeton akceptuj wydaj podgrzej

Lemat

Lemat

Przykładowy przebieg włóż żeton ciepły gotowy włożony licznik podgrzej wydaj odrzuć żeton zimny zaakceptowany akceptuj żeton akceptuj żeton akceptuj żeton licznik licznik wydaj wydaj gotowy włóż żeton włożony zaakceptowany gotowy włóż żeton włożony zaakceptowany gotowy ciepły ciepły ciepły zimny podgrzej zimny podgrzej zimny

Przykładowy przebieg włóż żeton ciepły gotowy włożony licznik podgrzej wydaj odrzuć żeton zimny zaakceptowany akceptuj żeton akceptuj żeton akceptuj żeton licznik licznik wydaj wydaj gotowy włóż żeton włożony zaakceptowany gotowy włóż żeton włożony zaakceptowany gotowy ciepły ciepły ciepły zimny podgrzej zimny podgrzej zimny

Przykładowy przebieg włóż żeton ciepły gotowy włożony licznik podgrzej wydaj odrzuć żeton zimny zaakceptowany akceptuj żeton akceptuj żeton akceptuj żeton licznik licznik wydaj wydaj gotowy włóż żeton włożony zaakceptowany gotowy włóż żeton włożony zaakceptowany gotowy ciepły ciepły ciepły zimny podgrzej zimny podgrzej zimny

Przykładowy przebieg włóż żeton ciepły gotowy włożony licznik podgrzej wydaj odrzuć żeton zimny zaakceptowany akceptuj żeton akceptuj żeton akceptuj żeton licznik licznik wydaj wydaj gotowy włóż żeton włożony zaakceptowany gotowy włóż żeton włożony zaakceptowany gotowy ciepły ciepły ciepły zimny podgrzej zimny podgrzej zimny

Przykładowy przebieg włóż żeton ciepły gotowy włożony licznik podgrzej wydaj odrzuć żeton zimny zaakceptowany akceptuj żeton akceptuj żeton akceptuj żeton licznik licznik wydaj wydaj gotowy włóż żeton włożony zaakceptowany gotowy włóż żeton włożony zaakceptowany gotowy ciepły ciepły ciepły zimny podgrzej zimny podgrzej zimny

Przykładowy przebieg włóż żeton ciepły gotowy włożony licznik podgrzej wydaj odrzuć żeton zimny zaakceptowany akceptuj żeton akceptuj żeton akceptuj żeton licznik licznik wydaj wydaj gotowy włóż żeton włożony zaakceptowany gotowy włóż żeton włożony zaakceptowany gotowy ciepły ciepły ciepły zimny podgrzej zimny podgrzej zimny

Przykładowy przebieg włóż żeton ciepły gotowy włożony licznik podgrzej wydaj odrzuć żeton zimny zaakceptowany akceptuj żeton akceptuj żeton akceptuj żeton licznik licznik wydaj wydaj gotowy włóż żeton włożony zaakceptowany gotowy włóż żeton włożony zaakceptowany gotowy ciepły ciepły ciepły zimny podgrzej zimny podgrzej zimny

Przykładowy przebieg włóż żeton ciepły gotowy włożony licznik podgrzej wydaj odrzuć żeton zimny zaakceptowany akceptuj żeton akceptuj żeton akceptuj żeton licznik licznik wydaj wydaj gotowy włóż żeton włożony zaakceptowany gotowy włóż żeton włożony zaakceptowany gotowy ciepły ciepły ciepły zimny podgrzej zimny podgrzej zimny

Przykładowy przebieg włóż żeton ciepły gotowy włożony licznik podgrzej wydaj odrzuć żeton zimny zaakceptowany akceptuj żeton akceptuj żeton akceptuj żeton licznik licznik wydaj wydaj gotowy włóż żeton włożony zaakceptowany gotowy włóż żeton włożony zaakceptowany gotowy ciepły ciepły ciepły zimny podgrzej zimny podgrzej zimny

Symulacja poprzez konstruowanie przebiegów Przez symulację rozumiemy generowanie przebiegów modelu. Uwiarygodnianie przez symulację wymaga kontrolowania całego procesu przez eksperta w danej dziedzinie. Graficzna reprezentacja przebiegów. Takie aspekty zachowania systemu jak przepływ sterowania, przepływ dóbr, możliwe współbieżne zachowania, itp. są widoczne w sieci procesów a zatracone w ciągach wystąpień. Liczba ciągów wystąpień odpowiadająca pojedynczej sieci procesów rośnie bardzo szybko wraz ze wzrostem możliwych współbieżnych zachowań systemu.

Cele i fakty Cel (ang. goal) – wystąpienie określonej sytuacji. Fakt (ang. fact) – własność zachodząca dla wszystkich osiągalnych stanów systemu. Opracowane są algorytmy, które w oparciu o sieci procesów badają czy określone cele mogą zostać osiągnięte lub czy fakty dotyczące projektowanego systemu są zawsze spełnione.

Rozszerzenia, doświadczenia, wnioski użycie kolorowanych sieci Petriego (ang. Colored Petri Nets) sygnały modularyzacja VIPtool (http://www.informatik.ku-eichstaett.de/projekte/vip/) Projekt dla Audi AG – zastosowanie przedstawionych metod w praktyce.