Skip to content

SimonDrlicka/PetriNet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PetriNet

Petri siete s možnosťou pridavania hran, miest a prechodov s moznostou spustania prechodov

Pridavanie miest a 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)

Pridávanie hrán

Pomocou metód addEdge(String idFrom, String idTo, int multiplicity = 1) a addResetEdge(String from, String to)

Nastavenie počiatočného značkovania

Pomocou metódy setTokens(ArrayList), tento ArrayList musí obsahovat rovnaký počet prvkov ako je počet Places PetrihoSiete

Spustanie prechodov

Pomocou metody runTransition(String id)

Vypisanie aktualneho znackovania

Pomocou metody getTokens()

Priklad

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");

    }
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages