Écrit par neox le 29/11/2022
Gem-graph
Un graphe géométrique est un graphe dont les nœuds ont des coordonnées dans un espace. Les graphes géométriques peuvent être utilisés pour représenter une grande variété d'états. Ces états sont dessinés dans l'espace au moyen de liens allant d'un point de l'espace à un autre. Les réécritures successives de ces états par un automate permettent de modéliser des phénomènes complexes. Gem-graph est un logiciel qui permet d'éditer ces états et ces réécritures (ou transitions) et d'exécuter l'automate ainsi créé pour l'observer.
Et c'est quoi Gem-graph ?
Les phénomènes complexes peuvent être définis comme ceux où un grand nombre d'objets de formes et de propriétés très diverses interagissent d'un grand nombre de façons différentes. Même si les interactions particulières entre certains de ces objets ont pu être isolées, étudiées expérimentalement et décrites au moyen d'un modèle simple, le fonctionnement de l'ensemble est difficile à modéliser pour au moins deux raisons:
- certains phénomènes sont rapides et d'autres lents, certains sont localisés et d'autres globaux ;
- toute description non spatiale doit nommer les entités sur lesquelles elle opère pour pouvoir établir des relations entre elles.
Gem-graph permet d'aborder ces deux difficultés en dessinant les objets au lieu de les nommer: l'espace et le temps sont les axes d'un référentiel discret, uniforme et cartésien. La topologie, la dimension et la magnitude de l'espace ne sont pas prédéfinies et ce sont des paramètres choisis par le concepteur du modèle. De plus, dans cet espace peuvent être dessinés une multitude d'états qui sont tous des graphes géométriques. Leurs liens peuvent être pondérés et orientés, et les états peuvent être interprétés comme des objets (parties connexes isolées du graphe), des situations (positions relatives des objets) ou des annotations (décrites plus loin) qui écrivent, dans l'espace même, des informations relatives aux objets ou aux situations auxquels elles sont connectées.
Un ensemble de transitions permet de réécrire chacun de ces états: les objets et les situations dessinés sont réécrits sans qu'il soit nécessaire de les nommer de façon locale, asynchrone et aléatoire. Le passage obligatoire par un état intermédiaire peut permettre de représenter une cause et un effet et toutes les règles de réécriture, parcequ'elles n'opèrent que sur un seul symbole, ont le même format. L'ensemble des réécritures (ou versions) successives constitue l'histoire de la simulation.
Plus d'informations sur la théorie liée au projet sont disponibles dans le répertoire de Gem-graph sur la forge de Libre en Communs !
Notre projet
Gem-graph est un système composé de deux logiciels en architecture client/serveur : un serveur réalise le calcul lourd de simulation de la manière la plus optimale possible, et un client permet de contrôler cette simulation, de la paramétrer, de modifier son modèle et de gérer la collaboration de différentes personnes à l'évolution du modèle.
Cela signifie que le client aura une interface graphique la plus ergonomique possible pour ce type de tâches. Les technologies choisies sont Python3/GTK4.
Le serveur quant à lui aura un grand ensemble de tâches à gérer. Il devra notamment permettre à plusieurs clients d'exécuter leur simulation, de gérer les opérations d'échange de modèles entre clients et entre serveurs. Ainsi, nous prévoyons d'utiliser les technologies C, LibXML et XMPP.
Les objectifs du projet
L'objectif est que Libre en Communs, recrute une ou des personne(s) pour réaliser l'implémentation du logiciel client Gem-graph. Cette ou ces personne(s) serai(en)t embauchée(s) pour, au total, un équivalent temps plein de 6 mois, avec un salaire de 16.42 €/heure. Cela signifie un budget de 24 047 € pour Libre en Communs. C'est la raison pour laquelle nous faisons une demande de financement à NLnet pour parvenir à mettre en oeuvre ce projet.
Le travail à effectuer consistera à continuer et finaliser l'implémentation du client Gem-graph qui devra communiquer avec le serveur Gem-graph.
Publications liées au projet
Sirmai Jean, (2022) The Paradox of Autopoietic Dissipative Structures. (Currently submitted to BioSystems: Special issue on 50 years of Varela Francisco's original work on autopoiesis).
Sirmai Jean, (2013) Autopoiesis facilitates self-reproduction. ECAL 2013: The 12th European Conference on Artificial Life.DOI:10.7551/978-0-262-31709-2-ch060 Corpus ID: 18709912
Sirmai, J. (2011). A Schematic Representation of Autopoiesis Using a New Kind of Discrete Spatial Automaton. ECAL 2011: The 11th European Conference on Artificial Life. MIT Press. DO - 10.7551/978-0-262-29714-1-ch114