geneSyst
Class GFI_Datas

java.lang.Object
  extended by geneSyst.GFI_Datas
Direct Known Subclasses:
GFI_PostTraitement

public class GFI_Datas
extends java.lang.Object

Cette classe d�finie une structure de donn�es pour la mise en m�moire des traces avec les m�thodes KiVontBien pour sauvegarder ou lire les donn�es depuis un fichier.

Version:
20/01/2004
Author:
Nicolas Stouls en Janvier 2004

Nested Class Summary
 class GFI_Datas.QuadrupletEntiers
          Sous classe permettant le stockage de donn�es dans des vecteurs ou tableaux
 
Field Summary
 GFI_Datas.QuadrupletEntiers[][][] AttConnues
          Tableau d�crivant l'ensemble des atteignabilit�s connues.
static int Atteignable
          Constante utilis�e lors de la construction inductive des diff�rentes transitions.
static int AvecG
          Constante d�finissant une condition Gard�e
 GFI_Datas.QuadrupletEntiers[][] DeclConnues
          Tableau d�crivant l'ensemble des d�clenchabilit�s connues.
static int Declenchable
          Constante utilis�e lors de la construction inductive des diff�rentes transitions.
static int DejaEtudie
          Constante utilis�e lors de la construction inductive des diff�rentes transitions.
 GFI_Datas.QuadrupletEntiers[] EquivEtatsConnues
          Tableau d�crivant l'ensemble des �quivalences d'�tats connues.
 int[] EtatsEtudies
          Taleau Permettant de m�moriser les �tats ayant d�j� �t� visit�s lors de la construction inductive des diff�rentes transitions.
 GFI_Datas.QuadrupletEntiers[] EtatsInitiaux
          Tableau d�crivant l'ensemble des �tats initiaux.
static int FormatDot
          Definition des constantes correspondant aux formats
static int FormatGxl
           
static int FormatHtml
           
static int Inconnu
          Constante d�finissant une condition inconnue (Non Calcul�e).
 bob.predicat.TPredicat Invariant
          Invariant du composant en cours, servant � la preuve existencielle de transitions
 java.util.List<java.util.ArrayList<java.lang.Integer>> ListeEtatsParCluster
          Tableau associant au num�ro d'un cluster (d'une �quivalence d'�tats lors du raffinement), un vecteur d'entiers qui repr�sente l'ensemble des num�ros d'�tat des �tats du cluster donn�.
 java.util.Vector<bob.expression.TExprIdentificateur> ListeVariables
          Vecteur contenant les TExprIdentificateur, servant � la preuve existencielle de transitions Cette variable est de type Vector car elle sert � la communication avec la BoB, qui attend ce type.
 int NbEtatsCharges
          Nombre d'�tats dans le STE courant
 int NbEvCharges
          Nombre d'�v�nements dans le STE courant
static int NonPr
          Constante d�finissant une condition Non prouv�e
static char[] RepresentationConstantesPlus1
          Repr�sentation textuelle des diff�rentes constantes d�finies pr�c�damment
static boolean[] TabFormatsSortie
          tableau memorisant les formats de sortie demand� par l'utilisateur.
 PrintWriterGeneSyst terminal
          Variable pointant vers le flux de sortie courant pour l'affichage des messages
static int TjrsF
          Constante d�finissant une condition � FAUX
static int TjrsV
          Constante d�finissant une condition � VRAI
 
Constructor Summary
GFI_Datas(PrintWriterGeneSyst term)
          Constructeur simplifi� de la classe de gestion du format interm�diaire.
GFI_Datas(PrintWriterGeneSyst term, int NbEtats, int NbEvents)
          Constructeur de la classe de gestion du format interm�diaire.
 
Method Summary
(package private)  void AfficheDecl(int Etat, int Ev)
           
(package private)  void AfficheTout()
          M�thode de D�bug.
(package private)  java.lang.String CommentaireDebugage()
          Calcule le commentaire de fin de ligne en mode d�bugage.
