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 63 64 65 66 67 68 69 70 71 72 73 74
| public static void dPFM (Vector <Integer>FTs,Vector <Integer>FTstcp, Vector <Integer> M,Vector <Integer>MI,Vector <Integer>valeur_Hl)throws JDOMException, IOException
{
//variable local temporelle
int [] [] matpreT = new int[n][m] ;
int [] [] matpreTCP = new int[n][k] ;
int [] [] matpostT = new int[n][m] ;
int [] [] matpostTCP = new int[n][k] ;
int [] [] C_T = new int[n][m] ;
int [] [] C_TCP = new int[n][k] ;
Vector <Integer>VTs =new Vector <Integer>();
MatricePreT.matrice_Zero( matpreT, n, m);
MatricePreT.initializepre_T( matpreT);
MatricePreTCP.matrice_Zero( matpreTCP, n, k);
MatricePreTCP.initializepre_TCP(matpreTCP);
MatricePostT.matrice_Zero( matpostT, n, m);
MatricePostT.initializepost_T( matpostT);
MatricePostTCP.matrice_Zero( matpostTCP, n, k);
MatricePostTCP.initializepost_TCP(matpostTCP);
C_TCP =incidenceTCP(matpostTCP ,matpreTCP);
C_T=incidenceT(matpostT ,matpreT);
int[][]Ne= new int [n][k];
int[][]Matvoisi= new int [n][k];
MatricePreTCP.initializepre_TCP(Ne);
Matvoisi=MatriceNe(Ne);
int [][] matcoef = new int [n][k];
MatriceCoef.initializeCoef_TCP(matcoef);
//initialisation dFTs=ensemble vide(null) inutile car au debut FTs.size=nul et dFTstcp aussi
Firability(FTs,FTstcp,matpreT,matpreTCP,M);
System.out.println("FTs="+FTs);
set_Timer( valeur_Hl,FTs);
System.out.println("valeur_Hl="+valeur_Hl);
System.out.println( "TF="+SDtf_T());
if (verif(FTs)!=0)//equivalent size !=0 FTS different ensemble vide
{
System.out.println("Démarrage de l'étape de validation des transitions");
VTs=Validity (FTs,FTstcp,valeur_Hl);
System.out.println("étape de validation des transitions effectué");
System.out.println("FTstcp="+FTstcp);
if (verif (VTs) !=0)
{System.out.println("étape de franchissement des transitions T");
FiringT (VTs, M,C_T);// VTS
System.out.println("franchissement des transitions T effectué");
//System.out.println("M apres MAJ"+M);
Sub (MI, M);
//Reset_Timer(valeur_Hl);
// System.out.println("valeur_Hlapres Reset"+valeur_Hl);
}
System.out.println("------------------------------------");
if (verif (VTs) ==0 && verif (FTstcp )==0 )
{setIncrementTimer(valeur_Hl,FTs);
System.out.println("valeur_HlapresINcrementTimer"+valeur_Hl);
}
if (verif(FTs)==0 && verif (FTstcp )!=0 )
{
System.out.println("étape de Selection des transitions TCP");
StepSelection(FTstcp,Matvoisi,M,matcoef);
System.out.println("étape de franchissement des transitions TCP");
FiringTCP(FTstcp ,M, C_TCP);//ftstcp
System.out.println("franchissement des transitions TCP effectué");
//System.out.println("M apres MAJ"+M);
Sub(MI,M);
}
//affichage marquage puit stop generation if verif(FTs)==0&&verif (FTstcp )==0
if (verif(FTs)==0 && verif (FTstcp )==0 )
{
System.out.println("Marquage Puit Stop Generaion !!");
}
}
System.out.println("La machine fonctionne bien !");
} //End dPFM |
Partager