Le projet open source DEVSimPy est né en 2007 au sein de l’équipe TIC du laboratoire SPE de l’UDCPP. Ce laboratoire,
UMR CNRS 6134, travaille depuis plus de 20 ans dans le domaine de la M&S de systèmes complexes. Il est notamment spécialisé dans le domaine des systèmes environnementaux modélisés avec le formalisme DEVS.
C’est au travers de ces études que le laboratoire a publié plusieurs travaux sur des extensions du formalisme DEVS répondant à des problématiques issues des différents domaines d’applications comme : la simulation de feux de forêt ; le test comportemental de circuits digitaux ; la simulation comportementale de bassins versants ; la simulation de réseaux de capteurs ; la simulation de mythes et de légendes ; etc.
Ces travaux ont toujours été réalisés dans un objectif de généricité et de réutilisabilité des modèles DEVS. Le langage de programmation utilisé (C, C++, C#, Java, Python) pour implémenter ces travaux dépendait principalement de la nature du domaine d’application et des préférences pour une technologie particulière de la part des personnes en charge de l’étude. Il s’avère que depuis quelques années, la bibliothèque PyDEVS (et sa version parallèle PyPDEVS) est de plus en plus utilisée au sein du laboratoire. Cette librairie développée au début des années 2000 est implémentée en langage Python et offre à l’utilisateur une API permettant de modéliser et de simuler des modèles DEVS à partir de scripts Python. Bien que cette API ait été embarquée dans l’excellent logiciel de multi-modélisation ATOM3, il n’existait pas d’interface graphique exploitant PyDEVS pour faciliter le développement exclusif de modèles DEVS. En effet, lorsque l’utilisateur doit implémenter le couplage entre les modèles DEVS, il doit instancier plusieurs fois une méthode par codage, dans un ordre bien particulier. Cette manipulation est souvent la source d’erreurs qu’il faut ensuite débugger en vérifiant tous les couplages et il faut réitérer cette opération pour chaque système et sous-système modélisé. De plus, il n’existe aucun moyen de réutiliser de manière simple des modèles couplés dans une autre partie du système. L’idée de départ du projet libre DEVSimPy était d’apporter aux utilisateurs de PyDEVS une interface graphique facilitant la connexion des modèles DEVS ainsi que leur réutilisabilité. Il s’est avéré que DEVSimPy est devenu une interface de M&S de systèmes complexes mais bien plus encore puisqu’il est utilisé comme un outil d’implémentation et de validation des nouveaux concepts du formalisme DEVS développés dans l’équipe du projet TIC du laboratoire SPE.
- Git du projet DEVSimPy
- Comment créer un modèle DEVSimPy
- Comment coder un modèle atomique DEVSimPy
- Comment créer un modèle couplé DEVSimPy
- DEVSimPy et QFSM
- Comment créer un diagramme DEVSimPy
- Comment créer un librairie de modèles DEVSimPy
- Comment simuler un modèle DEVSimPy
- Le plugin DEVSimPy Blink
- Le plugin DEVSimPy Verbose
- Le plugin DEVSimPy State Trajectory