TestBasicProcess.java 2.44 KB
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
package jcircus.parallelism;

import java.util.List;

import javax.swing.JOptionPane;

import net.sourceforge.czt.circus.ast.ActionPara;
import net.sourceforge.czt.circus.ast.BasicProcess;
import net.sourceforge.czt.circus.ast.CircusStateAnn;
import net.sourceforge.czt.circus.ast.OnTheFlyDefAnn;
import net.sourceforge.czt.circus.ast.SkipAction;
import net.sourceforge.czt.circus.util.Factory;
import net.sourceforge.czt.z.ast.AxPara;
import net.sourceforge.czt.z.ast.Box;
import net.sourceforge.czt.z.ast.Decl;
import net.sourceforge.czt.z.ast.ParaList;
import net.sourceforge.czt.z.ast.TruePred;
import net.sourceforge.czt.z.ast.ZDeclList;
import net.sourceforge.czt.z.ast.ZNameList;
import net.sourceforge.czt.z.ast.ZParaList;
import net.sourceforge.czt.z.ast.ZSchText;

public class TestBasicProcess {
static Factory f = new Factory ();
public static void main (String args []) { //Classe que cria um processo básico com main action válida e estado válido

//*******************CRIAÇÃO DA MAIN ACTION DO PROCESSO BÁSICO
OnTheFlyDefAnn otfda = f.createOnTheFlyDefAnn();
SkipAction mainAction = f.createSkipAction();
mainAction.getAnns().add(otfda);
ActionPara mainActionPara = f.createActionPara();
mainActionPara.setName(f.createZName("$$mainAction"));
mainActionPara.setCircusAction(mainAction);

//*****************CRIAÇÃO DO ESTADO DO PROCESSO BÁSICO
CircusStateAnn csa = f.createCircusStateAnn(); //Assinatura que deve ser colocada em
AxPara newPara = f.createAxPara();
ZSchText st1 = f.createZSchText();
ZDeclList decllist1 = f.createZDeclList();
ZNameList namelist1 = f.createZNameList();
namelist1.add(f.createZName("$$defaultSt"));
decllist1.add(f.createConstDecl(f.createZName("%%defaultSt"), f.createNumExpr()));
newPara.setBox(Box.AxBox);
newPara.setNameList(namelist1); //como demos um addAll(decllist2), é como se ele tivesse acrescentando as duas listas
ZSchText zschtext = f.createZSchText();
zschtext.setDeclList(decllist1);
TruePred truePred = f.createTruePred();
zschtext.setPred(truePred);
newPara.setSchText(zschtext);
AxPara statePara = newPara;
statePara.getAnns().add(csa);
//**********************************************************
ZParaList paraList = f.createZParaList();
paraList.add(mainActionPara);
paraList.add(statePara);

BasicProcess bp = f.createBasicProcess();
bp.setParaList(paraList);
//otfda.
List ptfp = bp.getOnTheFlyPara();
}
}