geneSyst
Class geneSyst

java.lang.Object
  extended by geneSyst.ConfigurationGeneSyst
      extended by geneSyst.MethodesNonFonctionnelles
          extended by geneSyst.geneSyst

public class geneSyst
extends MethodesNonFonctionnelles

La classe geneSyst permet de g�n�rer l'automate comportemental exacte d'une sp�cification B événementielle et de son premier raffinement.

Pour toute information, se r�f�rer au site :
            http://gforge.inria.fr/projects/genesyst/
Ou par E-mail � nicolas.stouls@insa-lyon.fr

Version:
V0.1.7.3 26/08/2010
Author:
smaine hamdane, Nicolas Stouls, Didier Bert, Hounayda Mohamed, Xavier Morselli
V0.0.1 : smaine hamdane 13/03/2002
V0.1 : Reprise de Nicolas Stouls en Juillet 2002.
V0.1.1 : R�vision Didier Bert F�vrier 2002 pour enlever les simplifications
V0.1.2 : R�vision de Nicolas Stouls en Mai 2003 pour introduire le parall�lisme de l'atelier et resoudre des probl�mes sur gros fichiers
V0.1.3 : R�vision en Janvier 2004 par Nicolas Stouls pour introduire la gestion d'un format interm�diaire
V0.1.4 : R�vision en aout 2004 par Hounayda Mohamed pour ajouter une interface graphique et diff�rents formats de sortie
V0.1.5 : R�vision en Octobre 2004 par Nicolas Stouls pour corriger quelques petits bugs
V0.1.5.1 : R�vision en Novembre 2004 par Nicolas Stouls pour corriger un gros bug de g�n�ration de r�sultats
V0.1.6-a : R�vision en Novembre 2004 par Nicolas Stouls pour ajouter l'OP du cas par d�faut
V0.1.6-a.1 : R�vision en D�cembre 2004 par Nicolas Stouls pour renforcer l'implantation de l'OP du cas par d�faut et passage � java 1.5.0
V0.1.6-a.2 : R�vision en mars 2005 par Nicolas Stouls pour int�grer la nouvelle BoB.
V0.1.6-a.3 : R�vision 11 octobre 2005 par Nicolas Stouls pour corriger un probl�me d'utilisation des oracles.
V0.1.7 : R�vision le 4 novembre 2005 par Nicolas Stouls pour supporter la prouveur B4free
V0.1.7.1 : R�vision le 8 novembre 2005 par Nicolas Stouls pour avoir la visualisation des 2 composants lorsque un raffinement est pris en compte
V0.1.7.2 : R�vision le 20 avril 2007 par Nicolas Stouls pour pouvoir ne pas exporter de commentaire dans les oracle, afin de faciliter le d�piotage automatique des tests de non r�gression
+ simplification de l'algo de calcul des atteignabilit�s
+ prise en compte des simplifications par raffinement du calcul d'atteignabilit�. + Correction des bugs avec prouveur en parall�le + Calcul des d�clenchabilit� � false avant true + Sortie possible du nombre de preuve pour tests SVN 2 - 26/05/09: Correction de la simplification skip et du comptage des OP + introduction de la tactique 'seulement les OP false' SVN 52- 26/08/10: Correction de la tactique 'seulement les OP false' quand tactiques utilisateur choisies

Field Summary
static java.lang.String DateVersionSVN
           
static boolean DonnerNombreDePreuves
           
static boolean ExporterCommentaire
           
 PreuveAB_tmp IAB
           
private static java.lang.String MethAppel
           
static java.lang.String VersionGS
           