(package private)  int DonneAtt(int Etat1, int Etat2, int Ev)
          Renvoie le niveau de preuve de l'atteignabilit� depuis l'�tat pr�cis� pour l'�v�nement Donn� vers l'�tat donn�.
(package private)  int DonneDecl(int Etat, int Ev)
          Renvoie le niveau de preuve de la d�clenchabilit� de l'�tat pr�cis� pour l'�v�nement Donn�.
(package private)  int DonneEquiv(int EtatR)
          Renvoie le num�ro de la disjonction d'�tats �quivalente � Etat1.
(package private)  int DonneEquiv(int EtatR, int EtatA)
          Renvoie le niveau de preuve de l'�quivalence entre l'�tat abstrait Etat1 et la disjonction d'�tats Etat2 pr�cis�e.
static int DonneEtatArrivee(java.util.List<GFI_Datas.QuadrupletEntiers> Trans, int i)
           
static int DonneEtatDepart(java.util.List<GFI_Datas.QuadrupletEntiers> Trans, int i)
          M�thode permettant d'acc�der au champs Etat de d�part d'une transition issue de la m�thode DonneListeTransitions.
(package private)  int DonneEtatNDuCluster(int Cluster, int NumEtat)
          Donne le NumEtat-i�me �tat du regroupement d'�tats Cluster lors d'un raffinement.
 int[] DonneEtatsAVisiter()
          La m�thode DonneEtatsAVisiter renvoie un tableau d'entiers dont chacun des �l�ments est le num�ro d'un �tat atteind n'ayant pas encore �t� observ� du point de vue de la d�clenchabilit� des �v�nements
 int[] DonneEtatsInit()
          La m�thode DonneEtatsInit renvoie un tableau d'entiers contenant l'ensemble des num�ros des �tats initiaux.
static int DonneEvenement(java.util.List<GFI_Datas.QuadrupletEntiers> Trans, int i)
           
 java.util.List<GFI_Datas.QuadrupletEntiers> DonneListeTransitions()
          M�thode permettant de lister toutes les transitions r�alisables par un syst�me.
(package private)  int DonneNbEtats()
          Renvoie le nombre d'�tats pr�sents dans le STE.
(package private)  int DonneNumClusterFromEtat(int Etat)
          Donne le num�ro du cluster dans lequel se trouve l'�tat pr�cis�.
(package private)  bob.predicat.TPredicat DonnePredAtt(int Etat1, int Etat2, int Ev)
          Donne la condition pour l'evenement atteignable
(package private)  bob.predicat.TPredicat DonnePredDecl(int Etat, int Ev)
          Donne la condition pour l'evenement declenchable
(package private)  bob.predicat.TPredicat DonnePredInit(int Etat)
          Donne la condition pour l'etat initial
(package private)  int EstInitial(int Etat)
          Renvoie le niveau de preuve de l'initiabilit� de l'�tat pr�cis�.
(package private)  void InitialiseNbEtats(int NbEtats)
           
(package private)  void InitialiseNbEvents(int NbEvents)
           
(package private)  int NbCluster()
          Donne le nombre de cluster en m�moire.
(package private)  int NbEtatDansCluster(int Cluster)
          Donne le nombre d'�tats contenus dans le regroupement d'�tats Cluster lors d'un raffinement.
(package private)  void NouvAtt(int Etat1, int Etat2, int Ev, int Pr, java.lang.String FT, java.lang.String FF, java.lang.String FG, bob.predicat.TPredicat Assertion)
          Ajoute une nouvelle information d'atteignabilit� d'�tat
(package private)  void NouvDecl(int Etat, int Ev, int Pr, java.lang.String FT, java.lang.String FF, java.lang.String FG, bob.predicat.TPredicat Assertion)
          Ajoute une nouvelle information de d�clenchabilit� d'�v�nement
(package private)  void NouvEquiv(int EtatR, int EtatA, int Pr, java.lang.String FT)
          Ajoute une nouvelle information d'�quivalence d'�tats
(package private)  void NouvEtatDansCluster(int Cluster, int Etat)
          Permet d'ajouter un �tat dans un regroupement d'�tats lors d'un raffinement.
