Petrinet

Uit Wikipedia, de vrije encyclopedie
Ga naar: navigatie, zoeken
Een incorrecte oplossing voor het filosofenprobleem.

Petrinetten of P/T-netten zijn een wiskundige modelleertaal die in de informatica wordt gebruikt om gedistribueerde of anderszins parallelle processen te modelleren. Petrinetten zijn grafen die meestal als diagram worden getekend; ze zijn te beschouwen als een alternatief voor activiteitendiagrammen.

Ze zijn voor het eerst beschreven in het proefschrift van Carl Adam Petri (1962).

Toestandsdiagrammen en stroomdiagrammen (die geen parallelliteit ondersteunen) kunnen als beperkte vormen van Petrinetten worden opgevat.

Een Petrinet bestaat uit plaatsen en transities verbonden met pijlen, en in elke plaats 0 of meer tokens (het Nederlandse woord daarvoor, fiche wordt niet gebruikt). Plaatsen worden meestal getekend als cirkels, transities als balkjes of vierkanten, tokens als de ogen van een dobbelsteen. Pijlen verbinden plaatsen en transities, nooit plaatsen met plaatsen of transities met transities.

Een transitie stelt een mogelijke toestandsovergang voor; de plaatsen geven toestanden of voorzieningen aan die voor de uitvoering van transities nodig kunnen zijn of door de uitvoering kunnen worden vervuld / vrijgegeven. De pijlen geven aan welke plaatsen pre- dan wel postcondities voor welke transities zijn. De plaatsen waar een transitie inkomende pijlen uit heeft worden de invoerplaatsen van de transitie genoemd; de uitvoerplaatsen zijn de plaatsen waar pijlen heenlopen vanuit de transitie.

De toestand van het Petrinet is een markering, die aan elke plaats een niet-negatief getal toekent, voorstellende het aantal beschikbare exemplaren van de desbetreffende voorziening. In het diagram wordt dat getekend door het desbetreffende aantal puntjes (tokens) in de plaats te tekenen. Het optreden van een transitie wordt vuren genoemd; het is alleen mogelijk als in elk van de invoerplaatsen van de transitie tenminste een token ligt, en heeft als effect dat uit elk van die plaatsen een token verdwijnt (wordt geconsumeerd), terwijl op elk van de uitvoerplaatsen een token wordt toegevoegd (geproduceerd). De uitvoering van een Petrinet wordt ook wel het token game genoemd.

Is er nooit meer dan een token in een plaats, dan kan die plaats opgevat worden als een voorwaarde die al dan niet vervuld is. Geldt dit voor alle plaatsen, dan wordt het Petrinet veilig genoemd.