Class ReachabilityGraph


  • public class ReachabilityGraph
    extends java.lang.Object
    Cette classe nous permet de créer le GMA.
    • Field Detail

      • model

        private Model model
      • marquagesAccessibles

        public java.util.List<Marquage> marquagesAccessibles
      • marquagesATraiter

        public java.util.List<Marquage> marquagesATraiter
      • liste_node

        public java.util.List<Node> liste_node
      • nb_marquages

        public int nb_marquages
    • 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 - : vecteur
        u - : matrice
        t - : 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.