200 likes | 353 Views
Datamodellering en –verwerking 8C020 college 6. Terugblik college 5. Normalisatie 1 ste , 2 de , 3 de normaal form Aspecten van SQL Join Subqueries Oefeningen SQL Oefeningen ER, RM, SQL. Onderwerpen college 6. Oefeningen SQL Procesmodelleren Klassieke Petri-netten
E N D
Terugblik college 5 • Normalisatie • 1ste, 2de, 3de normaal form • Aspecten van SQL • Join • Subqueries • Oefeningen SQL • Oefeningen ER, RM, SQL
Onderwerpen college 6 • Oefeningen SQL • Procesmodelleren • Klassieke Petri-netten • Gedrag van een Petri-net • Voorbeelden
Procesmodelleren • Processgericht benadering • richt zich op de dynamiek van een systeem • We beschouwen discrete dynamische systemen • Voorbeeld: • Lift • Gaat stapsgewijs van de ene naar de andere verdieping • Discrete toestandsovergangen • De lift blijft niet in een toestand maar springt van de ene naar de andere toestand • Dynamisch systeem
Toestanden en transities • Toestand van de lift • Die kunnen we weergeven als een getal • de verdieping waar de lift is • Toestandsruimte • De verzameling van alle mogelijke toestanden • Voor de lift S = {0, 1, 2, 3, 4} • Transitie • Een sprong van de ene toestand naar de andere • Transitierelatie • Opsomming van alle mogelijke teostandsovergangen • T = {(0,1), (1,2), (2,3), (3,4), (4,3), (3,2), (2,1), (1,0)} • T S X S
Transitiesysteem • Transitiesysteem • Beschrijving van een discreet dynamisch systeem in termen van een toestandsruimte S en een transitierelatie T • Transitiesysteem M = (S, T) • Toestandsdiagram • Eigenlijk een graaf • Toestand – knoop • Transitie - kant • Praktisch alleen voor ”kleine” systemen
Klassiek Petri-net • Petri-netten [C.A. Petri, 1962] • Modelleringstechniek • Onder andere gebruikt voor informatiesystemen • Recentelijk ook voor biologische systemen/processen • In dit college bepreken we ons tot klassieke Petri-netten • Voor complexere informatiesystemen uitbreidingen ontwikkeld • Hoog-niveau Petri-netten
Kanalen en processoren • Een Petri-net is opgebouwd uit • Kanalen • Processoren • Verbindingen van een kanaal naar een processor • Verbindingen van een processor naar een kanaal
Kanalen en processoren (voorbeeld Lift) k4 kanaal p34 p43 processor k3 p23 p32 k2 token p12 k1 p21 p01 p10 k0
Tokens, toestanden en vuren • Kanalen kunnen tokens bevatten om aan te geven welke toestand actueel is • De toestand van een Petri-net wordt bepaald door het aantal tokens dat in elk kanaal aanwezig is • De netwekstructuur van een Petri-net is vast • De verdeling van de tokens kan veranderen door vuren
Kanalen en processoren (voorbeeld Lift) k4 p34 p43 k3 p23 p32 k2 p12 k1 p21 p01 p10 k0
Vuringsregel • Inputkanalen • Kanalen die via een ingaande pijl met een processorverbonden zijn • Outputkanalen • Kanalen die via een uitgaande pijl met een processor verbonden zijn • Een processor mag alleen dan vuren als er tokens in elk van de inputkanalen liggen • Een processor die vuurt consumeert tokens van zijn inputkanalen en produceert tokens voor zijn outputkanalen
Voorbeeld binnenkomst foto_maken vertrek wacht voor na klaar
Voorbeeld vrij binnenkomst foto_maken vertrek wacht voor na klaar bezet
Multipliciteit vrij binnenkomst foto_maken vertrek wacht voor na klaar • Er mogen meerdere pijlen lopen van een kanaal naar een • processor en omgekeerd
Formele beschrijving van de structuur • De kanalen in een Petri-net kunnen we omschrijven door de verzamelingkanaalnamen K • K = {wacht, voor, na, klaar, vrij} • De processoren door de verzameling processornamen P • P = {binnenkomst, foto_maken, vertrek} • Processoren zijn actief: • de naam is vaak een werkword • Kanalen zijn passief: • de naam is vaak een zelfstandig naamwoord, bijvoegelijk naamwoord of bijwoord
Formele beschrijving van de structuur • Multipliciteit I en O • Verbinding I O • (wacht, binnenkomst) 2 • (vrij, binnenkomst) 1 • (voor, foto_maken) 2 • (na, vertrek) 2 • (binnenkomst, voor) 2 • (foto_maken, na) 2 • (vertrek, klaar) 2 • (vertrek, vrij) 1
Formele beschrijving van de structuur • K en P worden beschreven met verzamelingen • I en O kunnen worden beschreven als functies • I: K X P -> N • O: P X K -> N • Een Petri-net is een 4-tupel (K,P,I,O) met • K een eindige verzameling kanalen • P een eindige verzameling processoren • I een functie (KXP)->N voor de bepaling van de inputmultipliciteit • O een functie (PXK)-> voor de bepaling ven de outputmultipliciteit
Gedrag van een Petri-net • De toestand van ee Petri-net wordt bepaald door de verdeling van tokens over de kanalen • Toestandsovergangen zijn slechts onder bepaalde voorwaarden mogelijk • Een processor moet enabled zijn om te vuren • Een processor is enabled op het moment dat er in elk van de inputkanalen voldoende tokens aanwezig zijn • afhankelijk van de multipliciteit • Als een processor p vuurt, verwijdert p van elk van zijn inputkanalen tokens en voegt tokens toe aan zijn outputkanalen • afhankelijk van de multipliciteit
Non-determinisme • Wanneer meerdere processoren op hetzelfde moment enabled zijn, is niet bepaald welke van deze processoren zal vuren • In principe blijven processoren vurentot er geen enkele processor meer enabled is: dan is een eindtoestand bereikt