MASZYNA STANOWA. Maciej Patan. Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski. Techniki modelowania programowania.

Podobne dokumenty
Podstawy Automatyki. Wykład 13 - Wprowadzenie do układów sekwencyjnych. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Podstawy Automatyki. Wykład 15 - Projektowanie układów asynchronicznych o programach liniowych. dr inż. Jakub Możaryn. Instytut Automatyki i Robotyki

Podstawy Automatyki. Człowiek- najlepsza inwestycja. Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Asynchroniczne statyczne układy sekwencyjne

Podstawy Automatyki. Wykład 15 - Projektowanie układów asynchronicznych o programach liniowych. dr inż. Jakub Możaryn. Instytut Automatyki i Robotyki

Język UML w modelowaniu systemów informatycznych

Automat skończony FSM Finite State Machine

Technika Cyfrowa 1 wykład 12: sekwencyjne układy przełączające

Technika Cyfrowa 1 wykład 11: liczniki sekwencyjne układy przełączające

Sterowniki Programowalne (SP)

Wstęp do Techniki Cyfrowej... Synchroniczne układy sekwencyjne

Literatura. adów w cyfrowych. Projektowanie układ. Technika cyfrowa. Technika cyfrowa. Bramki logiczne i przerzutniki.

Laboratorium przedmiotu Technika Cyfrowa

UKŁADY MIKROPROGRAMOWALNE

UML cz. III. UML cz. III 1/36

Plan wykładu. Architektura systemów komputerowych. Cezary Bolek

Sławomir Kulesza. Projektowanie automatów synchronicznych

Część 3. Układy sekwencyjne. Układy sekwencyjne i układy iteracyjne - grafy stanów TCiM Wydział EAIiIB Katedra EiASPE 1

Grupy pytań na egzamin inżynierski na kierunku Informatyka

Wstęp do Techniki Cyfrowej... Teoria automatów i układy sekwencyjne

TECHNOLOGIE OBIEKTOWE. Wykład 3

JĘZYKI PROGRAMOWANIA STEROWNIKÓW

SWB - Projektowanie synchronicznych układów sekwencyjnych - wykład 5 asz 1. Układy kombinacyjne i sekwencyjne - przypomnienie

Modelowanie. Wykład 1: Wprowadzenie do Modelowania i języka UML. Anna Kulig

Projekt prostego układu sekwencyjnego Ćwiczenia Audytoryjne Podstawy Automatyki i Automatyzacji

Spis treści. Przedmowa Wykaz oznaczeń Wstęp Układy kombinacyjne... 18

Tutorial prowadzi przez kolejne etapy tworzenia projektu począwszy od zdefiniowania przypadków użycia, a skończywszy na konfiguracji i uruchomieniu.

Systemy Czasu Rzeczywistego (SCR)

Diagramy stanów tworzenie modeli analizy i projektowania Na podstawie UML 2.0 Tutorial

Znaleziony - jeżeli nadawca nie jest znany w obrębie danego fragmentu Utracony - jeżeli odbiorca komunikatu nie jest znany w obrębie danego fragmentu

Podstawy Automatyki. Wykład 8 - Wprowadzenie do automatyki procesów dyskretnych. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Lista tematów na kolokwium z wykładu z Techniki Cyfrowej w roku ak. 2013/2014

Diagramy maszyn stanowych, wzorce projektowe Wykład 5 część 1

Projektowanie systemów informacyjnych

Podstawowe moduły układów cyfrowych układy sekwencyjne cz.2 Projektowanie automatów. Rafał Walkowiak Wersja /2015

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

Systemy Czasu Rzeczywistego. dr inż. Piotr Szwed C3, pok

Proste układy sekwencyjne

Spis treúci. 1. Wprowadzenie... 13

Podstawy Automatyki. Wykład 8 - Wprowadzenie do automatyki procesów dyskretnych. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Diagramy maszyn stanowych, wzorce projektowe Wykład 5 część 1

