📄 bookingnet2.java
字号:
/* This is JFern generated file. Do not edit. *//* project page see http://sf.net/projects/jfern */package org.rakiura.cpn.example.booking;import org.rakiura.cpn.Net;import org.rakiura.cpn.Place;import org.rakiura.cpn.Transition;import org.rakiura.cpn.InputArc;import org.rakiura.cpn.OutputArc;import org.rakiura.cpn.BasicNet;import org.rakiura.cpn.Multiset;import org.rakiura.cpn.FusionPlace;import org.rakiura.cpn.Marking;/** Net source file. */public class BookingNet2 extends BasicNet { private BrokerTool broker = new BrokerTool("example/services.props"); public String banner = "Second version of the booking net. Input Arc guards."; /* Places declaration. */ private Place _place_p001 = new Place("p001"); private Place _place_p002 = new Place("p002"); private Place _place_p003 = new Place("p003"); private Place _place_p004 = new Place("p004"); /* Transitions declaration. */ private Transition _transition_request = new Transition("request"); private Transition _transition_book = new Transition("book"); private Transition _transition_available = new Transition("available"); private Transition _transition_notavailable = new Transition("notavailable"); private Transition _transition_resign = new Transition("resign"); /* Input Arcs declaration. */ private InputArc _arc_a008 = new InputArc(_place_p004, _transition_resign); private InputArc _arc_a006 = new InputArc(_place_p003, _transition_book); private InputArc _arc_a004 = new InputArc(_place_p002, _transition_notavailable); private InputArc _arc_a003 = new InputArc(_place_p002, _transition_available); private InputArc _arc_a001 = new InputArc(_place_p001, _transition_request); /* Output Arcs declaration. */ private OutputArc _arc_a007 = new OutputArc(_transition_notavailable, _place_p004); private OutputArc _arc_a005 = new OutputArc(_transition_available, _place_p003); private OutputArc _arc_a002 = new OutputArc(_transition_request, _place_p002); /* The default BookingNet2 constructor. */ public BookingNet2() { add(_place_p001); add(_place_p002); add(_place_p003); add(_place_p004); add(_transition_request); add(_transition_book); add(_transition_available); add(_transition_notavailable); add(_transition_resign); /* Transition actions. */ _transition_request.setAction(_transition_request.new Action() { public void execute() { Multiset multiset = getMultiset(); Object t = multiset.getAny(); System.out.println("[client] request for availability of " + t.toString()); } }); _transition_book.setAction(_transition_book.new Action() { public void execute() { System.out.println("[client] booking the service"); } }); _transition_available.setAction(_transition_available.new Action() { public void execute() { System.out.println("[broker] service IS available"); } }); _transition_notavailable.setAction(_transition_notavailable.new Action() { public void execute() { System.out.println("[broker] service IS NOT available "); } }); _transition_resign.setAction(_transition_resign.new Action() { public void execute() { System.out.println("[client] resigning from booking, giving up."); } }); /* Transition guards. */ /* Input Arcs guards. */ _arc_a004.setGuard(_arc_a004.new Guard() { public boolean evaluate() { final Multiset multiset = getMultiset(); if(multiset.size() == 0) return false; String service = (String) get("y");System.out.println("[NOT available] checking if we have " + service + " ...." + broker.isAvailable(service)); return !broker.isAvailable(service); } }); _arc_a003.setGuard(_arc_a003.new Guard() { public boolean evaluate() { final Multiset multiset = getMultiset(); if (multiset.size() == 0) return false; String service = (String) get("x");System.out.println("[available] checking if we have " + service + " ...." + broker.isAvailable(service)); return broker.isAvailable(service); } }); /* Input Arcs expressions. */ _arc_a008.setExpression(_arc_a008.new Expression() { public void evaluate() { var(1); } }); _arc_a006.setExpression(_arc_a006.new Expression() { public void evaluate() { var(1); } }); _arc_a004.setExpression(_arc_a004.new Expression() { public void evaluate() { var("y"); } }); _arc_a003.setExpression(_arc_a003.new Expression() { public void evaluate() { var("x"); } }); _arc_a001.setExpression(_arc_a001.new Expression() { public void evaluate() { var(1); } }); /* Output Arcs expressions. */ _arc_a007.setExpression(_arc_a007.new Expression() { public Multiset evaluate() { return new Multiset(getMultiset().getAny()); } }); _arc_a005.setExpression(_arc_a005.new Expression() { public Multiset evaluate() { return new Multiset(getMultiset().getAny()); } }); _arc_a002.setExpression(_arc_a002.new Expression() { public Multiset evaluate() { return new Multiset(getMultiset().getAny()); } }); /* Place Node Names */ /* Transition Node Names */ }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -