pn_design_model_larger.mvc 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. import models/PetriNets_Design as PetriNets
  2. PetriNets pn {
  3. Place critical_section_1 {
  4. tokens = 0
  5. name = "critical_section_1"
  6. }
  7. Place critical_section_2 {
  8. tokens = 0
  9. name = "critical_section_2"
  10. }
  11. Place lock_available {
  12. tokens = 1
  13. name = "lock_available"
  14. }
  15. Transition release_section_1 {}
  16. Transition release_section_2 {}
  17. Transition acquire_section_1 {}
  18. Transition acquire_section_2 {}
  19. P2T (critical_section_1, release_section_1) {
  20. weight = 1
  21. }
  22. P2T (critical_section_2, release_section_2) {
  23. weight = 1
  24. }
  25. P2T (lock_available, acquire_section_1) {
  26. weight = 1
  27. }
  28. P2T (lock_available, acquire_section_2) {
  29. weight = 1
  30. }
  31. T2P (release_section_1, lock_available) {
  32. weight = 1
  33. }
  34. T2P (release_section_2, lock_available) {
  35. weight = 1
  36. }
  37. T2P (acquire_section_1, critical_section_1) {
  38. weight = 1
  39. }
  40. T2P (acquire_section_2, critical_section_2) {
  41. weight = 1
  42. }
  43. }
  44. export pn to models/pn