static java.lang.String VersionSVN
           
 
Fields inherited from class geneSyst.MethodesNonFonctionnelles
AffichageMinimum, CheminEtNomFichierAbstrProduitAuFormatDot, CheminEtNomFichierRaffProduitAuFormatDot, CstImplementation, CstMachine, CstRefinement, Debugage, EtatSontGarantisDisjoints, Force, NbPreuvesAvantRedemarrage, NbPreuvesFaitesDepuisDemarrage, NbPreuvesFaitesParBoB, NbPreuvesFaitesParTactiques, NbSimplificationGardeSyntaxique, NbSimplificationParCompletudeAtteignabilite, NbSimplificationParRaff, NbSimplificationSkip, Nettoyer, NomDossierCalcul, NomDuProjet, parallele, Path, QueGenererOP, RemonterTransitions, SeulementPOLieesAFalse, SymboleDefaut, SymboleNonPr, SymboleProuve, TabClauseNature, TabExtensions, TactiquesInteractives, TempAttenteAuRedemarrage, terminal, VerifierOracle
 
Fields inherited from class geneSyst.ConfigurationGeneSyst
AdresseDossierBDB, AppelAtelierB, Cst_FaireExistentielle, FormatDot, FormatGxl, FormatHtml, NbFormatsSortie, NomDossierDeBase, NomDossierResultat, NomFichierHtml, NomFichierTraces, NomProjetDeBase, PathDot, TabFormatsSortie, TabFormatsSortiePossibles, TactiquesUtilisateur
 
Constructor Summary
geneSyst()
           
 
Method Summary
private  void DeclenchabiliteDesTransitions(int[] ListeEtatsDepart, java.util.List<bob.predicat.TPredicat> preds_disj, java.util.List<bob.composant.TOperation> ops, boolean[][][] ListeTransitionsEffectuables, boolean[][] ListeTransitionsDeclenchables, GestionFormatIntermediaire STEInt, boolean QueGenererOP, boolean VerifierOracle)
          DeclenchabiliteDesTransitions recherche quels sont les couples d'�tats (E1,E2) possibles tels que pour un événement Ev donn� on ait : E1 - Ev -> E2 Le calcul de l'�tat d'arriv� est d�port� dans la m�thode RecherchePointArriveeDesTransition.
private  int DonneEtatAbstraitCorrespondant(bob.predicat.TPredicat EtatR, int NumEtatR, java.util.List<bob.predicat.TPredicat> preds_disjA, GestionFormatIntermediaire STEInt, boolean QueGenererOP)
          DonneEtatAbstraitCorrespondant recherche, par la preuve quel �tat du vector preds_disjA est �quivalent au pr�dicat EtatR.
 boolean GenerationDesSTE(java.lang.String NomFichierAbstraitAvecExtensionEtChemin, java.lang.String NomFichierRaffinementAvecExtensionEtChemin, int Force, boolean Nettoyer, char SDefaut, char SProuve, char SNonPr, boolean QueGenererOP, boolean VerifierOracle, java.lang.String NomFichierOracleMch, java.lang.String NomFichierOracleRaff, boolean FaireExistentielle)
          GenerationDesSTE r�alise les Syst�mes de Transitions Etiquet�s (STE) du raffinement et de la machine B pr�cis�s.
static void main(java.lang.String[] args)
          Proc�dure principale.
private static char paramReadChar(java.lang.String S)
           
private static int paramReadInt(java.lang.String S, int min, int max)
           
private  java.lang.String PointArriveeTransitionNonAtteignable(int Etati, int Evenementj, int Etatk, GestionFormatIntermediaire STEInt, bob.predicat.TPredicat NonAtt, java.lang.String NMT, java.lang.String NMG)
           
private  java.lang.String PointArriveeTransitionNonAtteignable(int Etati, int Evenementj, int Etatk, GestionFormatIntermediaire STEInt, bob.predicat.TPredicat NonAtt, java.lang.String NMT, java.lang.String NMG, boolean UtiliseTactiquesUtilisateur)
           
private  java.lang.String PointArriveeTransitionPossibAtteignable(int Etati, int Evenementj, int Etatk, GestionFormatIntermediaire STEInt, bob.predicat.TPredicat PossAtt, bob.predicat.TPredicat NonEvDeNonF, java.lang.String NMT, java.lang.String NMF)
           
