Package com.tech.app.models.gma
Class CoverabilityGraph
- java.lang.Object
-
- com.tech.app.models.gma.CoverabilityGraph
-
public class CoverabilityGraph extends java.lang.Object
Cette 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) Marquage
M0
java.util.List<Marquage>
marquagesAccessibles
java.util.List<Marquage>
marquagesATraiter
private Model
model
int
nb_marquages
-
Constructor Summary
Constructors Constructor Description CoverabilityGraph(Model model)
Constructeur
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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.void
calculateCoverabilityGraph()
Méthode qui permet de calculer le GMA / graphe de couverture.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é.boolean
couverture(Marquage M, Marquage M1)
Cette méthode permet de determiner si le marquage M1 couvre le marquage M.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é.java.util.List<Node>
getListe_node()
Méthode qui nous permet de récupérer la liste des noeudsint
getNb_marquages()
private Marquage
subVector(Marquage v, Marquage u)
Méthode qui nous permet de faire une soustraction entre deux vecteurs.void
tryToAddOmegas(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.
-
-