(package private)  void NouvInit(int Etat, int Pr, java.lang.String FT, java.lang.String FF, java.lang.String FG, bob.predicat.TPredicat Assertion)
          Ajoute une nouvelle information d'initialit� d'�tat
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NonPr

public static final int NonPr
Constante d�finissant une condition Non prouv�e

See Also:
Constant Field Values

TjrsV

public static final int TjrsV
Constante d�finissant une condition � VRAI

See Also:
Constant Field Values

AvecG

public static final int AvecG
Constante d�finissant une condition Gard�e

See Also:
Constant Field Values

TjrsF

public static final int TjrsF
Constante d�finissant une condition � FAUX

See Also:
Constant Field Values

Inconnu

public static final int Inconnu
Constante d�finissant une condition inconnue (Non Calcul�e).

See Also:
Constant Field Values

RepresentationConstantesPlus1

public static final char[] RepresentationConstantesPlus1
Repr�sentation textuelle des diff�rentes constantes d�finies pr�c�damment


terminal

public PrintWriterGeneSyst terminal
Variable pointant vers le flux de sortie courant pour l'affichage des messages


EtatsInitiaux

public GFI_Datas.QuadrupletEntiers[] EtatsInitiaux
Tableau d�crivant l'ensemble des �tats initiaux.
Le num�ro d'index est le num�ro de l'�tat et le contenu du tableau : (-1,-1,-1,Pr,FT,FF)
o� Pr est l'une des trois constantes de preuve TjrsV/TjrsF/AvecG


DeclConnues

public GFI_Datas.QuadrupletEntiers[][] DeclConnues
Tableau d�crivant l'ensemble des d�clenchabilit�s connues.
Le format de chaque �l�ment est : (Etat,Ev,-1,Pr,FT,FF)
o� Etat est le num�ro de l'�tat consid�r�, Ev le num�ro de l'�v�nement et Pr l'une des trois constantes de preuve TjrsV/TjrsF/AvecG


AttConnues

public GFI_Datas.QuadrupletEntiers[][][] AttConnues
Tableau d�crivant l'ensemble des atteignabilit�s connues.
Le format de chaque �l�ment est : (EtatD,EtatA,Ev,Pr,FT,FF)
o� EtatD est le num�ro de l'�tat de d�part consid�r�, EtatA le num�ro de l'�tat d'arriv�e, Ev le num�ro de l'�v�nement et Pr l'une des trois constantes de preuve TjrsV/TjrsF/AvecG


EquivEtatsConnues

public GFI_Datas.QuadrupletEntiers[] EquivEtatsConnues
Tableau d�crivant l'ensemble des �quivalences d'�tats connues.
Le format de chaque �l�ment est : (NumEquiv,Pr,EtatA,EtatA)
o� EtatA est le num�ro de l'�tat abstrait consid�r�, Pr l'une des deux constantes de preuve TjrsV/TjrsF, et NumEquiv le num�ro de l'a disjonction d'�tats qui est �quivalente � EtatA. Notons Que ce dernier param�tre est doubl� pour une question de r�utilisabilit� des fonctions existantes dans les diff�rents modes de recherche.

Ce cas l� n'est utile que pour une machine de raffinement


ListeEtatsParCluster

public java.util.List<java.util.ArrayList<java.lang.Integer>> ListeEtatsParCluster
Tableau associant au num�ro d'un cluster (d'une �quivalence d'�tats lors du raffinement), un vecteur d'entiers qui repr�sente l'ensemble des num�ros d'�tat des �tats du cluster donn�.


NbEtatsCharges

public int NbEtatsCharges
Nombre d'�tats dans le STE courant


NbEvCharges

public int NbEvCharges
Nombre d'�v�nements dans le STE courant


EtatsEtudies

public int[] EtatsEtudies
Taleau Permettant de m�moriser les �tats ayant d�j� �t� visit�s lors de la construction inductive des diff�rentes transitions.


Declenchable

public static final int Declenchable
Constante utilis�e lors de la construction inductive des diff�rentes transitions.