private  java.lang.String PointArriveeTransitionPossibAtteignable(int Etati, int Evenementj, int Etatk, GestionFormatIntermediaire STEInt, bob.predicat.TPredicat PossAtt, bob.predicat.TPredicat NonEvDeNonF, java.lang.String NMT, java.lang.String NMF, boolean UtiliseTactiquesUtilisateur)
           
private  java.lang.String PointArriveeTransitionTjrsAtteignable(int Etati, int Evenementj, int Etatk, GestionFormatIntermediaire STEInt, bob.predicat.TPredicat AttSansCond, java.lang.String NMF, java.lang.String NMG)
           
private  java.lang.String PointArriveeTransitionTjrsAtteignable(int Etati, int Evenementj, int Etatk, GestionFormatIntermediaire STEInt, bob.predicat.TPredicat AttSansCond, java.lang.String NMF, java.lang.String NMG, boolean UtiliseTactiquesUtilisateur)
           
private  void RechercheEtatsInitiaux(bob.substitution.TSubstitution Initialisation, java.util.List<bob.predicat.TPredicat> preds_disj, int[] AssociationEquivalenceEtats, GestionFormatIntermediaire STEInt, GestionFormatIntermediaire STEAbstrait, boolean QueGenererOP, boolean VerifierOracle)
          RechercheEtatsInitiaux recherche la liste des �tat initiaux du stst�me de transitions et renvoie son r�sultat sous forme d'uin vercteur de TEtats.
private  void RecherchePointArriveeDesTransition(int Etati, int Evenementj, java.util.List<bob.predicat.TPredicat> preds_disj, java.util.List<bob.composant.TOperation> ops, boolean[][][] ListeTransitionsEffectuables, GestionFormatIntermediaire STEInt, boolean QueGenererOP, boolean VerifierOracle)
          RecherchePointArriveeDesTransition recherche quels sont les conditions d'atteignabilit� de chacun des �tats de preds_disj par l'événement Evenementj depuis l'�tat Etati.
private  ResultatAnalyse TraitementRaffinement(java.lang.String NomFichierAvecExtensionEtChemin, ResultatAnalyse ResultatAnalyseSystemeAbstrait, int Force, boolean Nettoyer, GestionFormatIntermediaire STEIntermediaireAbstrait, GestionFormatIntermediaire STEInt, boolean QueGenererOP, boolean VerifierOracle)
          TraitementRaffinement r�alise le Syst�me de Transitions �tiquet�es du raffinement B pr�cis� par NomFichierAvecExtension.
private  ResultatAnalyse TraitementSystemeAbstrait(java.lang.String NomFichierAvecExtensionEtChemin, int Force, boolean Nettoyer, GestionFormatIntermediaire STEInt, boolean QueGenererOP, boolean VerifierOracle)
          TraitementSystemeAbstrait r�alise le Syst�me de Transitions �tiquet�es de la machine B pr�cis�e par NomFichierAvecExtension.
 
Methods inherited from class geneSyst.MethodesNonFonctionnelles
AfficheStatistiques, AfficheTabInt, AfficheTabInt, AppelCommandeExterne, AppelCommandeExterneAvecScript, Conjonction, Disjonction, doesNotHaveGuard, doesNotHaveGuard, DonneExtension, Donner_Extension, EnleveExtension, FusionneTabOfInt, GestionNomDeProjet, IntNonPresent, inverseList, LanceScriptExterne, NouveauNomDeFichier, RechercheElement, replaceAll, replaceAll, SansChemin, SysAfficher
 
Methods inherited from class geneSyst.ConfigurationGeneSyst
initTactiquesInteractives
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

VersionSVN

public static final java.lang.String VersionSVN
See Also:
Constant Field Values

DateVersionSVN

public static final java.lang.String DateVersionSVN
See Also:
Constant Field Values

VersionGS

public static final java.lang.String VersionGS

IAB

public PreuveAB_tmp IAB