Elementy oprogramowania sterowników. Instrukcje podstawowe, funkcje logiczne, układy czasowe i liczenia, znaczniki

Architektura komputerów Wykład 2

Michał Adamczyk. Język UML

Wykład nr 3 Techniki Mikroprocesorowe. dr inż. Artur Cichowski

Projektowanie Scalonych Systemów Wbudowanych VERILOG

Projektowanie. Projektowanie mikroprocesorów

Opracował: Jan Front

TECHNOLOGIE OBIEKTOWE WYKŁAD 2. Anna Mroczek

Układy sekwencyjne. 1. Czas trwania: 6h

Sławomir Kulesza. Projektowanie automatów asynchronicznych

Logika Temporalna i Automaty Czasowe

Funkcje: wejściowe, wyjściowe i logiczne. Konfigurowanie zabezpieczeń.

KARTA PRZEDMIOTU. 1) Nazwa przedmiotu: INŻYNIERIA SYSTEMÓW I ANALIZA SYSTEMOWA. 2) Kod przedmiotu: ROZ-L3-20

Funkcje: wejściowe, wyjściowe i logiczne. Konfigurowanie zabezpieczeń.

LABORATORIUM TECHNIKA CYFROWA LICZNIKI I REJESTRY. Rev.1.1

KATEDRA INFORMATYKI TECHNICZNEJ. Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych. ćwiczenie 204

WPROWADZENIE DO UML-a

Podstawowe elementy układów cyfrowych układy sekwencyjne Rafał Walkowiak Wersja

PROGRAMOWALNE STEROWNIKI LOGICZNE

Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie LABORATORIUM Teoria Automatów. Grupa ćwiczeniowa: Poniedziałek 8.

Język UML w modelowaniu systemów informatycznych

miejsca przejścia, łuki i żetony

Funkcje: wejściowe, wyjściowe i logiczne. Konfigurowanie zabezpieczeń.

Podstawy programowania III WYKŁAD 4

Zalety projektowania obiektowego

Wykład I. Podstawowe pojęcia. Studia Podyplomowe INFORMATYKA Architektura komputerów

Rozszerzenia sieci Petriego

Ochrona własności intelektualnej projektów w układach FPGA poprzez szyfrowanie danych konfiguracyjnych

Inżynieria oprogramowania Jarosław Kuchta. Modelowanie interakcji

Rozszerzenia sieci Petriego

Projekt z przedmiotu Systemy akwizycji i przesyłania informacji. Temat pracy: Licznik binarny zliczający do 10.

Wymiar poziomy: oś na której umieszczono instancje klasyfikatorów biorące udział w interakcji.

Sieci Petriego. Sieć Petriego

Modułowy programowalny przekaźnik czasowy firmy Aniro.

koniec punkt zatrzymania przepływów sterowania na diagramie czynności

Cyfrowe układy scalone c.d. funkcje

Podstawy Automatyki. Człowiek- najlepsza inwestycja. Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Zagadnienia egzaminacyjne INFORMATYKA. Stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: TECHNIKA CYFROWA 2 TZ1A

Synteza strukturalna automatów Moore'a i Mealy

Układy kombinacyjne - przypomnienie

System sygnalizacji centralnej

Opis. Liczba godzin zajęć dydaktycznych z

Podstawy modelowania programów Kod przedmiotu

UKŁADY CYFROWE. Układ kombinacyjny

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

Zagadnienia egzaminacyjne INFORMATYKA. stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

dwójkę liczącą Licznikiem Podział liczników:

Funkcje: wejściowe, wyjściowe i logiczne. Konfigurowanie zabezpieczeń.

Modelowanie i analiza systemów informatycznych

Historia modeli programowania

Programowalne układy logiczne

ECTS - program studiów kierunku Automatyka i robotyka, Studia I stopnia, rok akademicki 2015/2016

Podstawowe elementy układów cyfrowych układy sekwencyjne. Rafał Walkowiak

