Package com.tech.app.models.gma
Class CoverabilityGraph
- java.lang.Object
-
- com.tech.app.models.gma.CoverabilityGraph
-
public class CoverabilityGraph extends java.lang.ObjectCette classe nous permet de calculer l'arbre de couverture. Celui-ci est ensuite converti en graphe de couverture. Nous n'utilisons plus la classe ReachabilityGraph pour le GMA mais celle-ci. En effet, lorsqu'un RdP est borné, son graphe de couverture est le GMA.
-
-
Field Summary
Fields Modifier and Type Field Description java.util.List<Node>liste_node(package private) MarquageM0java.util.List<Marquage>marquagesAccessiblesjava.util.List<Marquage>marquagesATraiterprivate Modelmodelintnb_marquages
-
Constructor Summary
Constructors Constructor Description CoverabilityGraph(Model model)Constructeur
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private MarquageaddVector(Marquage v, java.util.Vector<java.util.Vector<java.lang.Integer>> u, int t)Méthode qui nous permet de faire une addition entre un vecteur et une colonne d'une matrice.voidcalculateCoverabilityGraph()Méthode qui permet de calculer le GMA / graphe de couverture.booleancontainsMarquage(java.util.List<Marquage> marquageList, java.util.Vector<java.lang.Integer> marquage)Méthode qui permet de savoir si un marquage donné est dans la liste de marquages donné.booleancouverture(Marquage M, Marquage M1)Cette méthode permet de determiner si le marquage M1 couvre le marquage M.private booleancouvre(Marquage m, java.util.Vector<java.util.Vector<java.lang.Integer>> pre, int t)Cette méthode permet de vérifier si le marquage du noeud actuel couvre une colonne de la matrice W_moins ou Pré.java.util.List<Node>getListe_node()Méthode qui nous permet de récupérer la liste des noeudsintgetNb_marquages()private MarquagesubVector(Marquage v, Marquage u)Méthode qui nous permet de faire une soustraction entre deux vecteurs.voidtryToAddOmegas(Marquage m, Marquage m1)Méthode essentiel pour le calcul du graphe de couverture.
-
-
-
Constructor Detail
-
CoverabilityGraph
public CoverabilityGraph(Model model)
Constructeur- Parameters:
model- : modèle actuel, au moment du clic sur la fonction "Générer le GMA / Graphe de couverture".
-
-
Method Detail
-
getListe_node
public java.util.List<Node> getListe_node()
Méthode qui nous permet de récupérer la liste des noeuds- Returns:
- List de Node
-
getNb_marquages
public int getNb_marquages()
-
addVector
private Marquage addVector(Marquage v, java.util.Vector<java.util.Vector<java.lang.Integer>> u, int t)
Méthode qui nous permet de faire une addition entre un vecteur et une colonne d'une matrice.- Parameters:
v- : vecteuru- : matricet- : indice de la colonne- Returns:
- vecteur après addition.
-
subVector
private Marquage subVector(Marquage v, Marquage u)
Méthode qui nous permet de faire une soustraction entre deux vecteurs. Utilisé pour le test de couverture.- Parameters:
v- : vecteuru- : vecteur- Returns:
- le vecteur de différence.
-
couvre
private boolean couvre(Marquage m, java.util.Vector<java.util.Vector<java.lang.Integer>> pre, int t)
Cette méthode permet de vérifier si le marquage du noeud actuel couvre une colonne de la matrice W_moins ou Pré. On va tester si le marquage du noeud est inférieur à la colonne t de la matrice pré.- Parameters:
m- : marquage du noeud.pre- : matrice Pre du modèle.t- : indice de la transition.- Returns:
- Vrai ou Faux.
-
couverture
public boolean couverture(Marquage M, Marquage M1)
Cette méthode permet de determiner si le marquage M1 couvre le marquage M. Si M1 = M -> M1 ne couvre pas M. Si la différence entre M1 et M contient au moins un élément négatif et aucun positif (>0) -> M1 couvre M.- Parameters:
M- : marquage actuel.M1- : marquage suivant.- Returns:
- Vrai ou Faux.
-
containsMarquage
public boolean containsMarquage(java.util.List<Marquage> marquageList, java.util.Vector<java.lang.Integer> marquage)
Méthode qui permet de savoir si un marquage donné est dans la liste de marquages donné.- Parameters:
marquageList- : liste de marquages.marquage- : marquage.- Returns:
- Vrai ou Faux.
-
tryToAddOmegas
public void tryToAddOmegas(Marquage m, Marquage m1)
Méthode essentiel pour le calcul du graphe de couverture. Elle permet d'ajouter les omegas lorsque M1 couvre M.- Parameters:
m- : marquagem1- : marquage
-
calculateCoverabilityGraph
public void calculateCoverabilityGraph()
Méthode qui permet de calculer le GMA / graphe de couverture.
-
-