Datamodellering en –verwerking 8C020 college 7
Terugblik college 6 SQL oefeningen Procesmodelleren Transitie Systemen Klassieke Petri-netten Inleiding Definitie (structuur) Gedrag Voorbeelden
Onderwerpen college 7 Klassike Petri-netten Formele definitie gedrag Voorbeelden Modelleren Modelleren van biologische netwerken
Kanalen en processoren (voorbeeld Lift) kanaal p34 p43 processor k3 p23 p32 k2 token p12 k1 p21 p01 p10 k0
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
Gedrag van een Petri-net (formele beschrijving) Het gedrag van een Petri-net wordt formeel bepaald met behulp van een transitiesysteem Gegeven een Petri-net PN = (K,P,I,O) gaan we de corresponderende transitiesysteem TS = (S,S0,T) construeren Markering Een functie m: K ® N De toestanden van TS zijn markeringen S = {m | m is een markering van PN} De transitie relatie T S X S is gedefinieerd als volgt: Transitie (m,m’) is in T alleen en alleen als: er bestaat een processor p in P zodanig dat voor alle k in K: m’(k)=m(k) + I(k,p) + O(p,k)
Gedrag van een Petri-net (formele beschrijving)(2) Markering m is bereikbaar van markering m0 alleen en allen als er bestaat een rij transities in T: (m0,m1)(m1,m2)…(mn,m) m0 wordt omgezet naar m Gebruikelijk werken we met de verzameling van toestanden Sr die bereikbaar zijn van een initiële toestand: Sr = {m | m is bereikbaar van m0 en m0 is in S0} Transitie relatie wordt beperkt tot de bereikbare toestanden Tr = T Ç Sr X Sr We krijgen een nieuwe transitiesysteem (Sr , S0, Tr)
Non-determinisme Wanneer meerdere processoren op hetzelfde moment enabled zijn, is niet bepaald welke van deze processoren zal vuren In principe blijven processoren vuren tot er geen enkele processor meer enabled is: dan is een eindtoestand bereikt Echte parallelisme en interleaving
Voorbeeld (Specialist-Patient) vrij docu einde begin wissel wacht klaar bezig begin wissel binnen
Voorbeeld: Specialist-Patient vrij docu einde wacht klaar begin wissel bezig binnen
Voorbeeld: Verkeerstoplichten oranje rood groen rg go or rg groen go rood oranje or
Modelleren Er zijn vele manieren om hetzelfde systeem te modelleren p34 p23 p12 p01 p43 p32 p21 p10 k4 k3 k2 k1 k0 onder omhoog omlaag boven
Modelleren Er zijn vele systemen die op dezelfde manier gemodelleerd kunnen worden bergt_het_document_op zoekt_document onderneemt_actie leest_document winter zomer herfst lente regen damp plas wolk p1 p4 p2 p3
Kwaliteit van een model Tijdens het modelleren laten we bepaalde aspecten weg Abstractie De kwaliteit van een model hangt af van de eenvoud, de omvang en de begrijpelijkheid Een model is van hoge kwaliteit als het goed past bij het systeem en het doel waarvoor het model gebruikt wordt De keuze voor een model is vaak subjectief De kwaliteit van een model moeilijk te meten
Rol van een token Een token heeft vaak de volgende rollen: fysiek object (bijv.product, onderdeel, medicament, persoon) informatieobject (bericht, signaal, rapport) verzameling van objecten (vrachtwagen met producten, magazijn met onderdelen) indicator van een toestand (indicator van toestand van een proces of van een object) indicator van conditie (is een bepaalde conditie voldaan)
Voorbeeld vrij docu einde wacht klaar begin wissel bezig binnen
Rol van een kanaal Een kanaal wordt vaak gebruikt voor het modelleren van een: medium (bijv. telefoonlijn, tussenpersoon, communicatienetwerk,distributiekanaal) buffer (opslagplaats, wachtrij, postbakje) geografische locatie (bepaalde plaats in magazijn, kantoor of zikenhuis) mogelijke toestand (jaartijdje) mogelijke conditie (vrij zijn van specialist)
Voorbeeld vrij docu einde wacht klaar begin wissel bezig binnen
Rol van een processor Een processor wordt vaak gebruikt voor het modelleren van een: gebeurtenis (bijv. starten van bewerking, seizoensovergang) transformatie (bewerken van product, operatie op patient, aanpassen van gegevensbank) transport (verplaatsen van producten of verzenden van dossier)
Voorbeeld vrij docu einde wacht klaar begin wissel bezig binnen
Vuistregel Gebeurtenissen stellen we voor door middel van processoren Toestanden stellen we voor door middel van kanalen en tokens
Typische netwerkstrukturen Nuttig om de typische “bouwelementen” te bekijken Typische vragen over gebeurtenissen x, y, z y na x plaatsvindt x en y tegelijkertijd plaats kunnen vinden z na x en y plaatsvindt nadat x heeft plaatsgevonden, y of z plaats zal vinden etc.
Causaliteit leeg gedrukt In_bewerking start stop a x b y c
Parallellisme en synchronisatie x b d y c a d b x y z e
Wederzijds uitsluiting c a b y x d z
Terugkoppeling a x y b
Voorbeeld: Ponsplaatjes in_bewerking start stop vrij leeg gedrukt
Voorbeeld: Poonsplaatjes gedrukt leeg bewerking leeg gedrukt In_bewerking start stop gedrukt In_bewerking start stop vrij bezig
Petri-netten voor Metabolse pathways Voorbeeld entry van KEGG/LENZYME ENTRY EC 1.11.1.10 NAME Chloride peroxidase CLASS Oxidoreductases Acting on a peroxide as acceptor SYSNAME Chloride: hydrogen-peroxide oxidoreductase REACTION 2 RH +2Cl- + H202 = 2 RCl + 2 H20 SUBSTRATE RH Cl- Br- I- H202 PRODUCT Rcl Rbr RI H2O COFACTOR Heme COMMENT …. STRUCTURES PDB: 1CPO 2CPO 1VNC
Pettri-netten voor Metabolse Pathways EC1.11.1.10 2Alkene 2Rcl 2Cl- H2O2 H2O2 De KEGG entry vertaald naar Petri-netten
Petri-netten voor Metabolse Pathways Transcriptional Activator P39113 PCK (EC 4.1.1.32) FBK (EC 3.1.3.11) ……….. Pyruvate PEP Fructose 6P Fructose 1-6biP Gluconeogenesis
Petri-netten als Genetische (Regulatie) Netwerken Activatie g1 g1’ g2 g2’ g1 g2 t1 t1 g1’ g2’ Inhibitie