• Amélioration de la simulation et de l'analyse des scénarios opérationnels des aéronefs grâce à la transformation des diagrammes d'activité SysML en BPMN par Fabien Bouffaron (Airbus), Frederique Populus (Airbus), Fatima-Ez-Zahra Asli (Airbus), Mihal Brumbulli et Emmanuel Gaudin à la conférence ERTS 2026, février 2026. Présentation vidéo.

    L'industrie aérospatiale est confrontée à des scénarios opérationnels extrêmement complexes et critiques, comme la manutention au sol des aéronefs, où l'efficacité et la sécurité sont primordiales. La simulation est devenue essentielle pour gérer cette complexité, permettant l'analyse et l'optimisation. L'analyse du chemin critique (ACC) aide à identifier la séquence des tâches déterminant la durée totale. Bien que les opérations soient formalisées, les outils d'ingénierie système basée sur les modèles (MBSE) utilisant des diagrammes d'activité SysML (AD) ne proposent pas d'ACC sophistiquée ni de vérification formelle. Pour pallier ces limitations, cet article propose une approche de transformation de modèles pour convertir les diagrammes d'activité SysML en diagrammes BPMN (Business Process Model and Notation). Les contributions de cet article comprennent la définition de règles de mappage pour la transformation des constructions pertinentes des diagrammes d'activité SysML en BPMN et la démonstration de la faisabilité de cette transformation à l'aide d'une étude de cas portant sur la phase d'immobilisation d'un aéronef. Les résultats montrent que cette approche permet des analyses avancées, telles que l'ACC stochastique et la vérification formelle, difficiles à réaliser directement dans l'environnement de modélisation SysML d'origine.

  • Optimisation des opérations industrielles grâce à la formalisation des processus métier par Mihal Brumbulli et Emmanuel Gaudin lors de SAM 2025, octobre 2025. Présentation vidéo.

    Les projets industriels de grande envergure connaissent souvent des retards importants et des dépassements de coûts en raison de la complexité inhérente aux opérations industrielles modernes. Ces défis nécessitent des mécanismes de contrôle des processus robustes afin d’optimiser les délais et les dépenses. Pour améliorer l’efficacité opérationnelle et garantir la conformité aux normes internationales telles que l’ISO, la formalisation des processus métier est devenue indispensable. Cette formalisation constitue une étape essentielle pour assurer un suivi efficace des activités au sein d’organisations complexes. Lorsqu’ils sont correctement modélisés, les processus métier peuvent être davantage optimisés grâce à des techniques de vérification et de simulation. Cette étude examine les travaux menés par PragmaDev en collaboration avec Airbus dans le cadre du projet OneWay. Les principaux objectifs du projet incluaient la vérification et la simulation des processus métier afin d’évaluer les implications en termes de coûts et d’efficacité des délais. De plus, l’étude a exploré des méthodologies pour gérer la variabilité des modèles et développer des architectures de jumeaux numériques visant à améliorer l’optimisation des processus industriels.

  • Les processus métier dans un cadre industriel par Mihal Brumbulli et Emmanuel Gaudin à la conférence CSD&M, Décembre 2024.

    Il est assez courant de connaître des retards substantiels ou des coûts supplémentaires dans les grands projets industriels. Cela n'est pas surprenant compte tenu de la complexité des opérations industrielles de nos jours. Comme cela constitue une menace pour leur activité, les entreprises cherchent des moyens de contrôler les délais et les coûts associés à leurs opérations. Pour cela et pour des raisons de qualité, les organismes internationaux tels que l'ISO exigent désormais que les processus métier soient formalisés. C'est une première étape qui permet de suivre ce qui se passe dans une organisation complexe. Mais lorsque ces processus sont formalisés dans un modèle approprié, c'est en fait l'occasion d'en faire beaucoup plus. Cet article porte sur le travail effectué par PragmaDev sur un cas d'utilisation industriel réel fourni par Airbus dans le cadre du projet de recherche OneWay. Le projet se concentrait principalement sur la vérification et la simulation des processus métier afin d'évaluer le coût et le délai d'exécution. C'était également l'occasion d'étudier comment gérer la variabilité des modèles et comment un jumeau numérique pourrait être architecturé.

  • Vérification de modèle indépendante du langage pour SDL par Mihal Brumbulli, Emmanuel Gaudin, et Eric Brunel à SAM, Octobre 2023. Présentation vidéo.

    Le SDL a été conçu pour décrire de manière détaillée et précise des systèmes communicants. En raison de sa nature asynchrone, le comportement est basé sur des machines d'états fonctionnant simultanément, ce qui rend la vérification de modèle d'un système SDL difficile. La création et la suppression d'instances dynamiques avec des PIDs calculés aléatoirement à la volée peuvent créer différents états du système qui devraient être considérés comme équivalents. Le nombre d'entrées possibles crée un tel nombre d'états du système qu'il est souvent trop grand pour être géré. De plus, lors de l'exploration, certaines variables internes, en raison de leurs valeurs, peuvent créer de nouveaux états alors qu'elles n'influencent pas réellement le comportement du système. Enfin, les vérificateurs de modèles existants sont basés sur leur propre langage qui n'est souvent pas aligné avec le langage de modélisation, SDL pour notre cas. Après quatre années de collaboration sur plusieurs projets industriels, l'ENSTA Bretagne et PragmaDev ont proposé une nouvelle approche de la vérification de système. Dans cet article, nous présentons le résultat de ce travail. Il combine quatre idées principales : 1) utiliser un moteur d'exécution basé nativement sur le langage de modélisation et séparé du vérificateur de modèle 2) restreindre les valeurs d'entrée possibles sans modifier le système lui-même 3) identifier les variables internes qui ne sont pas pertinentes pour l'état du système 4) réaffecter les PID et trier les instances pour identifier l'état du système.

  • Identifier les chemins inaccessibles dans les modèles BPMN par Mihal Brumbulli, Emmanuel Gaudin, et Ciprian Teodorov à CSD&M, Décembre 2020.

    Les modèles d’organisations, de systèmes et de systèmes de systèmes complexes peuvent être décrits avec NAF (NATO Architecture Framework) ou DoDAF (DoD Architecture Framework). La notation Business Process Model Notation (BPMN) fait partie de NAF et permet de décrire le comportement des différents acteurs du modèle. Cette notation est utilisée par l’Armée de Terre française ainsi que par ses principaux fournisseurs pour décrire les interactions entre les acteurs impliqués dans une mission. Il est donc primordial que les modèles soient corrects. Le projet VeriMoB est un projet de recherche financé par la DGA (Direction Générale de l’Armement) en collaboration avec Eurocontrol et Airbus DS qui ont fourni des cas d’utilisation réels. Le projet visait à développer un outil qui aidera les utilisateurs à vérifier leurs modèles BPMN. Cet outil couvre trois aspects principaux : une vérification statique, une exécution interactive, une exploration automatique des scénarios possibles. Suite à une demande du tout premier utilisateur de l’outil, cet article présentera l’analyse et la mise en œuvre d’un moyen automatique d’identifier les chemins inaccessibles dans un modèle BPMN en utilisant la technologie OBP issue du laboratoire de recherche ENSTA Bretagne.

  • Vérification automatique des modèles BPMN par Mihal Brumbulli, Emmanuel Gaudin, et Ciprian Teodorov à ERTS2, Janvier 2020. Présentation vidéo.

    Les modèles de systèmes complexes et de systèmes de systèmes sont décrits avec NAF (NATO Architecture Framework) ou DoDAF (DoD Architecture Framework). La notation Business Process Model Notation (BPMN) fait partie de NAF et permet de décrire le comportement des différents acteurs du modèle. Cette notation est utilisée par l’Armée de Terre française et ses principaux fournisseurs pour décrire les interactions entre les acteurs impliqués dans une mission. Il est donc important que les modèles soient corrects. Le projet VeriMoB est un projet de recherche financé par la DGA (Direction Générale de l’Armement) qui vise à développer un outil qui aidera les utilisateurs à vérifier leurs modèles BPMN. Cet outil couvre trois aspects principaux : la vérification statique, l’exécution interactive, l’exploration automatique des scénarios possibles. Cet article se concentre sur l’exploration automatique du modèle avec la technologie OBP issue du laboratoire de recherche ENSTA Bretagne.

  • Optimisation des systèmes : un cas d'utilisation dans le domaine spatial par Mihal Brumbulli, Emmanuel Gaudin, Alexandre Cortier et Alain Rossignol à ERTS2, janvier 2018. Présentation vidéo.

    La mission JUICE (JUpiter ICy moons Explorer) est la première mission de grande envergure du programme Cosmic Vision 2015-2025 de l'Agence spatiale européenne. Son lancement était prévu en 2022 et son arrivée à Jupiter en 2030. Elle devait consacrer au moins trois ans à l'observation détaillée de la plus grande planète du Système solaire et de trois de ses principales lunes : Ganymède, Callisto et Europe. JUICE embarquera 11 expériences scientifiques (instruments) destinées à étudier la planète géante gazeuse et ses grandes lunes abritant des océans. Chaque instrument effectuera des mesures produisant des flux de données, stockés dans la mémoire de masse embarquée puis transmis vers la Terre selon un protocole spécifique. Cet article présente une approche fondée sur les modèles pour optimiser le système en fonction des paramètres des instruments, de la configuration de la mémoire de masse et de l'allocation des bandes de transmission. Nous utilisons des langages normalisés de modélisation et de test, dotés d'une sémantique formelle, pour décrire le système et différents scénarios de configuration. Ceux-ci sont ensuite exécutés en cosimulation afin d'obtenir (1) des résultats très précis et (2) une comparaison graphique des configurations facilitant les compromis.

  • Vers une simulation de l'Internet des objets dirigée par les modèles par Mihal Brumbulli et Emmanuel Gaudin à CSD&M, janvier 2016. Présentation vidéo.

    L'Internet des objets (IoT) désigne l'interconnexion en réseau d'objets dotés d'une intelligence omniprésente, ou plus simplement d'« objets intelligents ». Le qualificatif « intelligent » est souvent associé à des termes comme réseau électrique, maison ou stationnement pour désigner le domaine d'application. Cette intelligence repose sur des applications logicielles et/ou des services fonctionnant sur de vastes infrastructures de communication distribuées. L'hétérogénéité et l'échelle de distribution témoignent de la complexité de ces systèmes et imposent une analyse approfondie avant tout déploiement dans les environnements cibles. Cet article présente une approche dirigée par les modèles pour analyser les applications de l'IoT par simulation. Des langages de modélisation normalisés, la génération de code ainsi que la simulation et la visualisation de réseaux sont réunis dans un environnement de développement intégré permettant une analyse rapide et automatisée.

  • Entrelacement automatique pour le test des systèmes distribués par Mihal Brumbulli et Emmanuel Gaudin à ERTS2, janvier 2016. Présentation vidéo.

    L'intérêt toujours croissant pour les systèmes distribués à grande échelle, tels que l'Internet des objets, pose de nombreux défis aux développeurs et aux chercheurs de différents domaines. Le développement d'applications logicielles distribuées est loin d'être trivial, et leur complexité intrinsèque se manifeste particulièrement lors des tests. En effet, tester le fonctionnement de nœuds isolés ne suffit pas, car celui-ci peut être affecté par la distribution et les communications entre les nœuds. Réécrire un cas de test pour prendre en compte la distribution n'est ni efficace ni simple, car la concurrence d'exécution est toujours difficile à mettre en œuvre. Cet article présente une approche qui entrelace automatiquement l'exécution des cas de test afin de simuler la concurrence inhérente aux systèmes distribués. Nous nous intéressons aux cas de test indépendants susceptibles de présenter des corrélations du fait des interactions distribuées. Appliquée à des langages normalisés de modélisation et de test, cette approche permet d'identifier, pendant l'exécution des cas de test, les points d'interaction dépendant de la distribution. Les cas de test sont ensuite réexécutés avec un entrelacement à ces points afin de tenir compte de la distribution.

  • Une expérimentation pour introduire les interruptions en SDL par Emmanuel Gaudin et Alain Clouard au 17e SDL Forum, octobre 2015. Présentation vidéo.

    Les technologies de modélisation propres à la conception de matériel numérique reposent généralement sur des descriptions synthétisables au niveau transfert de registres, précises au cycle près (VHDL ou Verilog RTL), ou sur des modèles au niveau transaction, précis au bit près (SystemC TLM). Compte tenu de la complexité actuelle des circuits tels que les systèmes sur puce (SoC) destinés aux systèmes embarqués multimédias, ainsi que des logiciels embarqués qui interagissent avec eux, un niveau d'abstraction supérieur est nécessaire pour faciliter la maîtrise de ces interactions dès les premières étapes conceptuelles du développement d'un produit. Le langage de spécification et de description SDL permet de décrire des modèles fonctionnels indépendamment de leur implémentation. Cet article présente les travaux menés par STMicroelectronics et PragmaDev pour expérimenter l'utilisation de descriptions fonctionnelles SDL de haut niveau dans un scénario simple et représentatif d'interaction matériel/logiciel faisant intervenir la gestion des interruptions.

  • SDL, le langage de l'Internet des objets par Edel Sherratt, Pau Fonseca i Casas, Finn Kristoffersen, Ilean Ober et Emmanuel Gaudin au 17e SDL Forum, octobre 2015. Présentation vidéo.

    Les objets intelligents interconnectés constituent une composante importante et en forte croissance de l'Internet actuel. Un objet intelligent peut être aussi simple qu'un dispositif connecté au Web qui collecte et transmet des données de capteurs à un serveur pour analyse, ou aussi complexe qu'un système connecté permettant de surveiller et de gérer une maison intelligente. Ces objets offrent des possibilités remarquables, mais leur participation à des systèmes complexes met à l'épreuve notre capacité à maîtriser les risques et à garantir la fiabilité.
    SDL, le langage normalisé de spécification et de description de l'UIT, offre de nombreux avantages pour modéliser et simuler des agents communicants, tels que les objets intelligents, avant leur déploiement. Le potentiel de SDL pour améliorer la fiabilité et la sûreté de fonctionnement est examiné à partir d'objets intelligents existants.
    Cependant, SDL doit évoluer pour devenir le langage de référence du développement de la prochaine génération d'objets intelligents. Il doit notamment prendre en charge les plateformes émergentes de l'IoT, permettre de simuler les interactions entre objets existants et nouveaux objets, et faciliter le déploiement d'un grand nombre d'objets similaires. Il est également nécessaire de mieux faire connaître les avantages potentiels de SDL pour qu'ils puissent être exploités dans l'Internet des objets actuel et futur.

  • Note de certification de l'AESA sur les aspects logiciels de la certification par l'Agence européenne de la sécurité aérienne, 11 août 2011.

    Le chapitre 23, consacré à la validation et à la vérification des exigences et des conceptions logicielles fondées sur les modèles, cite notamment SDL (LDS dans le texte) comme technologie de modélisation pour concevoir les logiciels embarqués des équipements aéronautiques.

  • UML en pratique – Article de Marian Petre (2013), présenté à la 35e Conférence internationale sur le génie logiciel (ICSE 2013), du 18 au 26 mai 2013, à San Francisco, Californie, États-Unis.

    UML a été décrit par certains comme la « lingua franca du génie logiciel ». Les observations réalisées dans l'industrie ne confirment pas nécessairement ces affirmations. Comment UML est-il réellement utilisé dans l'industrie, lorsqu'il l'est ? Cet article présente un ensemble d'entretiens menés auprès de 50 ingénieurs logiciels professionnels dans 50 entreprises et identifie cinq modes d'utilisation d'UML.

  • Visualisation de la simulation des systèmes de communication distribués par Mihal Brumbulli et Joachim Fischer – Winter Simulation Conference 2012 – Berlin, du 9 au 12 décembre 2012.

    « La simulation est une méthode couramment utilisée pour analyser et valider les systèmes de communication distribués en raison de la complexité de leur dynamique. La visualisation apporte une valeur ajoutée reconnue, particulièrement dans le cas des grands réseaux. Cet article propose une nouvelle approche et des outils pour visualiser la simulation de systèmes de communication distribués décrits formellement. Le système est modélisé en SDL-RT (Specification and Description Language – Real Time), puis un modèle de simulation destiné au simulateur de réseau ns-3 est généré automatiquement. La visualisation du réseau est associée aux diagrammes de séquence de messages (MSC) afin de fournir une représentation visuelle détaillée de la dynamique du système. La sémantique formelle des MSC permet également de valider le système. »

  • Livre blanc SDL-RT.

    « Un logiciel temps réel ou embarqué est, par définition, un logiciel que personne ne voit, mais qui est soumis à certaines des contraintes les plus fortes de l'industrie logicielle, notamment une fiabilité élevée, une faible empreinte mémoire et des performances importantes. Parallèlement, les exigences applicables aux logiciels embarqués deviennent de plus en plus complexes : tous les appareils doivent désormais pouvoir communiquer entre eux, tandis que la baisse du prix des composants matériels permet d'utiliser des processeurs puissants dans de petits systèmes. Ce qui représentait autrefois quelques centaines d'octets de code assembleur correspond aujourd'hui à des centaines de milliers de lignes de code C. Il est donc essentiel, pour les développeurs de logiciels temps réel, de garantir une architecture logicielle de qualité, des interfaces clairement définies avec les autres modules ainsi qu'un code lisible et réutilisable. La réduction des délais de mise sur le marché impose également de développer le logiciel avant que le matériel soit disponible : la simulation et le prototypage logiciel sont désormais indispensables. »

  • Modélisation de la configuration de simulation des systèmes de communication distribués par Mihal Brumbulli et Joachim Fischer – Atelier System Analysis and Modeling, SAM 2012 – Innsbruck, 1er et 2 octobre 2012 (accès restreint).

    « La simulation est souvent la méthode privilégiée pour analyser et valider les systèmes de communication distribués en raison de la complexité de leur dynamique. Toutefois, la modélisation pour la simulation n'est pas une tâche triviale, principalement parce qu'il n'existe pas d'approche unifiée permettant de décrire tous les aspects de ces systèmes complexes : architecture, comportement, communication et configuration. Cet article s'intéresse à la configuration de la simulation dans le cadre de notre approche de modélisation unifiée fondée sur SDL-RT (Specification and Description Language – Real Time). Des diagrammes de déploiement sont utilisés pour décrire la configuration des composants de la simulation et les valeurs de configuration d'un système distribué. Nous proposons des outils permettant de générer automatiquement l'implémentation des modèles pour la bibliothèque de simulation de réseaux ns-3. »

  • Développement dirigé par les modèles de systèmes auto-organisés d'alerte précoce aux séismes par Joachim Fischer, Frank Kühnlenz et Klaus Ahrens – Atelier UIT-T sur les langages de conception de systèmes – Genève, 15 et 16 septembre 2008 (accès restreint).

    « Une nouvelle approche des systèmes d'alerte précoce aux séismes (EEWS) est présentée. Elle repose sur des réseaux maillés de capteurs sans fil auto-organisés. Pour développer le prototype de telles infrastructures informatiques, nous adoptons un paradigme de développement de systèmes dirigé par les modèles. La modélisation combine les technologies SDL, ASN.1, UML et C++ pour générer le code destiné à différents simulateurs ainsi qu'à la plateforme cible, composée de plusieurs types de nœuds. Cette approche est utilisée pour réaliser un prototype d'EEWS développé dans le cadre du projet européen SAFER (Seismic eArly warning For EuRope), en collaboration avec le GeoForschungszentrum Potsdam. »

  • Une nouvelle implémentation du contrôle d'accès au support IEEE 802.11 par l'Université de technologie Sharif (accès restreint).

    « Ces travaux présentent de nouvelles approches d'optimisation de l'implémentation de la couche de contrôle d'accès au support (MAC) du protocole de réseau sans fil IEEE 802.11, à l'aide de processeurs de signal numériques (DSP) polyvalents et de circuits logiques programmables. L'optimisation commence dès la conception. La répartition entre matériel et logiciel de l'architecture MAC est optimisée pour réduire au minimum la complexité de l'implémentation, tout en préservant les fonctionnalités et les performances du système. La méthode de répartition et d'implémentation proposée évite le recours à un système d'exploitation temps réel (RTOS), ce qui permet d'obtenir une structure logicielle MAC simple, rapide et peu gourmande en mémoire. Des solutions telles que les tables de hachage et le traitement en pipeline sont également proposées et utilisées pour améliorer les performances. La partie logicielle est implémentée sur le processeur DSP C54 de Texas Instruments, largement répandu et peu coûteux, tandis que la partie matérielle repose sur un Virtex2vp30 de Xilinx. »

  • Implémentation du mécanisme de snapshot de TTCN-3.

    « L'implémentation de TTCN-3 dans l'outil RTDS a soulevé plusieurs questions. Le concept de snapshot défini par la norme TTCN n'existe pas dans les systèmes d'exploitation temps réel (RTOS) traditionnels. Cet article présente d'abord brièvement TTCN-3, puis explique les différentes justifications possibles et le concept de snapshot. Il rappelle ensuite les principes de fonctionnement événementiel des principaux RTOS, avant de présenter plusieurs solutions permettant d'implémenter le mécanisme de snapshot. »

  • Le langage SDL et son domaine d’emploi (French).

    "Nous allons passer en revue les concepts du langage SDL, son historique, et évaluer les forces et faiblesses respectives de SDL et UML afin de projeter ce qui, à notre avis, serait une solution optimale pour l’utilisation de l’un ou l’autre de ces langages."

  • L'essor de l'abstraction et les changements organisationnels : préserver le contrôle humain à l'ère de l'intelligence artificielle par Emmanuel Gaudin, PragmaDev, à SAM 2026, octobre 2026. Poster.

    L'histoire de l'humanité peut être considérée comme une progression continue vers des niveaux d'abstraction toujours plus élevés. Le langage abstrait les expériences physiques en concepts, les plans architecturaux abstraient les constructions physiques en structures, et la programmation informatique abstrait les opérations électroniques en descriptions logiques. Dans tous les domaines, l'abstraction permet de se concentrer sur les objectifs plutôt que sur les détails de mise en œuvre, rendant ainsi possible la compréhension, la conception et la gestion de systèmes de plus en plus complexes. Cet article examine l'abstraction comme un moteur fondamental de l'évolution technologique et organisationnelle. Il clarifie d'abord la distinction entre abstraction et représentation, en soulignant que l'abstraction concerne avant tout les concepts et leur signification plutôt que leur forme graphique. Il analyse ensuite comment l'augmentation du niveau d'abstraction déplace progressivement l'attention de la question de savoir comment les systèmes sont réalisés vers celle de savoir ce qu'ils sont censés accomplir. Cette évolution fait émerger le rôle de l'architecte, dont la responsabilité principale est de coordonner les intentions, les structures et les contraintes entre différents domaines d'expertise. L'article montre que l'abstraction ne transforme pas seulement les technologies, mais également les organisations. À mesure que le niveau d'abstraction augmente, de nouvelles formes de coordination, de visibilité et de contrôle apparaissent, modifiant la répartition des responsabilités et de l'autorité au sein des organisations. Ces changements suscitent souvent des résistances de la part de spécialistes qui peuvent percevoir les niveaux d'abstraction supérieurs comme une menace pour leur expertise, leur autonomie ou leur identité professionnelle. Ces résistances ne sont pas interprétées comme une simple opposition au changement, mais comme une conséquence structurelle de l'abstraction elle-même. Enfin, l'article examine les implications de l'intelligence artificielle pour l'avenir du génie logiciel. Il soutient que la contribution majeure de l'IA pourrait ne pas résider dans la génération directe de code source, mais plutôt dans la génération et la maintenance de modèles qui restent compréhensibles par les humains tout en permettant une mise en œuvre automatisée. L'article conclut que les progrès futurs dépendront non seulement de la création de niveaux d'abstraction plus élevés, mais aussi de la préservation de la compréhension humaine, de la cohérence organisationnelle et d'un contrôle effectif sur des systèmes toujours plus complexes.

  • Le projet norvégien SISU : histoire et impact à long terme d’un effort précurseur en MDD par Stein Erik Ellevseth, chercheur honoraire ABB ; Peter Herrmann, Norwegian University of Science and Technology (NTNU) ; Emmanuel Gaudin, PragmaDev ; Juergen Dingel, Queen’s University, présenté lors de Models 2025, octobre 2025.

    Lors de la 15ᵉ conférence System Analysis and Modelling (SAM) en octobre 2023, une session dédiée a été consacrée à la discussion du passé, du présent et de l’avenir du Model-Driven Development (MDD). La session s’est concentrée sur les thèmes de l’histoire, de l'impact, des enseignements tirés et des obstacles à l’adoption du MDD. Dans le cadre de l’histoire et de l’impact, les résultats du projet norvégien de R&D « Support to Integrated System Development » (SISU) ont été discutés, ainsi que des approches de développement récentes similaires au MDD. Le projet SISU portait sur le MDD fondé sur le Specification and Description Language (SDL), un langage de modélisation normalisé par l’Union Internationale des Télécommunications (UIT). Les intervenants ont reconnu que la qualité des systèmes produits dans SISU était généralement très élevée, car SDL et les concepts utilisés dans un modèle reflètent bien la réalité, ce qui facilite leur compréhension. Néanmoins, l’adoption du MDD n’a pas progressé comme prévu après la fin du projet. La discussion sur les obstacles au MDD a mis en lumière des défis majeurs selon deux perspectives : l’expérience des utilisateurs et le support des outils. Outre quelques enseignements tirés, cet article présente un ensemble de recommandations susceptibles d’aider à relever ces défis et de favoriser une utilisation plus répandue du MDD dans l’ingénierie logicielle à l’avenir.

  • Essais de code minimal avec SDL et BPMN par Emmanuel Gaudin à SAM 2024, septembre 2024. Version étendue dans le journal ISSE (Innovations in Systems and Software Engineering), aout 2026.

    Il existe une forte demande d'environnements de développement de code minimal, qu'il s'agisse d'accélérer le développement d'applications dans un environnement hautement technique ou de permettre aux utilisateurs finaux de personnaliser un appareil. Selon le cabinet IDC en janvier 2023, le marché devrait connaître une croissance annuelle de 17,8 % de 2021 à 2026, avec des revenus projetés atteignant 21 milliards de dollars. Le code minimal sert d'abstraction aux langages de programmation traditionnels, ressemblant à un langage de modélisation. Diverses notations propriétaires de code minimal ont été développées spécifiquement, bien qu'elles manquent de standardisation, de portabilité et de réutilisabilité, nécessitant souvent un certain niveau de formation. Cette étude se penche sur les caractéristiques des notations de code minimal et examine si les langages de modélisation standard établis comme SDL ou BPMN pourraient servir d'alternatives viables à travers des cas d'utilisation pratiques simples.

  • Vérification des propriétés sur les systèmes pilotés par événements par Mihal Brumbulli et Emmanuel Gaudin à CSD&M, Décembre 2022.

    De nos jours, la plupart des systèmes peuvent communiquer entre eux. De manière générale, un système communicant est un système piloté par événements. Le comportement est basé sur des machines à états déclenchées par des messages échangés entre des entités distantes, l'exécution des différents agents est asynchrone et de nombreuses données sont transférées. La combinaison d'entités concurrentes et les valeurs possibles des données échangées génèrent un nombre massif de chemins d'exécution. Pour ces différentes raisons, la vérification des propriétés sur de tels systèmes est un défi. Les vérificateurs de modèles existants sont basés sur leurs propres langages de modélisation qui ont été créés à des fins d'exploration, et non de modélisation d'un système communicant. Aujourd'hui, la meilleure notation de modélisation pour décrire les systèmes communicants de manière détaillée et précise est le SDL, qui est d'ailleurs normalisé par l'UIT-T. Le SDL est non seulement utilisé pour les systèmes de télécommunication, mais aussi dans les domaines aérospatial et automobile. La vérification des propriétés sur les systèmes SDL présente un grand intérêt. Après quatre ans de collaboration sur plusieurs projets industriels, l'ENSTA Bretagne et PragmaDev ont mis au point une nouvelle approche de la vérification des propriétés. Dans cet article, nous présentons le résultat de ce travail. Il combine quatre idées principales : 1) utiliser un moteur d'exécution basé nativement sur SDL 2) restreindre les valeurs d'entrée possibles sans modifier le système lui-même 3) réduire l'état du système 4) utiliser le PSC (Property Sequence Chart) pour écrire la propriété et la transmettre au vérificateur de modèle.

  • Une tentative de conversion des modèles BPMN en SDL par Mihal Brumbulli et Emmanuel Gaudin à la conférence SAM, Octobre 2020.

    Les modèles de systèmes complexes et de systèmes de systèmes sont décrits avec NAF (NATO Architecture Framework) ou DoDAF (DoD Architecture Framework). Business Process Model and Notation (BPMN) fait partie de NAF et permet de décrire le comportement des différents intervenants du modèle. Cette notation est utilisée par l’Armée française ainsi que par ses principaux fournisseurs pour décrire les interactions entre les intervenants impliqués dans une mission. Il est donc important que les modèles soient corrects. Le projet VeriMoB était un projet de recherche financé par la DGA (Direction Générale de l’Armement) qui visait à développer un outil qui aidera les utilisateurs à valider leurs modèles BPMN auprès des parties prenantes. L’outil devait couvrir trois aspects principaux : une vérification statique, une exécution interactive et une exploration automatique des scénarios possibles. Cet article présentera le travail effectué pour tenter de convertir BPMN en SDL afin de remplir cet objectif avec un ensemble d’outils existant.

  • Des objectifs de test formels à TTCN-3 pour la vérification des systèmes logiciels complexes de contrôle ETCS par Rabea Ameur-Boulifa, Ana Cavalli et Stephane Maag à ICSoft, juillet 2019.

    La conception d'une méthodologie logicielle à la fois pratique et rigoureuse permettant de garantir la correction et la sûreté des systèmes reste un défi majeur. Lorsque la couverture des tests est insuffisante, l'analyse formelle offre un potentiel bien supérieur pour découvrir les erreurs et les failles de sûreté dès la phase de conception. Toutefois, les méthodes de vérification formelle nécessitent souvent une expertise technique poussée qui limite leur utilisation. Cet article présente un cadre fondé sur les tests et la vérification pour garantir la correction et la sûreté de systèmes logiciels distribués complexes. Notre méthodologie permet d'obtenir des systèmes plus fiables sur les plans fonctionnel, de la sûreté et de la robustesse, tout en réduisant le temps nécessaire à leur vérification. Pour démontrer son applicabilité, nous l'avons mise en œuvre sur un cas industriel réel : le système européen de contrôle des trains (ETCS) (groupe ERTMS de la Commission européenne, 2017). Nous spécifions le système en langage SDL (UIT-T, 2019) et utilisons un outil de génération de tests pour produire des cas de test abstraits en TTCN-3. À partir de ces tests normalisés, nous vérifions par exploration de modèles certaines propriétés critiques du système, notamment celles liées aux exigences de sûreté. Nous analysons un accident ferroviaire réel et montrons comment l'utilisation du système ETCS aurait pu l'éviter.

  • Vérification des modèles BPMN par Mihal Brumbulli et Emmanuel Gaudin à CSD&M, décembre 2019. Présentation vidéo.

    Les modèles de systèmes complexes et de systèmes de systèmes sont décrits à l'aide de NAF (NATO Architecture Framework) ou de DoDAF (DoD Architecture Framework). La notation BPMN (Business Process Model and Notation) fait partie de NAF et permet de décrire le comportement des différents participants d'un modèle. Cette notation est utilisée par l'armée française ainsi que par ses principaux fournisseurs pour décrire les interactions entre les participants à une mission. Il est donc essentiel que ces modèles soient corrects. VeriMoB est un projet de recherche financé par la Direction générale de l'armement (DGA), mené en collaboration avec Eurocontrol et Airbus DS, qui ont fourni des cas d'utilisation réels. Le projet vise à développer un outil permettant aux utilisateurs de vérifier leurs modèles BPMN. Cet outil couvre trois aspects principaux : la vérification statique, l'exécution interactive et l'exploration automatique des scénarios possibles. Cet article présente les résultats de ce projet.

  • Modélisation asynchrone des systèmes ferroviaires. par Emmanuel Gaudin, PragmaDev, France, à ERTS2 2016, janvier 2016. Présentation vidéo (en français).

    Les modèles utilisés dans l'industrie ferroviaire reposent souvent sur des technologies synchrones telles que Matlab ou Scade. Ce choix s'explique par des raisons techniques, mais les concepts de ces technologies conduisent à des modèles dont le niveau d'abstraction est très faible, proche de celui de l'implémentation. Il existe ainsi un écart important entre les exigences exprimées en langage naturel et le modèle, qui constitue essentiellement une implémentation. La complexité croissante des systèmes, qui associent plusieurs sous-systèmes communicants, appelle des modèles plus abstraits. Cet article examine d'abord les raisons de l'utilisation des technologies synchrones dans ce type de systèmes, puis décrit une expérimentation de technologies asynchrones sur un cas ERTMS réel fourni par la SNCF. Il conclut en montrant comment la modélisation asynchrone pourrait faire le lien entre les exigences textuelles informelles et l'implémentation du système.

  • Optimisation des performances des systèmes SDL. par Mihal Brumbulli et Emmanuel Gaudin à SAM 2016, octobre 2016. Présentation vidéo.

    La complexité croissante des systèmes logiciels alimente constamment l'intérêt pour des méthodes d'analyse pragmatiques. Bien que ces méthodes soient nombreuses, leur application efficace nécessite une expertise supplémentaire, souvent éloignée du processus de développement ou du domaine d'application du système. Le paradigme dirigé par les modèles facilite le développement et l'analyse grâce à l'automatisation. Il peut répondre en partie à cette difficulté en élevant le niveau d'abstraction pour le rapprocher du domaine métier. La complexité intrinsèque est alors transférée du modèle vers le processus d'automatisation. Cette approche s'est révélée efficace pour les aspects fonctionnels, mais les aspects non fonctionnels, tels que les performances, restent difficiles à traiter. Cet article présente une approche d'analyse des performances dirigée par les modèles et fondée sur des langages normalisés. SDL permet de décrire les aspects fonctionnels du système, enrichis ensuite d'annotations relatives aux performances. Les diagrammes de déploiement permettent d'affecter les ressources disponibles aux composants du système, tandis que l'exécution des modèles est pilotée par de véritables cas de test TTCN-3. L'exécution automatique de différents scénarios et la présentation graphique des résultats aident l'utilisateur à optimiser les performances en choisissant la meilleure allocation des ressources en matière de temps d'exécution et de charge utile.

  • Tests fondés sur les modèles : une approche avec SDL/RTDS et DIVERSITY. par Alain Faivre, Arnault Lapitre, Juliend Deltour et Emmanuel Gaudin à SAM 2014, septembre 2014. Présentation vidéo.

    L'objectif du laboratoire commun PragmaList, réunissant PragmaDev et le CEA LIST, est d'intégrer l'outil de génération de tests DIVERSITY à l'environnement de modélisation SDL Real Time Developer Studio (RTDS). L'environnement obtenu vise à enrichir RTDS d'une approche de test fondée sur les modèles. Après une brève présentation des caractéristiques de RTDS et de DIVERSITY, cet article décrit les travaux réalisés pour intégrer les deux environnements. Il expose ensuite les principes fondamentaux de DIVERSITY, fondés sur l'exécution symbolique, qui permet de générer des cas de test au format TTCN-3. L'article présente également les critères de couverture disponibles pour la génération intégrée de cas de test. Il conclut sur la stratégie ouverte de l'approche PragmaList, qui vise à collaborer avec les industriels pour définir et intégrer de nouveaux critères de couverture adaptés à leurs contraintes de validation.

  • Traduction de SDL vers Fiacre. par Subeer Rangra et Emmanuel Gaudin à la conférence ERTS2 2014. Présentation vidéo.

    La traduction d'un modèle de système vers un format intermédiaire constitue une étape importante pour établir formellement des propriétés. Cet article présente la définition de règles permettant de traduire des modèles SDL normalisés vers le langage Fiacre. Le modèle traduit est ensuite fourni à un ensemble d'outils appropriés pour effectuer une exploration de modèles et d'autres analyses. Les règles de traduction proposées sont examinées sous l'angle de la correction de la traduction et de la facilité de mise en œuvre. L'implémentation de certaines de ces règles dans un outil industriel (PragmaDev RTDS), ainsi qu'une preuve de concept sur un modèle SDL simple, sont présentées afin de confirmer la validité de la traduction proposée.

  • Retour d'expérience sur un processus d'ingénierie dirigée par les modèles efficace et opérationnel : conception et vérification de systèmes ATC embarqués. par E. Bonnafous, E. Saves, E. Gilbert et J. Honoré, de CS-SI, à la conférence ERTS2 2008.

    « Depuis 2002, CS participe à la conception et à la spécification des systèmes ATC des avions A320, A340, A380, A400M et A350. Le module ATC, système de communication entre le sol et l'avion, est conçu avec SDL, langage de modélisation normalisé par l'UIT-T et également décrit comme un profil UML2. La sémantique précisément définie de SDL permet de disposer de générateurs de code et de simulateurs de modèles homogènes. Ces deux techniques sont utilisées dans les projets ATC et confèrent au processus une productivité élevée. Le générateur automatique produit le code C de l'application. Il est qualifié conformément aux exigences DO-178B (niveau C). Cette qualification très stricte des outils de développement permet de réduire considérablement l'effort de test de l'application ATC. Les vérifications fondées sur les tests sont réalisées sur les modèles SDL par simulation d'exécution. CS utilise RTDS, un simulateur SDL Z.100 développé par PragmaDev. Outre l'édition et la vérification syntaxique et sémantique des modèles SDL, RTDS offre des fonctions de débogage, telles que les points d'arrêt et l'exécution pas à pas au niveau du modèle, ainsi qu'un puissant langage de scénarios permettant d'appeler différentes commandes du simulateur : génération de MSC, envoi de signaux internes, affichage de variables, etc. »

  • Vérification de propriétés avec MSC. par Eric Brunel et Emmanuel Gaudin au 16e SDL Forum, juin 2013. Présentation vidéo.

    La toute première phase du processus de développement porte sur les exigences. La plupart de celles-ci sont dynamiques et décrivent la réaction du système à différents stimuli. Toutes les réactions possibles ne sont pas énumérées dans les exigences, mais certaines réactions obligatoires sont décrites et peuvent être considérées comme des propriétés. Plus tard dans le processus de développement, on dispose d'un système réel ou d'un modèle représentatif du futur système. Il devient alors possible de recueillir des traces d'exécution du système réel. À partir des travaux du projet européen PRESTO, cet article décrit comment utiliser le même type de modèle dans les deux cas et confronter les résultats obtenus.

  • Cohabitation entre les fonctions de codage TSN.1 de Protomatics et l'outil de modélisation de PragmaDev.

  • Protocole WiMAX : synchronisation et procédure initiale de ranging avec Real Time Developer Studio.

  • Protocole et architecture ETSI M2M décrits en SDL.

  • Feuille de route SDL 2010 par le rapporteur Q.13/17 — réunion de l'UIT-T, Genève, du 16 au 25 septembre 2009.

    Après avoir présenté la place actuelle de SDL parmi les langages de modélisation, ce document décrit la feuille de route menant à la version 2010 du langage.

  • TASTE : une chaîne d'outils pour l'ingénierie des logiciels temps réel. Présentation générale, état d'avancement et perspectives

    TASTE signifie « The ASSERT Set of Tools for Engineering », en référence au programme européen FP6 dont il est issu. Il s'agit d'une chaîne d'outils open source dédiée au développement de systèmes embarqués temps réel. TASTE prend en charge la modélisation et le déploiement de systèmes distribués comprenant des composants logiciels et matériels hétérogènes. Il met l'accent sur l'automatisation des tâches fastidieuses et sources d'erreurs qui rendent habituellement les systèmes complexes difficiles à intégrer et à valider. TASTE s'appuie sur deux langages complémentaires, AADL et ASN.1, permettant de créer des systèmes embarqués dont les parties fonctionnelles sont réalisées en C, Ada, SDL, SCADE, Simulink et/ou VHDL.

  • La chaîne d'outils TASTE : transformer des systèmes hétérogènes conçus par l'humain en logiciels homogènes construits automatiquement.

    « Résumé : la chaîne d'outils TASTE est issue de travaux dérivés du projet ASSERT, lancé en 2004 pour proposer des solutions innovantes et pragmatiques au développement de logiciels temps réel. L'une des premières applications visées était le logiciel de vol des satellites, mais il est rapidement apparu que ses caractéristiques étaient communes à de nombreux systèmes embarqués. Les solutions développées comprennent désormais un processus et plusieurs outils. Le processus de développement repose sur l'idée que les systèmes embarqués temps réel sont intrinsèquement hétérogènes et qu'un langage unique de type UML ne facilite ni leur construction ni leur validation. Plutôt que d'inventer un énième langage « universel », TASTE établit des liens entre des technologies existantes et éprouvées telles que Simulink, SDL, ASN.1, C et Ada. Il génère des systèmes logiciels complets et homogènes, directement téléchargeables et exécutables sur une cible physique. Notre prototype actuel évolue vers un produit commercial, et des études complémentaires sont déjà engagées pour prendre notamment en charge les systèmes FPGA. »

  • TASTE - Implémentation de systèmes critiques dirigée par des modèles, article de Julien Delange et Maxime Perrotin publié dans le magazine Open Silicium (en français, accès restreint).

    « La production de systèmes critiques (contrôle de véhicule, détection de fautes, drones, etc.) requiert le respect de nombreuses exigences : ils opèrent dans des environnements contraints (domaine avionique, spatial, militaire) et s'exécutent sur des plateformes embarquées ayant des ressources limitées (capacité de calcul, taille mémoire). De plus, une erreur dans leur implémentation peut avoir de lourdes conséquences (abandon d'une mission, perte de vie), si bien que leur code doit être exempt de bogue. La conception de tels systèmes demande donc un processus de développement rigoureux, s'appuyant sur des technologies détectant tout potentiel vecteur d'erreur. Cet article présente une chaîne d'outils implémentant de tels systèmes au travers d'un cas pratique : l'implémentation d'un drone d'exploration avec Linux. »

  • Les anciennes technologies qui restent utiles : ASN.1. par Thanassis Tsiodras, docteur-ingénieur.

    Si vos programmes envoient et reçoivent des structures de données, vous utilisez probablement des formats d'encapsulation de haut niveau, tels que XML ou JSON. Il existe pourtant des solutions bien plus efficaces en matière de consommation mémoire, de ressources processeur et de bande passante réseau ; ASN.1 en fait partie.

  • Articles et présentations vidéo du SDL Forum 2007 organisé à Paris.