Systemy Sterowania i Wspomagania Decyzji Wykład 2

Język opisu sprzętu VHDL

NIFIED M L ODELLING ANGUAGE. Diagramy czynności

Spis treści 1. Wstęp 2. Projektowanie systemów informatycznych

Diagram maszyny stanowej - POJĘCIA

Transkrypt:

MASZYNA STANOWA Maciej Patan Motywacje Modelowanie stanów: Wyspecjalizowany typ modelowania behawioralnego, przeznaczony do projektowania cyklu życia elementów. Stan jako określona kondycja lub sytuacja elementu służy opisowi etapów jego cyklu życia(tworzenie, zawarta informacja, przetwarzanie, komunikacja, itd.), stosowane w połączeniu z modelami kolaboracji i interakcji, zapewnienie precyzji opisu i definiowania logiki działania elementów. 1

Podstawy Automat jest maszyną abstrakcyjną(komputerem abstrakcyjnym), którego zachowanie na wyjściu jest nie tylko bezpośrednią konsekwencją aktualnego stanu wejść, ale także ich przeszłości. Jest charakteryzowany przez zestaw stanów wewnętrznych reprezentujących historię działania elementu od startu systemu do teraźniejszości. Skończona maszyna stanowa jest typem automatu zdefiniowanym przez krotkę 6 elementową(s,σ,λ,t,g,s)złożonąze: skończonego zbioru stanów S, skończonego zbioru sygnałów wejściowych(tzw. alfabet wejściowy) Σ, skończonego zbioru sygnałów wyjściowych(tzw. alfabet wyjściowy) Λ, funkcjiprzejściat:s Σ S, funkcjiwyjściowejg:s Σ Λ stanupoczątkowegos S. 2 Tranzycja wskazuje zmianę stanu i jest opisana warunkiem, który musi być spełniony, celem uaktywnienia tranzycji. Akcja(Zdarzenie) jest opisem aktywności wykonywanej w danej chwili. Typy maszyn stanowych(ms) Akceptory/Klasyfikatory(mogą tylko akceptować/rozpoznawać swoje wejścia lubnie). deterministyczna MS(1 wejście/1 tranzycja), niedeterministyczna MS(1 wejście/wiele tranzycji), dwustronna MS. Przetworniki(generują wyjście na podstawie sygnału wejściowego) automat Mealy ego(wyjścia zależą od aktualnego stanu wejść i stanów wewnętrznych), automat Moore a(wyjścia zależą tylko od stanów wewnętrznych). 3

Przykład 1. Skonstruować diagram stanów dla maszyny realizującej opóźnienie o jedną próbkę w ciągu binarnym, gdzie pierwszy element ciągu wyjściowego powinienbyćzainicjowanyzerem(tzn.dlaciąguwejściowegox 0 x 1 x 2...x n wygenerujeciąg0x 0 x 1 x 2...x n 1 ). X k 1 X k Y - 0 0-1 0 0 0 0 0 1 0 1 0 1 1 1 1 Automat Mealy ego 1/1 0/0 0/1 S 1 S 2 1/0 1/0 0/0 S 0 S 0 stanpoczątkowy Automat Moore a 1 0 S 1 0 1 1 0 S 0 0 S 2 1 0 4 Zachowanie pobudzane zdarzeniem(ang. event-driven) Zdarzenie typ obserwowalnego wystąpienia bodźca interakcje synchroniczne wywołania operacji, asynchroniczne przyjęcie sygnału, zdarzenia czasowe upływ interwału czasu, zegar systemowy/kalendarz itp. zmiana wartości pewnej wielkości(np. zmiennej lub wejścia) Instancja typu zdarzenia czyli jego konkretny casus nie jest rozciągnięta w czasie! 5

Przeznaczenie maszyn stanowych odpowiednie do opisu dyskretnych systemów zdarzeniowych, nieodpowiednie do modelowania zmian ciągłych, próg czas można modelować wszystko co manifestuje się zachowaniem pobudzanym przez zdarzenia(zachowanie poszczególnych obiektów, interakcje między obiektami), 6 Zastosowania sprzętowe Sprzętowo MS mogą być realizowane przez układy programowalne, bramki, przerzutniki lub przekaźniki. 7

Bezpośrednie zastosowania w oprogramowaniu Zdarzeniowe(ang. event-driven) maszyny stanowe parsery(analiza składni), kompilatory, itd. Wirtualne maszyny stanowe symulatory sieci przepływowych, automatów komórkowych, sieci Petriego itd. Maszyny stanowe a UML semantyka dynamicznych maszyn stanowych UML-a jest głównie nastawiona na przypadek obiektów aktywnych, notacja UML-a łączy we wspólny opis wiele różnych typów MS(automat Mealy ego, Moore a i inne) skończone MS w UML-u zawierają elementy różnych modeli matematycznych tj. diagramy przepływowe, sieci Petriego itd. 8 zdarzenie Podstawowe elementy pseudostan pocz¹tkowy W³¹cz PC tranzycja pseudostan koñcowy Wy³¹cz PC W³¹czanie Wy³¹czanie stan prosty Zdarzenie = wyzwalacz przejścia. Pełny opis tranzycji: opis zdarzenia {}}{ nazwa zdarzenia(lista parametrów)[dozór]/ wynik:= elem docelowy.nazwa akcji(lista argumentów) }{{} opis akcji 9

Szczegóły i akcje stanów Stany aparatu faksowego Faksowanie Data = Data systemowa Numer = W³asny numer telefoniczny Czas = Czas rozpoczêcia faksowania entry/wpisznrfaksuadresata() exit/zakoñcztransmisjê() do/dodajznacznikdata() do/czas:=dodajznacznikczasu() do/przetwarzanie() nazwa zmienne W³¹cz/rozpocznijFaksowanie() Bezczynnoœæ akcje stanów przejœcie automatyczne Data = Data systemowa Numer = W³asny numer telefoniczny Czas = Czas systemowy entry/zakoñczfaksowanie() do/data:=poka Date() do/czas:=poka Czas() 10 Typy akcji wewnętrznych entry akcja wykonywana przy wejściu elementu do stanu, exit akcja wykonywana przy wyjściu elementu ze stanu, do akcjawykonywanawsposóbciągły,gdyelementznajdujesięw danym stanie, w razie potrzeby można sprecyzować inne, np. na wystąpienie tranzycji wewnętrznych. 11

Warunki dozoru i wybór dynamiczny W³¹cz PC W³¹czanie do/start_sys() Wy³¹cz PC Wy³¹czanie [czas<=15min]/odrzuæ() wybór dynamiczny [czas>15min]/oszczêdzaj() timer/czas:=pobierz_czas() klaw lub mysz Oszczêdzanie monitora timer [czas>2h]/off 12 Stany złożone(1) Podstany sekwencyjne czas = czas_bezczynnoœci do/pobierz_czas() Oczekiwanie na Rejestrowanie Dzia³ania Wizualizacja Dzia³ania 13

Współbieżność i ortogonalność stan "p³ytkiego" wznowienia Stany złożone(2) H Przetwarzanie pierwszoplanowe Oczekiwanie na Rejestrowanie Dzia³ania Wizualizacja Dzia³ania Przetwarzanie w tle timer Œledzenie zegara systemowego [czas min¹³] Uaktualnienie obrazu klaw lub mysz 14 Podsumowanie MS są bardzo potężnym sposobem opisu i implementacji logiki sterującej aplikacji. Bardzo zwarta forma reprezentacji(sporo informacji o zachowaniu w stosunkowo małym diagramie). Podlegają prostym regułom i są łatwe do weryfikacji. Umożliwiają generację kodu. Szeroki zakres zastosowań, np. protokoły komunikacji, sterowanie interakcjami GUI, etc. 15