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

📄 mytree.java

📁 Petri网分析工具PIPE is open-source
💻 JAVA
字号:
/* * Created on Feb 10, 2004 * * Class used in state space and GSPN modules to generate trees and arrays of potential state spaces */package pipe.dataLayer.calculations;import pipe.dataLayer.*;/** * @author Matthew * * To change the template for this generated type comment go to * Window - Preferences - Java - Code Generation - Code and Comments */public class myTree {	public boolean Found_An_Omega = false;  // bounded	public boolean more_Than_One_Token = false;  // safe	public boolean no_Enabled_Transitions = false;  // deadlock	public myNode root;      //root of the tree	public boolean[] transitions;    //each bool corresponds to a transition	public boolean[] nodes;            //each bool corresponds to a node	public int nodeCount = 0;    //Total number of nodes in tree	public PNMatrix CPlus;	public PNMatrix CMinus;                 //incidence matrices of petri net	public int number_transitions;   //number of transitions in net	public int number_places;    //number of places in the net	public myNode[] EndNodes;    //The end nodes (leaves) in the tree	public int[] pathToDeadlock;   //Gives transitions to deadlock	public boolean tooBig = false; // Set if the tree gets too large	//Tree Constructor	public myTree(int[] tree_root, PNMatrix plus, PNMatrix minus) throws TreeTooBigException {		CPlus = plus;		CMinus = minus;		//Find number transitions in net from incidence matrix dimensions		number_transitions = CMinus.getColumnDimension();		//Find number of places in net from incidence matrix dimensions		number_places = CMinus.getRowDimension();		//Create root of tree by calling Node constructor		root = new myNode(tree_root, this, 1);				//Call expansion function on root of tree		root.RecursiveExpansion();			}		public myTree(int[] tree_root, PNMatrix plus, PNMatrix minus, StateList statespace, DataLayer pnmldata) throws TreeTooBigException{		CPlus = plus;		CMinus = minus;					//Matthew: reduce statespaces start			int transCount = pnmldata.getTransitions().length;			boolean[] timedTrans = new boolean[transCount];			for (int i = 0; i< transCount; i++) {				if (pnmldata.getTransition(i).getTimed() == true) {					timedTrans[i] = true;				}				else {					timedTrans[i] = false;				}			}						// 		int markSize = tree_root.length;		statespace.add(tree_root);		//Find number transitions in net from incidence matrix dimensions		number_transitions = CMinus.getColumnDimension();		//Find number of places in net from incidence matrix dimensions		number_places = CMinus.getRowDimension();		//Create root of tree by calling Node constructor		root = new myNode(tree_root, this, 1);				//Call expansion function on root of tree				root.RecursiveExpansion(statespace, timedTrans);			 	}		}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -