Sei sulla pagina 1di 2

Snoopy: Editor di reti di Petri

Matteo Ceccarello - 1035945 Il tool per lediting di reti di Petri Snoopy si presenta con uninterfaccia a pannelli, tramite i quali ` e possibile selezionare gli elementi da includere nelle reti. Diversi tipi di reti sono supportati, tra i quali reti di Petri, reti di Petri estese, reti di Petri stocastiche e gra di raggiungibilit` a. Lediting della rete si svolge in una nestra separata, e il tipo di rete deve essere ecelto al momento della creazione di un nuovo le. Inne ` e supportata lanimazione della rete. Fra i vari tipi di rete disponibili, quello che ho analizzato pi` u approfonditamente ` e quello relativo alle reti di Petri estese, in quanto rendeva pi` u semplice la realizzazione delle reti richieste. Leditor consente di inserire gli elementi (posti, transizioni e i vari tipi di archi) uno alla volta sia utilizzando un apposito menu a tendina, sia attraverso luso di shortcuts, ad esempio premendo P si entra in modalit` a di inserimento posti, e ogni clic del mouse inserisce un posto, mentre T fa lo stesso con le transizioni. Grazie a queste scorciatoie da tastiera lediting ` e rapido. Tramite la pressione del tasto f5 si entra in modalit` a animazione. Cliccando sui posti si possono aggiungere o togliere marche (clic sinistro/destro), dopodich` e ` e possibile impostare la velocit` a dellanimazione e farla procedere automaticamente o uno scatto alla volta. Una delle caratteristiche migliori di questo tool ` e la possibilit` a di creare sottoreti: si pu` o creare una rete normalmente, selezionare tutti i suoi elementi e raggrupparli in un unico posto. In tal modo si possono costruire reti complesse denendo sottoreti pi` u semplici e combinandole assieme in maniera gerarchica. Inoltre i posti possono essere creati come logici: posti logici con lo stesso nome in punti diversi del grafo sono a tutti gli eetti lo stesso posto, ovvero quando uno viene marcato (per esempio per eetto dello scatto di una transizione) tutti i suoi omonimi vengono marcati. In questa maniera si possono connettere zone distanti del grafo senza usare archi che lo attraversano interamente, diminuendone la leggibilit` a. Ulteriore vantaggio ` e che ` e un programma multipiattaforma, sono disponibili infatti i binari precompilati per Fedora GNU/Linux (.rpm) Debian GNU/Linux (.deb), MacOS/X (.dmg) e Windows (.exe). Lapplicazione ` e stata testata su Fedora GNU/Linux e su MacOS/X. La versione per Linux ` e tuttavia meno stabile, e luso di alcuni menu porta al crash dellapplicazione. Uno degli svantaggi ` e la mancanza di documentazione: non esiste un manuale duso, anche se sul sito propongono degli esempi scaricabili. Inoltre il tool delle reti di Petri estese non supporta la priorit` a delle transizioni. Nel complesso si tratta di un buono strumento, con alcune cose migliorabili (documentazione e priorit` a nelle reti di petri estese).

Esempi di reti
I le con estensione *.spept sono i le da aprire con il programma Snoopy.

Mutua esclusione
I le nella cartella mutua esclusione descrivono una rete con 4 processi che accedono a ununica risorsa condivisa in mutua esclusione. Il primo pdf rappre1

senta lo stato iniziale, mentre il secondo rappresenta lutilizzo della risorsa da parte del quarto processo, con gli altri in attesa.

Allocazione globale
La cartella allocazione globale contiene i le che rappresentano il problema dei cinque loso risolto con lallocazione globale. Il primo pdf rappresenta la situazione iniziale, mentre il secondo ` e il momento in cui due loso mangiano e gli altri tre attendono pensando.

Allocazione gerarchica
I le dellallocazione gerarchica sono contenuti nella cartella allocazione gerarchica e prendono in considerazione 4 processi, come descritto nel commento incluso nel le. Il secondo pdf in particolare mostra il processo 1 che utilizza le risorse R1 e R2, mentre il processo 4 ha appena rilasciato R3 per prepararsi a riacquisirla contemporaneamente a R2, che al momento non ` e disponibile. I rimanenti processi sono in attesa nello stato iniziale.

Produttore/Consumatore
Il problema del produttore e del consumatore ` e preso in esame nell cartella produttore consumatore. Sono presenti due processi produttori e tre processi consumatori, che comunicano attraverso un buer di 4 elementi. Nel secondo pdf ` e mostrato il momento in cui i due produttori sono entrambi in fase di produzione mentre un processo consumatore sta consumando il dato prelevato dal buer e prodotto precedentemente.

Lettori/Scrittori
Il contenuto della cartella lettori scrittori rappresenta linterazione tra un processo lettore, un processo scrittore che consuma, scrivendoli, i dati prodotti da un processo produttore. Nel secondo pdf ` e rappresentato il momento in cui il lettore ` e in attesa, lo scrittore sta scrivendo mentre il produttore sta preparando il dato per la successiva scrittura.

Potrebbero piacerti anche