|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.ObjectConfigurationGeneSyst
MethodesNonFonctionnelles
geneSyst
public class geneSyst
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://www-lsr.imag.fr/Les.Personnes/Nicolas.Stouls/
Ou par E-mail à nicolas.stouls@imag.fr
Field Summary | |
---|---|
static java.lang.String |
CheminEtNomFichierAbstrProduitAuFormatDot
|
static java.lang.String |
CheminEtNomFichierRaffProduitAuFormatDot
|
static boolean |
DonnerNombreDePreuves
|
static boolean |
ExporterCommentaire
|
private boolean |
FaireOPExistentielle
|
PreuveAB_tmp |
IAB
|
static java.lang.String |
VersionGS
|
Constructor Summary | |
---|---|
geneSyst()
|
Method Summary | |
---|---|
private void |
DeclenchabiliteDesTransitions(int[] ListeEtatsDepart,
java.util.Vector<bob.predicat.TPredicat> preds_disj,
java.util.Vector<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.Vector<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 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 |
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 |
PointArriveeTransitionTjrsAtteignable(int Etati,
int Evenementj,
int Etatk,
GestionFormatIntermediaire STEInt,
bob.predicat.TPredicat AttSansCond,
java.lang.String NMF,
java.lang.String NMG)
|
private void |
RechercheEtatsInitiaux(bob.substitution.TSubstitution Initialisation,
java.util.Vector<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.Vector<bob.predicat.TPredicat> preds_disj,
java.util.Vector<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 ConfigurationGeneSyst |
---|
initTactiquesInteractives |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String VersionGS
private boolean FaireOPExistentielle
public static java.lang.String CheminEtNomFichierAbstrProduitAuFormatDot
public static java.lang.String CheminEtNomFichierRaffProduitAuFormatDot
public PreuveAB_tmp IAB
public static boolean ExporterCommentaire
public static boolean DonnerNombreDePreuves
Constructor Detail |
---|
public geneSyst()
Method Detail |
---|
private int DonneEtatAbstraitCorrespondant(bob.predicat.TPredicat EtatR, int NumEtatR, java.util.Vector<bob.predicat.TPredicat> preds_disjA, GestionFormatIntermediaire STEInt, boolean QueGenererOP) throws java.io.FileNotFoundException, java.io.IOException, ErreurException
EtatR
- Etat raffinéNumEtatR
- Numéro de l'état Raffinépreds_disjA
- Ensemble des états abstraitsSTEInt
- 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.
java.io.FileNotFoundException
java.io.IOException
ErreurException
private void RechercheEtatsInitiaux(bob.substitution.TSubstitution Initialisation, java.util.Vector<bob.predicat.TPredicat> preds_disj, int[] AssociationEquivalenceEtats, GestionFormatIntermediaire STEInt, GestionFormatIntermediaire STEAbstrait, boolean QueGenererOP, boolean VerifierOracle) throws java.io.IOException, ErreurException
Initialisation
- la substitution du fichier originalpreds_disj
- Ensemble des étatsAssociationEquivalenceEtats
- Liste des équivalences entre les états abstraits et les états raffinésSTEInt
- informations connues du STE sous la forme du format intermédiaire utiliséSTEAbstrait
- informations connues du STE de la machine abstraite associéeQueGenererOP
- 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.
java.io.IOException
ErreurException
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
java.io.IOException
ErreurException
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
java.io.IOException
ErreurException
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
java.io.IOException
ErreurException
private void RecherchePointArriveeDesTransition(int Etati, int Evenementj, java.util.Vector<bob.predicat.TPredicat> preds_disj, java.util.Vector<bob.composant.TOperation> ops, boolean[][][] ListeTransitionsEffectuables, GestionFormatIntermediaire STEInt, boolean QueGenererOP, boolean VerifierOracle) throws java.io.IOException, ErreurException
Si une condition est fausse alors la transition n'existe pas.
Etati
- Etat de départ traitéEvenementj
- Evénement traitépreds_disj
- Ensemble des étatsops
- Liste des événements. Seul Evenementj nous intéresse dans cette liste.ListeTransitionsEffectuables
- ensemble des transitions effectuables dans l'abstractionSTEInt
- 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.
java.io.IOException
ErreurException
private void DeclenchabiliteDesTransitions(int[] ListeEtatsDepart, java.util.Vector<bob.predicat.TPredicat> preds_disj, java.util.Vector<bob.composant.TOperation> ops, boolean[][][] ListeTransitionsEffectuables, boolean[][] ListeTransitionsDeclenchables, GestionFormatIntermediaire STEInt, boolean QueGenererOP, boolean VerifierOracle) throws java.io.IOException, ErreurException
Cette méthode calcule également la condition sous laquelle chaque transition est déclenchable depuis l'état de départ donné.
ListeEtatsDepart
- etats de départ traitéspreds_disj
- Ensemble des étatsops
- Liste ds opérationsListeTransitionsEffectuables
- ensemble des transitions effectuables dans l'abstractionListeTransitionsDeclenchables
- ensemble des transitions déclenchables dans l'abstractionSTEInt
- 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.
java.io.IOException
ErreurException
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
NomFichierAvecExtensionEtChemin
- Nom du fichier source avec son extensionForce
- Niveau de force à utiliser pour les preuvesNettoyer
- Si vrai alors on efface tous les fichiers temporaires à la fin des calculsSDefaut
- Symbole pour le graph final pour le cas de transitions conditionnéesSProuve
- Symbole pour le graph final pour le cas de transitions non conditionnéesSTEInt
- 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.
tatibouet.bparser.ParseException
tatibouet.bparser.AfterParserException
java.io.FileNotFoundException
java.io.IOException
ErreurException
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
NomFichierAvecExtensionEtChemin
- Nom du fichier source avec son extensionResultatAnalyseSystemeAbstrait
- Résultat de l'analyse de l'abstractionForce
- Niveau de force à utiliser pour les preuvesNettoyer
- Si vrai alors on efface tous les fichiers temporaires à la fin des calculsSDefaut
- Symbole pour le graph final pour le cas de transitions conditionnéesSProuve
- Symbole pour le graph final pour le cas de transitions non conditionnéesSTEIntermediaireAbstrait
- 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.
tatibouet.bparser.ParseException
tatibouet.bparser.AfterParserException
java.io.FileNotFoundException
java.io.IOException
ErreurException
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)
NomFichierAbstraitAvecExtensionEtChemin
- Nom du fichier source de l'abstraction avec son extensionNomFichierRaffinementAvecExtensionEtChemin
- Nom du fichier source du raffinement avec son extensionForce
- Niveau de force à utiliser pour les preuvesNettoyer
- Si vrai alors on efface tous les fichiers temporaires à la fin des calculsSDefaut
- Symbole pour le graph final pour le cas de transitions conditionnéesSProuve
- Symbole pour le graph final pour le cas de transitions non conditionnéesQueGenererOP
- 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'abstractionNomFichierOracleRaff
- Nom du fichier d'oracle pour le raffinementFaireExistentielle
- Si vrai, alors les obligations de preuve
existentielles seront produites et, le cas échéant, prouvées.
public static void main(java.lang.String[] args)
Note : Cette procédure n'est pas appelée si l'interface graphique est utilisée.
args
- les paramètres passés en ligne de commande
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |