Libgraph

= Documentation bibliothèque libgraph =

Le fonctionnement de la bibliothèque libgraph est simple et repose principalement sur cinq classes :

Les classes

 * graph::Model : le nom du modèle, le modèle couplé dans lequel il se trouve (0 s'il n'existe pas), la position dans un graphe du modèle (x, y) ainsi que deux listes de connexions : les connexions d'entrées, les connexions de sorties.
 * graph::CoupledModel : héritatage de graph::Model, il possède un argument traduisant la liste de modèles contenu dans le modèle couplé ainsi que deux listes de connections supplémentaires : les connexions internes d'entrées et de sorties.
 * graph::AtomicModel : héritage de graph::Model, il n'apporte aucune donnée supplémentaire.
 * graph::NoVLEModel : héritage de graph::Model, représente les modèles de traductions, il n'apporte aucune donnée supplémentaire.
 * graph::ModelPortList : héritage vers une association multi entre un Model destination est une liste de port sous forme de chaînes de caractères.
 * graph::ConnectionList : association entre un port d'un modèle graph::Model et un objet graph::ModelPortList représentant les connexions d'un port vers le ou les modèles destination.

Le fonctionnement
Chaque modèle connaît les modèles qui lui sont connectés aussi bien en entrée quand sortie. Cette technique, permet au coordinateur de connaître les connexions avec un complexité en O(1). Un modèle couplé possède deux listes de connexions supplémentaires représentant les connexions d'entrées et de sorties internes au modèle couplé.