⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bookingnet2.java

📁 Rakiura JFern是一个非常轻型的带有模拟器的Petri网络框架
💻 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 + -