ExporterCommentaire

public static boolean ExporterCommentaire

DonnerNombreDePreuves

public static boolean DonnerNombreDePreuves

MethAppel

private static java.lang.String MethAppel
Constructor Detail

geneSyst

public geneSyst()
Method Detail

DonneEtatAbstraitCorrespondant

private int DonneEtatAbstraitCorrespondant(bob.predicat.TPredicat EtatR,
                                           int NumEtatR,
                                           java.util.List<bob.predicat.TPredicat> preds_disjA,
                                           GestionFormatIntermediaire STEInt,
                                           boolean QueGenererOP)
                                    throws java.io.FileNotFoundException,
                                           java.io.IOException,
                                           ErreurException
DonneEtatAbstraitCorrespondant recherche, par la preuve quel �tat du vector preds_disjA est �quivalent au pr�dicat EtatR.

Parameters:
EtatR - Etat raffin�
NumEtatR - Num�ro de l'�tat Raffin�
preds_disjA - Ensemble des �tats abstraits
STEInt - Structure de donn�e repr�sentant toute les connaissances que l'on a du graphe comportementale � ce niveau l�.
QueGenererOP - Vrai si et seulement si l'on veut g�n�rer l'ensemble des obligations de preuve sans pour autant les prouver. Dans le cas particulier de cette m�thode, les preuves ont quand m�me lieu car si ce n'�tait pas le cas alors on ne connaitrait pas l'association des �tats par l� m�me ont ne pourrais rien faire par la suite.
Returns:
num�ro, dans la disjonction abstraite, de l'�tat �quivalent ou -1.
Throws:
java.io.FileNotFoundException
java.io.IOException
ErreurException

RechercheEtatsInitiaux

private void RechercheEtatsInitiaux(bob.substitution.TSubstitution Initialisation,
                                    java.util.List<bob.predicat.TPredicat> preds_disj,
                                    int[] AssociationEquivalenceEtats,
                                    GestionFormatIntermediaire STEInt,
                                    GestionFormatIntermediaire STEAbstrait,
                                    boolean QueGenererOP,
                                    boolean VerifierOracle)
                             throws java.io.IOException,
                                    ErreurException
RechercheEtatsInitiaux recherche la liste des �tat initiaux du stst�me de transitions et renvoie son r�sultat sous forme d'uin vercteur de TEtats.

Parameters:
Initialisation - la substitution du fichier original
preds_disj - Ensemble des �tats
AssociationEquivalenceEtats - Liste des �quivalences entre les �tats abstraits et les �tats raffin�s
STEInt - informations connues du STE sous la forme du format interm�diaire utilis�
STEAbstrait - informations connues du STE de la machine abstraite associ�e
QueGenererOP - Si vrai alors on ne fait que g�n�rer les obligations de preuves. On n'effectue aucune preuve.
VerifierOracle - Si vrai alors l'oracle est utiliser pour diriger la g�n�ration des obligations de preuve. Sinon, il est pris comme �tant correct et aucune OP n'est v�rifi�e.
Throws:
java.io.IOException
ErreurException

PointArriveeTransitionTjrsAtteignable

private java.lang.String PointArriveeTransitionTjrsAtteignable(int Etati,
                                                               int Evenementj,
                                                               int Etatk,
                                                               GestionFormatIntermediaire STEInt,
                                                               bob.predicat.TPredicat AttSansCond,
                                                               java.lang.String NMF,
                                                               java.lang.String NMG)
                                                        throws java.io.IOException,
                                                               ErreurException
Throws:
java.io.IOException
ErreurException

PointArriveeTransitionTjrsAtteignable

private java.lang.String PointArriveeTransitionTjrsAtteignable(int Etati,
                                                               int Evenementj,
                                                               int Etatk,
                                                               GestionFormatIntermediaire STEInt,
                                                               bob.predicat.TPredicat AttSansCond,
                                                               java.lang.String NMF,
                                                               java.lang.String NMG,
                                                               boolean UtiliseTactiquesUtilisateur)
                                                        throws java.io.IOException,
                                                               ErreurException
