Petri siete s možnosťou pridavania hran, miest a prechodov s moznostou spustania prechodov
- Pridavanie miest a prechodov do siete pomocou metody addComponent. Napr. addComponent(new Place(String id)) alebo new Transition(String id)
- Pomocou metod addPlace(String id) a addTransition(String id)
Pomocou metód addEdge(String idFrom, String idTo, int multiplicity = 1) a addResetEdge(String from, String to)
Pomocou metódy setTokens(ArrayList), tento ArrayList musí obsahovat rovnaký počet prvkov ako je počet Places PetrihoSiete
Pomocou metody runTransition(String id)
Pomocou metody getTokens()
public class Main {
public static void main(String[] args) throws ComponentNotFound {
PetriNet petriNet = new PetriNet();
petriNet.addPlace("p1")
.addPlace("p2")
.addPlace("p3")
.addTransition("t0")
.addTransition("t1")
.addTransition("t2")
.addTransition("t3");
try{
petriNet.addEdge("p1", "t3")
.addEdge("t3", "p1",2)
.addEdge("p1", "t1")
.addEdge("p1", "t0")
.addEdge("t3", "p2")
.addEdge("p2", "t2")
.addEdge("t1", "p3")
.addEdge("t2", "p3")
.addEdge("p3", "t2")
.addEdge("p3", "t0")
.addResetEdge("p2", "t1");
} catch (ComponentNotFound | EdgeException exception) {
exception.printStackTrace();
}
try{
petriNet.setTokens(new ArrayList<Integer>(){{
add(1);
add(0);
add(0);
}});
}catch (PetriNetException e) {
e.printStackTrace();
}
petriNet.runTransition("t3")
.runTransition("t3")
.runTransition("t1");
System.out.println(petriNet.getTokens());
System.out.println("Hotovo");
}
}