Package com.tech.app.models.gma
Class ReachabilityGraph
- java.lang.Object
-
- com.tech.app.models.gma.ReachabilityGraph
-
public class ReachabilityGraph extends java.lang.ObjectCette classe nous permet de créer 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 ReachabilityGraph(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.voidcalculateReachabilityGraph()Méthode qui permet de calculer le GMA.booleancontainsMarquage(java.util.List<Marquage> m, java.util.Vector<java.lang.Integer> marquage)private booleancouvre(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 MarquagegetM0()Méthode qui permet de récupérer le marquage initial M0 du modèle.voidupdateModel(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.
-
-