See Also:
Constant Field Values

Atteignable

public static final int Atteignable
Constante utilis�e lors de la construction inductive des diff�rentes transitions.

See Also:
Constant Field Values

DejaEtudie

public static final int DejaEtudie
Constante utilis�e lors de la construction inductive des diff�rentes transitions.

See Also:
Constant Field Values

TabFormatsSortie

public static boolean[] TabFormatsSortie
tableau memorisant les formats de sortie demand� par l'utilisateur.


FormatDot

public static final int FormatDot
Definition des constantes correspondant aux formats


FormatHtml

public static final int FormatHtml

FormatGxl

public static final int FormatGxl

ListeVariables

public java.util.Vector<bob.expression.TExprIdentificateur> ListeVariables
Vecteur contenant les TExprIdentificateur, servant � la preuve existencielle de transitions Cette variable est de type Vector car elle sert � la communication avec la BoB, qui attend ce type.


Invariant

public bob.predicat.TPredicat Invariant
Invariant du composant en cours, servant � la preuve existencielle de transitions

Constructor Detail

GFI_Datas

GFI_Datas(PrintWriterGeneSyst term)
Constructeur simplifi� de la classe de gestion du format interm�diaire.

Parameters:
term - C'est un pointeur vers un flux de sortie pour l'affichage des messages

GFI_Datas

GFI_Datas(PrintWriterGeneSyst term,
          int NbEtats,
          int NbEvents)
Constructeur de la classe de gestion du format interm�diaire.

Parameters:
term - C'est un pointeur vers un flux de sortie pour l'affichage des messages
NbEtats - Indique le nombre d'�tats contenus dans le syst�me courant. Cette information est pr�cieuse pour cr�er les tableaux d'�tats initiaux notamment.
NbEvents - Indique le nombre d'�v�nements contenus dans le syst�me courant. Cette information est pr�cieuse pour cr�er les tableaux d'�v�nements initiaux notamment.
Method Detail

InitialiseNbEtats

void InitialiseNbEtats(int NbEtats)

InitialiseNbEvents

void InitialiseNbEvents(int NbEvents)

DonneNbEtats

int DonneNbEtats()
Renvoie le nombre d'�tats pr�sents dans le STE.

Returns:
le nombre d'�tats

EstInitial

int EstInitial(int Etat)
Renvoie le niveau de preuve de l'initiabilit� de l'�tat pr�cis�.

Parameters:
Etat - Num�ro de l'�tat dont on veut savoir sont initiabilit�
Returns:
le niveau de la preuve de l'initiabilit� de Etat

DonneDecl

int DonneDecl(int Etat,
              int Ev)
Renvoie le niveau de preuve de la d�clenchabilit� de l'�tat pr�cis� pour l'�v�nement Donn�.

Parameters:
Etat - Num�ro de l'�tat de d�part
Ev - Num�ro de l'�v�nement dont on veut savoir sa d�clenchabilit�
Returns:
le niveau de la preuve de la d�clenchabilit� de Ev depuis Etat

DonneAtt

int DonneAtt(int Etat1,
             int Etat2,
             int Ev)
Renvoie le niveau de preuve de l'atteignabilit� depuis l'�tat pr�cis� pour l'�v�nement Donn� vers l'�tat donn�.

Parameters:
Etat1 - Num�ro de l'�tat de d�part
Etat2 - Num�ro de l'�tat d'arriv�e
Ev - Num�ro de l'�v�nement dont on veut savoir son atteignabilit�
Returns:
le niveau de la preuve de l'atteignabilit� de Ev depuis Etat1 vers Etat2

DonneEquiv

int DonneEquiv(int EtatR)
Renvoie le num�ro de la disjonction d'�tats �quivalente � Etat1. Si aucun �l�ment ne match alors on renvoi la constante Inconnu.

Parameters:
EtatR - Num�ro de la disjonction d'�tats Raffin�s
Returns:
le num�ro de la disjonction d'�tats �quivalente � Etat1.

DonneEquiv

int DonneEquiv(int EtatR,
               int EtatA)
Renvoie le niveau de preuve de l'�quivalence entre l'�tat abstrait Etat1 et la disjonction d'�tats Etat2 pr�cis�e.

Parameters:
EtatR - Num�ro de la disjonction d'�tats Raffin�s
EtatA - Num�ro de l'�tat Abstrait
Returns:
le niveau de preuve de l'�quivalence entre Etat1 et Etat2.

CommentaireDebugage

java.lang.String CommentaireDebugage()
Calcule le commentaire de fin de ligne en mode d�bugage.

Returns:
Le commentaire � ajouter

NouvInit

void NouvInit(int Etat,
              int Pr,
              java.lang.String FT,
              java.lang.String FF,
              java.lang.String FG,
              bob.predicat.TPredicat Assertion)
Ajoute une nouvelle information d'initialit� d'�tat

Parameters:
Etat - num�ro de l'�tat consid�r�
Pr - Niveau de la preuve de son initiabilit�
FT - Nom du fichier contenant l'obligation de preuve pour la condition TjrsV
FF - Nom du fichier contenant l'obligation de preuve pour la condition TjrsF
FG - Nom du fichier contenant l'obligation de preuve pour la condition AvecG
Assertion - le predicat � memoriser

NouvDecl

void NouvDecl(int Etat,
              int Ev,
              int Pr,
              java.lang.String FT,
              java.lang.String FF,
              java.lang.String FG,
              bob.predicat.TPredicat Assertion)
Ajoute une nouvelle information de d�clenchabilit� d'�v�nement

Parameters:
Etat - num�ro de l'�tat consid�r�
Ev - num�ro de l'�v�nement consid�r�
Pr - Niveau de la preuve de sa d�clenchabilit�
FT - Nom du fichier contenant l'obligation de preuve pour la condition TjrsV
FF - Nom du fichier contenant l'obligation de preuve pour la condition TjrsF
FG - Nom du fichier contenant l'obligation de preuve pour la condition AvecG
Assertion - le predicat � memoriser

AfficheDecl

void AfficheDecl(int Etat,
                 int Ev)

NouvAtt

void NouvAtt(int Etat1,
             int Etat2,
             int Ev,
             int Pr,
             java.lang.String FT,
             java.lang.String FF,
             java.lang.String FG,
             bob.predicat.TPredicat Assertion)
Ajoute une nouvelle information d'atteignabilit� d'�tat

Parameters:
Etat1 - num�ro de l'�tat de d�part consid�r�
Etat2 - num�ro de l'�tat d'arriv� consid�r�
Ev - num�ro de l'�v�nement consid�r�
Pr - Niveau de la preuve de son atteignabilit�
FT - Nom du fichier contenant l'obligation de preuve pour la condition TjrsV
FF - Nom du fichier contenant l'obligation de preuve pour la condition TjrsF
FG - Nom du fichier contenant l'obligation de preuve pour la condition AvecG
Assertion - le predicat � memoriser

NouvEquiv

void NouvEquiv(int EtatR,
               int EtatA,
               int Pr,
               java.lang.String FT)
Ajoute une nouvelle information d'�quivalence d'�tats

Parameters:
EtatR - num�ro de la disjonction d'�tats raffin�
EtatA - num�ro de l'�tat abstrait
Pr - Etat de la preuve de l'obligation de preuve.
FT - Nom du fichier contenant l'obligation de preuve pour la condition TjrsV

NouvEtatDansCluster

void NouvEtatDansCluster(int Cluster,
                         int Etat)
Permet d'ajouter un �tat dans un regroupement d'�tats lors d'un raffinement.

Parameters:
Cluster - Num�ro du regroupement d'�tats.
Etat - num�ro de l'�tat � ajouter.

NbEtatDansCluster

int NbEtatDansCluster(int Cluster)
Donne le nombre d'�tats contenus dans le regroupement d'�tats Cluster lors d'un raffinement.

Parameters:
Cluster - Num�ro du regroupement d'�tats.
Returns:
Nombre d'�tats contenus dans le regroupement pr�cis�.

NbCluster

