Package com.tech.app.models.gma
Class ReachabilityGraph
- java.lang.Object
-
- com.tech.app.models.gma.ReachabilityGraph
-
public class ReachabilityGraph extends java.lang.Object
Cette classe nous permet de créer 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 ReachabilityGraph(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
calculateReachabilityGraph()
Méthode qui permet de calculer le GMA.boolean
containsMarquage(java.util.List<Marquage> m, java.util.Vector<java.lang.Integer> marquage)
private boolean
couvre(Marquage m, java.util.Vector<java.util.Vector<java.lang.Integer>> pre, int t)
Cette méthode est utilisée dans l'algorithme de création du GMA.java.util.List<Node>
getListe_node()
Méthode qui nous permet de récupérer la liste des noeudsprivate Marquage
getM0()
Méthode qui permet de récupérer le marquage initial M0 du modèle.void
updateModel(Model model)
Méthode qui permet de mettre à jour le modèle.
-
-
-
Constructor Detail
-
ReachabilityGraph
public ReachabilityGraph(Model model)
Constructeur- Parameters:
model
- : modèle actuel, au moment du clic sur la fonction "Générer le GMA".
-
-
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
-
getM0
private Marquage getM0()
Méthode qui permet de récupérer le marquage initial M0 du modèle. C'est-à-dire l'état dans lequel il a été dessiné.- Returns:
- Vecteur d'entiers
-
couvre
private boolean couvre(Marquage m, java.util.Vector<java.util.Vector<java.lang.Integer>> pre, int t)
Cette méthode est utilisée dans l'algorithme de création du GMA. Elle 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
-
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.
-
updateModel
public void updateModel(Model model)
Méthode qui permet de mettre à jour le modèle.- Parameters:
model
- : modèle actuel.
-
containsMarquage
public boolean containsMarquage(java.util.List<Marquage> m, java.util.Vector<java.lang.Integer> marquage)
-
calculateReachabilityGraph
public void calculateReachabilityGraph()
Méthode qui permet de calculer le GMA. Cette méthode utilise l'algorithme énoncé dans le cours de Systèmes à Evénements Discrets (2020) de Mr LHERBIER. Inconvénient : Il n'y a pas de point d'arret. Si le GMA est non borné, la méthode boucle à l'infini.
-
-