Throws:
java.io.IOException
ErreurException

PointArriveeTransitionNonAtteignable

private java.lang.String PointArriveeTransitionNonAtteignable(int Etati,
                                                              int Evenementj,
                                                              int Etatk,
                                                              GestionFormatIntermediaire STEInt,
                                                              bob.predicat.TPredicat NonAtt,
                                                              java.lang.String NMT,
                                                              java.lang.String NMG)
                                                       throws java.io.IOException,
                                                              ErreurException
Throws:
java.io.IOException
ErreurException

PointArriveeTransitionNonAtteignable

private java.lang.String PointArriveeTransitionNonAtteignable(int Etati,
                                                              int Evenementj,
                                                              int Etatk,
                                                              GestionFormatIntermediaire STEInt,
                                                              bob.predicat.TPredicat NonAtt,
                                                              java.lang.String NMT,
                                                              java.lang.String NMG,
                                                              boolean UtiliseTactiquesUtilisateur)
                                                       throws java.io.IOException,
                                                              ErreurException
Throws:
java.io.IOException
ErreurException

PointArriveeTransitionPossibAtteignable

private java.lang.String PointArriveeTransitionPossibAtteignable(int Etati,
                                                                 int Evenementj,
                                                                 int Etatk,
                                                                 GestionFormatIntermediaire STEInt,
                                                                 bob.predicat.TPredicat PossAtt,
                                                                 bob.predicat.TPredicat NonEvDeNonF,
                                                                 java.lang.String NMT,
                                                                 java.lang.String NMF)
                                                          throws java.io.IOException,
                                                                 ErreurException
Throws:
java.io.IOException
ErreurException

PointArriveeTransitionPossibAtteignable

private java.lang.String PointArriveeTransitionPossibAtteignable(int Etati,
                                                                 int Evenementj,
                                                                 int Etatk,
                                                                 GestionFormatIntermediaire STEInt,
                                                                 bob.predicat.TPredicat PossAtt,
                                                                 bob.predicat.TPredicat NonEvDeNonF,
                                                                 java.lang.String NMT,
                                                                 java.lang.String NMF,
                                                                 boolean UtiliseTactiquesUtilisateur)
                                                          throws java.io.IOException,
                                                                 ErreurException
Throws:
java.io.IOException
ErreurException

RecherchePointArriveeDesTransition

private void RecherchePointArriveeDesTransition(int Etati,
                                                int Evenementj,
                                                java.util.List<bob.predicat.TPredicat> preds_disj,
                                                java.util.List<bob.composant.TOperation> ops,
                                                boolean[][][] ListeTransitionsEffectuables,
                                                GestionFormatIntermediaire STEInt,
                                                boolean QueGenererOP,
                                                boolean VerifierOracle)
                                         throws java.io.IOException,
                                                ErreurException
RecherchePointArriveeDesTransition recherche quels sont les conditions d'atteignabilit� de chacun des �tats de preds_disj par l'événement Evenementj depuis l'�tat Etati. Cette proc�dure utilise les sous proc�dures PointArriveeTransitionPossibAtteignable, PointArriveeTransitionNonAtteignable et PointArriveeTransitionTjrsAtteignable pour determiner ces conditions.

Si une condition est fausse alors la transition n'existe pas.

Parameters:
Etati - Etat de d�part trait�
Evenementj - Ev�nement trait�
preds_disj - Ensemble des �tats
ops - Liste des événements. Seul Evenementj nous int�resse dans cette liste.
ListeTransitionsEffectuables - ensemble des transitions effectuables dans l'abstraction
STEInt - informations connues du STE sous la forme du format interm�diaire utilis�
QueGenererOP - Si vrai alors on ne fait que g�n�rer les obligations de preuves. On n'effectue aucune preuve.
VerifierOracle - Si vrai alors l'oracle est utiliser pour diriger la g�n�ration des obligations de preuve. Sinon, il est pris comme �tant correct et aucune OP n'est v�rifi�e.
Throws:
java.io.IOException
ErreurException