int NbCluster()
Donne le nombre de cluster en m�moire.
Attention : une hypoth�se forte a �t� faite ici. Les clusters doivent tous avoir �t� rentr�s en m�moire avec des num�ros contig�s en partant de 0.
Ex : si les clusters 0, 1, 2, 3, 4, 6, et 7 sont d�finis alors seuls le r�sultat sera 5 et non 7 car les deux derniers seront ignorer � cause de la rupture de continuit� de la suite. Normalement, cette contrainte ne devrait poser aucun probl�me dans notre cas.

Returns:
Nombre de clusters d�finis en m�moire.

DonneEtatNDuCluster

int DonneEtatNDuCluster(int Cluster,
                        int NumEtat)
Donne le NumEtat-i�me �tat du regroupement d'�tats Cluster lors d'un raffinement.

Parameters:
Cluster - Num�ro du regroupement d'�tats.
NumEtat - Indice de l'�tat dont on veut le num�ro.
Returns:
Num�ro de l'�tat d'indice NumEtat dans le regroupement num�ro Cluster.

DonneNumClusterFromEtat

int DonneNumClusterFromEtat(int Etat)
Donne le num�ro du cluster dans lequel se trouve l'�tat pr�cis�.

Parameters:
Etat - Num�ro de l'�tat dont un veut savoir dans quel cluster il est.
Returns:
Num�ro du cluster contenant l'�tat et -1 sinon.

DonnePredInit

bob.predicat.TPredicat DonnePredInit(int Etat)
Donne la condition pour l'etat initial

Returns:
le predicat associ� a l'etat

DonnePredDecl

bob.predicat.TPredicat DonnePredDecl(int Etat,
                                     int Ev)
Donne la condition pour l'evenement declenchable

Returns:
le predicat associ� a l'evenement declenchable

DonnePredAtt

bob.predicat.TPredicat DonnePredAtt(int Etat1,
                                    int Etat2,
                                    int Ev)
Donne la condition pour l'evenement atteignable

Returns:
le predicat associ� a l'evenement atteignable

AfficheTout

void AfficheTout()
M�thode de D�bug. Elle affiche sur le terminal courant la totalit� des inforamtions contenue dans l'instance courante de GestionFormatIntermediaire.


DonneEtatsAVisiter

public int[] DonneEtatsAVisiter()
La m�thode DonneEtatsAVisiter renvoie un tableau d'entiers dont chacun des �l�ments est le num�ro d'un �tat atteind n'ayant pas encore �t� observ� du point de vue de la d�clenchabilit� des �v�nements

Returns:
un tableau d'entiers repr�sentant les �tats nouvellement atteinds.

DonneEtatsInit

public int[] DonneEtatsInit()
La m�thode DonneEtatsInit renvoie un tableau d'entiers contenant l'ensemble des num�ros des �tats initiaux.

Returns:
l'ensemble des num�ros des �tats initiaux.

DonneListeTransitions

public java.util.List<GFI_Datas.QuadrupletEntiers> DonneListeTransitions()
M�thode permettant de lister toutes les transitions r�alisables par un syst�me.

Returns:
Vecteur de QuadrupletEntiers. Les 3 champs de chacune des transitions sont accessibles par les trois m�thodes DonneEtatDepart, DonneEtatArrivee et DonneEvenement.

DonneEtatDepart

public static int DonneEtatDepart(java.util.List<GFI_Datas.QuadrupletEntiers> Trans,
                                  int i)
M�thode permettant d'acc�der au champs Etat de d�part d'une transition issue de la m�thode DonneListeTransitions.

Parameters:
Trans - List de QuadrupletEntiers. Les 3 champs de chacune des transitions sont accessibles par les trois m�thodes DonneEtatDepart, DonneEtatArrivee et DonneEvenement.

DonneEtatArrivee

public static int DonneEtatArrivee(java.util.List<GFI_Datas.QuadrupletEntiers> Trans,
                                   int i)

DonneEvenement

public static int DonneEvenement(java.util.List<GFI_Datas.QuadrupletEntiers> Trans,
                                 int i)