DeclenchabiliteDesTransitions

private void DeclenchabiliteDesTransitions(int[] ListeEtatsDepart,
                                           java.util.List<bob.predicat.TPredicat> preds_disj,
                                           java.util.List<bob.composant.TOperation> ops,
                                           boolean[][][] ListeTransitionsEffectuables,
                                           boolean[][] ListeTransitionsDeclenchables,
                                           GestionFormatIntermediaire STEInt,
                                           boolean QueGenererOP,
                                           boolean VerifierOracle)
                                    throws java.io.IOException,
                                           ErreurException
DeclenchabiliteDesTransitions recherche quels sont les couples d'�tats (E1,E2) possibles tels que pour un événement Ev donn� on ait :
E1 - Ev -> E2
Le calcul de l'�tat d'arriv� est d�port� dans la m�thode RecherchePointArriveeDesTransition.

Cette m�thode calcule �galement la condition sous laquelle chaque transition est d�clenchable depuis l'�tat de d�part donn�.

Parameters:
ListeEtatsDepart - etats de d�part trait�s
preds_disj - Ensemble des �tats
ops - Liste ds op�rations
ListeTransitionsEffectuables - ensemble des transitions effectuables dans l'abstraction
ListeTransitionsDeclenchables - ensemble des transitions d�clenchables dans l'abstraction
STEInt - informations connues du STE sous la forme du format interm�diaire utilis�
QueGenererOP - Si vrai alors on ne fait que g�n�rer les obligations de preuves. On n'effectue aucune preuve.
VerifierOracle - Si vrai alors l'oracle est utiliser pour diriger la g�n�ration des obligations de preuve. Sinon, il est pris comme �tant correct et aucune OP n'est v�rifi�e.
Throws:
java.io.IOException
ErreurException

TraitementSystemeAbstrait

private ResultatAnalyse TraitementSystemeAbstrait(java.lang.String NomFichierAvecExtensionEtChemin,
                                                  int Force,
                                                  boolean Nettoyer,
                                                  GestionFormatIntermediaire STEInt,
                                                  boolean QueGenererOP,
                                                  boolean VerifierOracle)
                                           throws tatibouet.bparser.ParseException,
                                                  tatibouet.bparser.AfterParserException,
                                                  java.io.FileNotFoundException,
                                                  java.io.IOException,
                                                  ErreurException
TraitementSystemeAbstrait r�alise le Syst�me de Transitions �tiquet�es de la machine B pr�cis�e par NomFichierAvecExtension.

Parameters:
NomFichierAvecExtensionEtChemin - Nom du fichier source avec son extension
Force - Niveau de force � utiliser pour les preuves
Nettoyer - Si vrai alors on efface tous les fichiers temporaires � la fin des calculs
STEInt - informations connues du STE sous la forme du format interm�diaire utilis�
QueGenererOP - Si vrai alors on ne fait que g�n�rer les obligations de preuves. On n'effectue aucune preuve.
VerifierOracle - Si vrai alors l'oracle est utiliser pour diriger la g�n�ration des obligations de preuve. Sinon, il est pris comme �tant correct et aucune OP n'est v�rifi�e.
Returns:
L'ensemble des donn�es n�cessaires pour r�aliser le STE
Throws:
tatibouet.bparser.ParseException
tatibouet.bparser.AfterParserException
java.io.FileNotFoundException
java.io.IOException
ErreurException

TraitementRaffinement

private ResultatAnalyse TraitementRaffinement(java.lang.String NomFichierAvecExtensionEtChemin,
                                              ResultatAnalyse ResultatAnalyseSystemeAbstrait,
                                              int Force,
                                              boolean Nettoyer,
                                              GestionFormatIntermediaire STEIntermediaireAbstrait,
                                              GestionFormatIntermediaire STEInt,
                                              boolean QueGenererOP,
                                              boolean VerifierOracle)
                                       throws tatibouet.bparser.ParseException,
                                              tatibouet.bparser.AfterParserException,
                                              java.io.FileNotFoundException,
                                              java.io.IOException,
                                              ErreurException
TraitementRaffinement r�alise le Syst�me de Transitions �tiquet�es du raffinement B pr�cis� par NomFichierAvecExtension.

Parameters:
NomFichierAvecExtensionEtChemin - Nom du fichier source avec son extension
ResultatAnalyseSystemeAbstrait - R�sultat de l'analyse de l'abstraction
Force - Niveau de force � utiliser pour les preuves
Nettoyer - Si vrai alors on efface tous les fichiers temporaires � la fin des calculs
STEIntermediaireAbstrait - informations connues du STE sous la forme du format interm�diaire utilis�
STEInt - informations connues du STE sous la forme du format interm�diaire utilis�
QueGenererOP - Si vrai alors on ne fait que g�n�rer les obligations de preuves. On n'effectue aucune preuve.
VerifierOracle - Si vrai alors l'oracle est utiliser pour diriger la g�n�ration des obligations de preuve. Sinon, il est pris comme �tant correct et aucune OP n'est v�rifi�e.
Returns:
ResultatAnalyse L'ensemble des donn�es n�cessaires pour r�aliser le STE
Throws:
tatibouet.bparser.ParseException
tatibouet.bparser.AfterParserException
java.io.FileNotFoundException
java.io.IOException
ErreurException

GenerationDesSTE

public boolean GenerationDesSTE(java.lang.String NomFichierAbstraitAvecExtensionEtChemin,
                                java.lang.String NomFichierRaffinementAvecExtensionEtChemin,
                                int Force,
                                boolean Nettoyer,
                                char SDefaut,
                                char SProuve,
                                char SNonPr,
                                boolean QueGenererOP,
                                boolean VerifierOracle,
                                java.lang.String NomFichierOracleMch,
                                java.lang.String NomFichierOracleRaff,
                                boolean FaireExistentielle)
GenerationDesSTE r�alise les Syst�mes de Transitions Etiquet�s (STE) du raffinement et de la machine B pr�cis�s.

Parameters:
NomFichierAbstraitAvecExtensionEtChemin - Nom du fichier source de l'abstraction avec son extension
NomFichierRaffinementAvecExtensionEtChemin - Nom du fichier source du raffinement avec son extension
Force - Niveau de force � utiliser pour les preuves
Nettoyer - Si vrai alors on efface tous les fichiers temporaires � la fin des calculs
SDefaut - Symbole pour le graph final pour le cas de transitions conditionn�es
SProuve - Symbole pour le graph final pour le cas de transitions non conditionn�es
QueGenererOP - Si vrai alors on ne fait que g�n�rer les obligations de preuves. On n'effectue aucune preuve.
VerifierOracle - Si vrai alors l'oracle est utiliser pour diriger la g�n�ration des obligations de preuve. Sinon, il est pris comme �tant correct et aucune OP n'est v�rifi�e.
NomFichierOracleMch - Nom du fichier d'oracle pour l'abstraction
NomFichierOracleRaff - Nom du fichier d'oracle pour le raffinement
FaireExistentielle - Si vrai, alors les obligations de preuve existentielles seront produites et, le cas �ch�ant, prouv�es.
Returns:
Renvoie faux ssi la g�n�ration a �t� annul�e.

paramReadChar

private static char paramReadChar(java.lang.String S)

paramReadInt

private static int paramReadInt(java.lang.String S,
                                int min,
                                int max)

main

public static void main(java.lang.String[] args)
Proc�dure principale. Elle traite les informations donn�es en ligne de commande et lance le traitement.

Note : Cette proc�dure n'est pas appel�e si l'interface graphique est utilis�e.

Parameters:
args - les param�tres pass�s en ligne de commande