{"id":1742,"date":"2026-03-27T12:14:43","date_gmt":"2026-03-27T12:14:43","guid":{"rendered":"https:\/\/www.ez-knowledge.com\/fr\/sysml-state-machines-modeling-behavior-changes\/"},"modified":"2026-03-27T12:14:43","modified_gmt":"2026-03-27T12:14:43","slug":"sysml-state-machines-modeling-behavior-changes","status":"publish","type":"post","link":"https:\/\/www.ez-knowledge.com\/fr\/sysml-state-machines-modeling-behavior-changes\/","title":{"rendered":"Machines \u00e0 \u00e9tats SysML : Mod\u00e9lisation des changements de comportement \u00e9tape par \u00e9tape"},"content":{"rendered":"<p>L&#8217;ing\u00e9nierie des syst\u00e8mes repose fortement sur la capacit\u00e9 \u00e0 d\u00e9crire non seulement ce qu&#8217;est un syst\u00e8me, mais aussi son comportement au fil du temps. Les structures statiques, telles que les diagrammes de blocs, d\u00e9finissent les composants et leurs relations. Toutefois, le comportement dynamique n\u00e9cessite une approche diff\u00e9rente. Les machines \u00e0 \u00e9tats SysML fournissent le cadre n\u00e9cessaire pour mod\u00e9liser cette nature dynamique. Ce guide explore les m\u00e9canismes de cr\u00e9ation de diagrammes d&#8217;\u00e9tats robustes, en garantissant que votre conception de syst\u00e8me refl\u00e8te fid\u00e8lement la logique op\u00e9rationnelle du monde r\u00e9el. Nous examinerons les composants fondamentaux, le flux d&#8217;ex\u00e9cution et les strat\u00e9gies pour g\u00e9rer la complexit\u00e9 sans introduire de confusion inutile.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img alt=\"Cartoon infographic explaining SysML State Machines for systems engineering, showing states, transitions, events, guards, history states, and parallel regions with colorful diagrams and friendly illustrations for modeling dynamic system behavior\" decoding=\"async\" src=\"https:\/\/www.ez-knowledge.com\/wp-content\/uploads\/2026\/03\/sysml-state-machines-infographic-cartoon.jpg\"\/><\/figure>\n<\/div>\n<h2>Comprendre le but fondamental \ud83c\udfd7\ufe0f<\/h2>\n<p>Un diagramme de machine \u00e0 \u00e9tats d\u00e9crit les \u00e9tats possibles d&#8217;un objet ainsi que les \u00e9v\u00e9nements qui provoquent des transitions entre ces \u00e9tats. Contrairement \u00e0 un organigramme, qui repr\u00e9sente un flux de processus, une machine \u00e0 \u00e9tats suit l&#8217;\u00e9tat d&#8217;une entit\u00e9. Cette distinction est cruciale pour les syst\u00e8mes o\u00f9 le contexte actuel d\u00e9termine les actions futures. Par exemple, un v\u00e9hicule autonome doit se comporter diff\u00e9remment selon qu&#8217;il est dans un \u00e9tat \u00ab stationn\u00e9 \u00bb ou un \u00e9tat \u00ab en conduite \u00bb.<\/p>\n<p>Lors de la construction de ces mod\u00e8les, l&#8217;objectif est la clart\u00e9. Une machine \u00e0 \u00e9tats bien con\u00e7ue \u00e9limine toute ambigu\u00eft\u00e9 quant \u00e0 la r\u00e9action d&#8217;un syst\u00e8me aux entr\u00e9es. Elle d\u00e9finit le cycle de vie d&#8217;un objet, de sa cr\u00e9ation \u00e0 sa terminaison. La gestion de ce cycle de vie est essentielle pour v\u00e9rifier que tous les sc\u00e9narios op\u00e9rationnels sont couverts. Sans cela, des lacunes logiques peuvent entra\u00eener des d\u00e9faillances du syst\u00e8me lors du d\u00e9ploiement.<\/p>\n<h3>Pourquoi les machines \u00e0 \u00e9tats sont-elles importantes<\/h3>\n<ul>\n<li>\n<p><strong>Clart\u00e9 :<\/strong>La repr\u00e9sentation visuelle r\u00e9duit la charge cognitive lors de l&#8217;analyse de logiques complexes.<\/p>\n<\/li>\n<li>\n<p><strong>V\u00e9rification :<\/strong>Permet la simulation et la v\u00e9rification de tous les chemins possibles.<\/p>\n<\/li>\n<li>\n<p><strong>Documentation :<\/strong>Fonctionne comme la source unique de v\u00e9rit\u00e9 pour les d\u00e9veloppeurs et les ing\u00e9nieurs.<\/p>\n<\/li>\n<li>\n<p><strong>Consistance :<\/strong>Assure que les r\u00e8gles de comportement sont appliqu\u00e9es de mani\u00e8re uniforme dans tout le syst\u00e8me.<\/p>\n<\/li>\n<\/ul>\n<h2>D\u00e9finir les \u00e9l\u00e9ments fondamentaux \u2699\ufe0f<\/h2>\n<p>Pour construire une machine \u00e0 \u00e9tats, il faut comprendre les blocs de construction atomiques. Chaque \u00e9l\u00e9ment remplit une fonction sp\u00e9cifique dans le flux logique. L&#8217;utilisation incorrecte de ces \u00e9l\u00e9ments peut conduire \u00e0 des mod\u00e8les difficiles \u00e0 maintenir ou \u00e0 interpr\u00e9ter.<\/p>\n<h3>\u00c9tats<\/h3>\n<p>Les \u00e9tats repr\u00e9sentent une condition ou une situation durant laquelle un objet satisfait une condition, effectue une activit\u00e9 ou attend un \u00e9v\u00e9nement. Ce sont les n\u0153uds du graphe. Les \u00e9tats peuvent \u00eatre simples ou composites.<\/p>\n<ul>\n<li>\n<p><strong>\u00c9tat simple :<\/strong>Un \u00e9tat sans structure interne.<\/p>\n<\/li>\n<li>\n<p><strong>\u00c9tat composite :<\/strong>Un \u00e9tat qui contient sa propre machine \u00e0 \u00e9tats interne. Cela permet le regroupement, la gestion de la complexit\u00e9 en d\u00e9composant de grands comportements en sous-comportements g\u00e9rables.<\/p>\n<\/li>\n<li>\n<p><strong>\u00c9tat final :<\/strong>Marque la fin d&#8217;un cycle de vie. Il peut y avoir plusieurs \u00e9tats finaux, mais chaque chemin de transition devrait id\u00e9alement mener \u00e0 un seul.<\/p>\n<\/li>\n<\/ul>\n<h3>Transitions<\/h3>\n<p>Les transitions relient les \u00e9tats. Elles repr\u00e9sentent le passage d&#8217;un \u00e9tat \u00e0 un autre. Une transition est d\u00e9clench\u00e9e par un \u00e9v\u00e9nement, \u00e0 condition que les conditions de garde associ\u00e9es soient remplies. Une fois la transition effectu\u00e9e, les actions d\u00e9finies sur la transition sont ex\u00e9cut\u00e9es.<\/p>\n<h3>\u00c9v\u00e9nements<\/h3>\n<p>Les \u00e9v\u00e9nements sont les d\u00e9clencheurs qui provoquent des transitions. Ils peuvent \u00eatre des \u00e9v\u00e9nements de signal, des \u00e9v\u00e9nements d&#8217;appel, des \u00e9v\u00e9nements de changement ou des \u00e9v\u00e9nements de temps. Un \u00e9v\u00e9nement n&#8217;ex\u00e9cute pas de logique par lui-m\u00eame ; il d\u00e9clenche le processus de transition.<\/p>\n<h2>Construire le flux logique \ud83d\udee3\ufe0f<\/h2>\n<p>La construction du mod\u00e8le de comportement consiste \u00e0 relier les \u00e9tats par des transitions. Cette section d\u00e9taille les attributs sp\u00e9cifiques qui contr\u00f4lent l&#8217;ex\u00e9cution d&#8217;une transition.<\/p>\n<h3>D\u00e9clencheurs et gardes<\/h3>\n<p>Une transition comprend g\u00e9n\u00e9ralement un d\u00e9clencheur. Il s&#8217;agit de l&#8217;\u00e9v\u00e9nement qui r\u00e9veille le syst\u00e8me pour envisager un d\u00e9placement. Toutefois, le d\u00e9placement n&#8217;est pas toujours la r\u00e9ponse appropri\u00e9e. Les conditions de garde agissent comme des filtres. Une garde est une expression bool\u00e9enne qui doit \u00e9valuer \u00e0 vrai pour que la transition soit d\u00e9clench\u00e9e.<\/p>\n<table style=\"min-width: 75px;\">\n<colgroup>\n<col style=\"min-width: 25px;\"\/>\n<col style=\"min-width: 25px;\"\/>\n<col style=\"min-width: 25px;\"\/><\/colgroup>\n<tbody>\n<tr>\n<th colspan=\"1\" rowspan=\"1\">\n<p>\u00c9l\u00e9ment<\/p>\n<\/th>\n<th colspan=\"1\" rowspan=\"1\">\n<p>Fonction<\/p>\n<\/th>\n<th colspan=\"1\" rowspan=\"1\">\n<p>Exemple<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td colspan=\"1\" rowspan=\"1\">\n<p>D\u00e9clencheur<\/p>\n<\/td>\n<td colspan=\"1\" rowspan=\"1\">\n<p>D\u00e9clenche la transition<\/p>\n<\/td>\n<td colspan=\"1\" rowspan=\"1\">\n<p>Appui sur le bouton<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td colspan=\"1\" rowspan=\"1\">\n<p>Garde<\/p>\n<\/td>\n<td colspan=\"1\" rowspan=\"1\">\n<p>Valide les conditions<\/p>\n<\/td>\n<td colspan=\"1\" rowspan=\"1\">\n<p>[niveau_batterie &gt; 20%]<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td colspan=\"1\" rowspan=\"1\">\n<p>Action<\/p>\n<\/td>\n<td colspan=\"1\" rowspan=\"1\">\n<p>S&#8217;ex\u00e9cute pendant la transition<\/p>\n<\/td>\n<td colspan=\"1\" rowspan=\"1\">\n<p>log_entry()<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Prenons un sc\u00e9nario o\u00f9 un syst\u00e8me entre en \u00ab mode maintenance \u00bb. Le d\u00e9clencheur pourrait \u00eatre une commande provenant d&#8217;un op\u00e9rateur. Toutefois, la condition de garde pourrait exiger que le syst\u00e8me ne soit pas actuellement engag\u00e9 dans une t\u00e2che critique. Cette s\u00e9paration entre d\u00e9clencheur et garde assure une logique robuste.<\/p>\n<h3>Activit\u00e9s internes<\/h3>\n<p>Tous les changements n&#8217;impliquent pas une transition. Parfois, un \u00e9v\u00e9nement se produit, mais le syst\u00e8me reste dans le m\u00eame \u00e9tat tout en ex\u00e9cutant une action. Cela est g\u00e9r\u00e9 par les activit\u00e9s internes. Les activit\u00e9s internes sont trait\u00e9es sans quitter l&#8217;\u00e9tat actuel, ce qui signifie que les actions d&#8217;entr\u00e9e et de sortie ne sont pas d\u00e9clench\u00e9es.<\/p>\n<ul>\n<li>\n<p><strong>Action d&#8217;entr\u00e9e :<\/strong> Ex\u00e9cut\u00e9e imm\u00e9diatement apr\u00e8s l&#8217;entr\u00e9e dans l&#8217;\u00e9tat.<\/p>\n<\/li>\n<li>\n<p><strong>Action de sortie :<\/strong> Ex\u00e9cut\u00e9e imm\u00e9diatement avant de quitter l&#8217;\u00e9tat.<\/p>\n<\/li>\n<li>\n<p><strong>Action en cours :<\/strong> Une activit\u00e9 effectu\u00e9e pendant l&#8217;\u00e9tat. Elle continue jusqu&#8217;\u00e0 ce qu&#8217;un \u00e9v\u00e9nement d\u00e9clenche une transition ou que l&#8217;activit\u00e9 soit termin\u00e9e.<\/p>\n<\/li>\n<\/ul>\n<h2>G\u00e9rer la complexit\u00e9 avec l&#8217;historique \ud83e\udde0<\/h2>\n<p>\u00c0 mesure que les syst\u00e8mes grandissent, les machines \u00e0 \u00e9tats peuvent devenir difficiles \u00e0 g\u00e9rer. Le nesting profond et un grand nombre de transitions cr\u00e9ent un r\u00e9seau difficile \u00e0 suivre. Les \u00e9tats d&#8217;historique offrent une solution \u00e0 ce probl\u00e8me en pr\u00e9servant l&#8217;\u00e9tat d&#8217;un \u00e9tat composite.<\/p>\n<h3>Historique superficiel vs. historique profond<\/h3>\n<p>Les \u00e9tats d&#8217;historique permettent au syst\u00e8me de se souvenir de l&#8217;endroit o\u00f9 il s&#8217;est arr\u00eat\u00e9. Il existe deux types distincts :<\/p>\n<ul>\n<li>\n<p><strong>Historique superficiel :<\/strong>Indique que l&#8217;\u00e9tat composite \u00e9tait pr\u00e9c\u00e9demment actif. Il restaure l&#8217;\u00e9tat au dernier sous-\u00e9tat actif, mais uniquement \u00e0 un niveau de profondeur.<\/p>\n<\/li>\n<li>\n<p><strong>Historique profond :<\/strong> Restaure l&#8217;\u00e9tat exact de la machine composite. Cela inclut le dernier sous-\u00e9tat actif et tous les sous-\u00e9tats imbriqu\u00e9s qu&#8217;elle contient.<\/p>\n<\/li>\n<\/ul>\n<p>Utiliser des \u00e9tats d&#8217;histoire est particuli\u00e8rement utile dans les syst\u00e8mes qui mettent en pause et reprendent des op\u00e9rations. Si un syst\u00e8me est mis en pause puis repris ult\u00e9rieurement, un \u00e9tat d&#8217;histoire profonde garantit qu&#8217;il revient exactement au point de suspension, plut\u00f4t que de se r\u00e9initialiser au d\u00e9but.<\/p>\n<h3>Strat\u00e9gie d&#8217;impl\u00e9mentation<\/h3>\n<p>Lors de l&#8217;int\u00e9gration de l&#8217;histoire, assurez-vous que le point d&#8217;entr\u00e9e de l&#8217;\u00e9tat d&#8217;histoire est clair. L&#8217;ambigu\u00eft\u00e9 ici peut entra\u00eener un comportement impr\u00e9visible lors de la simulation. Documentez toujours la raison d&#8217;utilisation d&#8217;un \u00e9tat d&#8217;histoire. Est-ce pour l&#8217;efficacit\u00e9 ? Pour la continuit\u00e9 de l&#8217;exp\u00e9rience utilisateur ? Une intention claire aide les d\u00e9veloppeurs futurs.<\/p>\n<h2>Gestion de la concurrence avec des r\u00e9gions \ud83c\udf10<\/h2>\n<p>Les syst\u00e8mes complexes op\u00e8rent souvent dans plusieurs modes simultan\u00e9ment. Une machine \u00e0 \u00e9tats unique ne peut pas facilement repr\u00e9senter des processus parall\u00e8les. SysML r\u00e9sout cela gr\u00e2ce aux r\u00e9gions.<\/p>\n<h3>R\u00e9gions parall\u00e8les<\/h3>\n<p>Les r\u00e9gions divisent un \u00e9tat composite en sous-machines ind\u00e9pendantes. Ces sous-machines fonctionnent de mani\u00e8re concurrente. Une transition dans une r\u00e9gion n&#8217;emp\u00eache pas les transitions dans une autre. Cela est analogue au multit\u00e2che en ing\u00e9nierie logicielle.<\/p>\n<ul>\n<li>\n<p><strong>Partitionnement :<\/strong> Divisez la machine \u00e0 \u00e9tats en r\u00e9gions logiques bas\u00e9es sur des comportements ind\u00e9pendants.<\/p>\n<\/li>\n<li>\n<p><strong>Ind\u00e9pendance :<\/strong> Les \u00e9v\u00e9nements dans une r\u00e9gion n&#8217;affectent pas intrins\u00e8quement les autres, sauf si elles sont explicitement li\u00e9es.<\/p>\n<\/li>\n<li>\n<p><strong>Synchronisation :<\/strong> Utilisez les points d&#8217;entr\u00e9e et de sortie pour coordonner entre les r\u00e9gions lorsque n\u00e9cessaire.<\/p>\n<\/li>\n<\/ul>\n<h3>Sc\u00e9nario d&#8217;exemple<\/h3>\n<p>Imaginez un syst\u00e8me de contr\u00f4le de drone. Une r\u00e9gion g\u00e8re le \u00ab Contr\u00f4le de vol \u00bb, qui supervise l&#8217;altitude et la position. Une autre r\u00e9gion g\u00e8re la \u00ab Communication \u00bb, qui supervise les t\u00e9l\u00e9mesures et la r\u00e9ception des commandes. Elles fonctionnent en parall\u00e8le. Si la liaison de communication est perdue, la r\u00e9gion \u00ab Contr\u00f4le de vol \u00bb pourrait d\u00e9clencher une action \u00ab Retour \u00e0 la maison \u00bb sans interrompre l&#8217;enregistrement des t\u00e9l\u00e9mesures dans la r\u00e9gion de communication.<\/p>\n<h2>Connecter le comportement \u00e0 la structure \ud83d\udd17<\/h2>\n<p>Une machine \u00e0 \u00e9tats n&#8217;existe pas dans le vide. Elle d\u00e9crit le comportement d&#8217;un bloc ou d&#8217;une pi\u00e8ce sp\u00e9cifique. Lier la machine \u00e0 \u00e9tats au diagramme structurel est essentiel pour la tra\u00e7abilit\u00e9.<\/p>\n<h3>Contexte de la machine \u00e0 \u00e9tats<\/h3>\n<p>Chaque machine \u00e0 \u00e9tats doit \u00eatre poss\u00e9d\u00e9e par un contexte. Ce contexte est g\u00e9n\u00e9ralement un bloc ou une pi\u00e8ce. Le contexte d\u00e9finit le p\u00e9rim\u00e8tre du comportement. Par exemple, un bloc \u00ab Batterie \u00bb pourrait avoir une machine \u00e0 \u00e9tats d\u00e9crivant ses niveaux de charge. Un bloc \u00ab V\u00e9hicule \u00bb pourrait avoir une machine \u00e0 \u00e9tats d\u00e9crivant ses modes op\u00e9ratoires.<\/p>\n<h3>Ports et interfaces<\/h3>\n<p>Les transitions interagissent souvent avec l&#8217;environnement externe. Cette interaction est g\u00e9r\u00e9e par des ports et des interfaces. Une machine \u00e0 \u00e9tats peut envoyer des signaux ou en recevoir via ces connecteurs. D\u00e9finir correctement ces interfaces garantit que le mod\u00e8le de comportement peut \u00eatre int\u00e9gr\u00e9 dans l&#8217;architecture du syst\u00e8me plus large.<\/p>\n<ul>\n<li>\n<p><strong>Interface requise :<\/strong> Indique ce dont la machine \u00e0 \u00e9tats a besoin de son environnement.<\/p>\n<\/li>\n<li>\n<p><strong>Interface fournie :<\/strong> Indique ce que la machine \u00e0 \u00e9tats offre \u00e0 l&#8217;environnement.<\/p>\n<\/li>\n<\/ul>\n<h2>Validation et v\u00e9rifications de coh\u00e9rence \u2705<\/h2>\n<p>Une fois le mod\u00e8le construit, il doit \u00eatre valid\u00e9. Un mod\u00e8le qui semble bon visuellement peut encore contenir des erreurs logiques. La validation garantit que le comportement est correct.<\/p>\n<h3>Analyse de la faisabilit\u00e9 d&#8217;acc\u00e8s<\/h3>\n<p>V\u00e9rifiez si chaque \u00e9tat est accessible \u00e0 partir de l&#8217;\u00e9tat initial. Les \u00e9tats morts (\u00e9tats qui ne peuvent pas \u00eatre atteints) indiquent une erreur de mod\u00e9lisation. \u00c0 l&#8217;inverse, assurez-vous que chaque \u00e9tat peut \u00e9ventuellement atteindre un \u00e9tat final ou une condition stable. Les boucles infinies doivent \u00eatre intentionnelles et document\u00e9es.<\/p>\n<h3>Couverture des \u00e9v\u00e9nements<\/h3>\n<p>Pour chaque \u00e9tat, d\u00e9terminez ce qui se produit si un \u00e9v\u00e9nement impr\u00e9vu se produit. Si une transition n&#8217;est pas d\u00e9finie pour un \u00e9v\u00e9nement sp\u00e9cifique, le syst\u00e8me pourrait s&#8217;arr\u00eater ou entrer dans un \u00e9tat ind\u00e9fini. D\u00e9finissez des comportements par d\u00e9faut ou des \u00e9tats de gestion des exceptions pour g\u00e9rer ces sc\u00e9narios.<\/p>\n<h3>Tra\u00e7abilit\u00e9<\/h3>\n<p>Liez les \u00e9l\u00e9ments de la machine \u00e0 \u00e9tats aux exigences. Si une exigence stipule \u00ab Le syst\u00e8me doit s&#8217;arr\u00eater si la temp\u00e9rature d\u00e9passe X \u00bb, il doit y avoir un \u00e9tat ou une transition correspondante dans le mod\u00e8le. Cette tra\u00e7abilit\u00e9 est cruciale pour les processus de certification et de conformit\u00e9.<\/p>\n<h2>Meilleures pratiques pour une mod\u00e9lisation durable \ud83d\udcdd<\/h2>\n<p>Pour maintenir la qualit\u00e9 du mod\u00e8le au fil du temps, respectez les pratiques suivantes.<\/p>\n<ul>\n<li>\n<p><strong>Gardez-le simple :<\/strong>\u00c9vitez le nesting inutile. Si un \u00e9tat composite devient trop grand, envisagez de le diviser en machines \u00e0 \u00e9tats s\u00e9par\u00e9es.<\/p>\n<\/li>\n<li>\n<p><strong>Utilisez des conventions de nommage :<\/strong>Une nomenclature coh\u00e9rente pour les \u00e9tats, les \u00e9v\u00e9nements et les actions facilite la navigation et la recherche.<\/p>\n<\/li>\n<li>\n<p><strong>Documentez les hypoth\u00e8ses :<\/strong>Ajoutez des notes pour expliquer pourquoi une logique particuli\u00e8re existe. Les ing\u00e9nieurs futurs ne conna\u00eetront peut-\u00eatre pas les contraintes initiales.<\/p>\n<\/li>\n<li>\n<p><strong>Revoyez r\u00e9guli\u00e8rement :<\/strong>Les mod\u00e8les \u00e9voluent au fur et \u00e0 mesure que les exigences changent. Pr\u00e9voyez des revues r\u00e9guli\u00e8res pour vous assurer que le mod\u00e8le de comportement correspond \u00e0 la conception actuelle.<\/p>\n<\/li>\n<\/ul>\n<h2>P\u00e9ch\u00e9s courants \u00e0 \u00e9viter \ud83d\udeab<\/h2>\n<p>M\u00eame les ing\u00e9nieurs exp\u00e9riment\u00e9s peuvent commettre des erreurs. La prise de conscience des erreurs courantes aide \u00e0 les pr\u00e9venir.<\/p>\n<ul>\n<li>\n<p><strong>Confondre les \u00e9v\u00e9nements avec les actions :<\/strong>Un \u00e9v\u00e9nement d\u00e9clenche une transition. Une action est ex\u00e9cut\u00e9e. Ne les confondez pas.<\/p>\n<\/li>\n<li>\n<p><strong>Ignorer les entr\u00e9es\/sorties :<\/strong>Ne pas d\u00e9finir ce qui se produit lors de l&#8217;entr\u00e9e ou de la sortie d&#8217;un \u00e9tat peut entra\u00eener des fuites de ressources ou des configurations incoh\u00e9rentes.<\/p>\n<\/li>\n<li>\n<p><strong>Sur-parall\u00e9lisation :<\/strong>Utiliser trop de r\u00e9gions rend le mod\u00e8le difficile \u00e0 comprendre. Parall\u00e9lisez uniquement lorsque les comportements sont v\u00e9ritablement ind\u00e9pendants.<\/p>\n<\/li>\n<li>\n<p><strong>Absence de gardes :<\/strong>Se fier uniquement aux d\u00e9clencheurs peut entra\u00eener des transitions non d\u00e9sir\u00e9es si la condition de garde n&#8217;est pas explicite.<\/p>\n<\/li>\n<\/ul>\n<h2>R\u00e9sum\u00e9 des concepts cl\u00e9s \ud83d\udccc<\/h2>\n<p>La construction de machines \u00e0 \u00e9tats efficaces exige une approche disciplin\u00e9e. Vous commencez par les \u00e9l\u00e9ments fondamentaux : \u00e9tats, transitions et \u00e9v\u00e9nements. Ensuite, vous ajoutez de la complexit\u00e9 avec les \u00e9tats d&#8217;histoire, les r\u00e9gions et les activit\u00e9s internes. Tout au long du processus, vous devez vous assurer que le comportement est en accord avec les composants structurels du syst\u00e8me. La validation n&#8217;est pas facultative ; elle est une \u00e9tape n\u00e9cessaire pour garantir la fiabilit\u00e9.<\/p>\n<p>En suivant ces directives, vous cr\u00e9ez un mod\u00e8le qui sert de plan fiable pour le d\u00e9veloppement et les tests. La machine \u00e0 \u00e9tats devient un outil de communication, comblant l&#8217;\u00e9cart entre les exigences de haut niveau et l&#8217;impl\u00e9mentation de bas niveau. Elle capture l&#8217;essence dynamique du syst\u00e8me, en garantissant que les changements de comportement sont mod\u00e9lis\u00e9s avec pr\u00e9cision et coh\u00e9rence.<\/p>\n<p>Souvenez-vous que l&#8217;objectif n&#8217;est pas la complexit\u00e9 pour elle-m\u00eame. L&#8217;objectif est la clart\u00e9. Une machine \u00e0 \u00e9tats simple et bien structur\u00e9e est plus pr\u00e9cieuse qu&#8217;une complexe difficile \u00e0 comprendre. Concentrez-vous sur la logique, documentez l&#8217;intention et v\u00e9rifiez les chemins. Cette approche conduit \u00e0 des syst\u00e8mes robustes qui fonctionnent comme pr\u00e9vu sur le terrain.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>L&#8217;ing\u00e9nierie des syst\u00e8mes repose fortement sur la capacit\u00e9 \u00e0 d\u00e9crire non seulement ce qu&#8217;est un syst\u00e8me, mais aussi son comportement au fil du temps. Les structures statiques, telles que les&hellip;<\/p>\n","protected":false},"author":1,"featured_media":1743,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_yoast_wpseo_title":"Machines \u00e0 \u00e9tats SysML : mod\u00e9lisation des changements de comportement \u00e9tape par \u00e9tape \ud83d\udd04","_yoast_wpseo_metadesc":"Apprenez \u00e0 mod\u00e9liser le comportement dynamique dans SysML. Un guide d\u00e9taill\u00e9 sur les machines \u00e0 \u00e9tats, les transitions et les activit\u00e9s pour une conception de syst\u00e8me robuste. \ud83d\udee0\ufe0f","fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[76],"tags":[80,81],"class_list":["post-1742","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sysml","tag-academic","tag-sysml"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Machines \u00e0 \u00e9tats SysML : mod\u00e9lisation des changements de comportement \u00e9tape par \u00e9tape \ud83d\udd04<\/title>\n<meta name=\"description\" content=\"Apprenez \u00e0 mod\u00e9liser le comportement dynamique dans SysML. Un guide d\u00e9taill\u00e9 sur les machines \u00e0 \u00e9tats, les transitions et les activit\u00e9s pour une conception de syst\u00e8me robuste. \ud83d\udee0\ufe0f\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.ez-knowledge.com\/fr\/sysml-state-machines-modeling-behavior-changes\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Machines \u00e0 \u00e9tats SysML : mod\u00e9lisation des changements de comportement \u00e9tape par \u00e9tape \ud83d\udd04\" \/>\n<meta property=\"og:description\" content=\"Apprenez \u00e0 mod\u00e9liser le comportement dynamique dans SysML. Un guide d\u00e9taill\u00e9 sur les machines \u00e0 \u00e9tats, les transitions et les activit\u00e9s pour une conception de syst\u00e8me robuste. \ud83d\udee0\ufe0f\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.ez-knowledge.com\/fr\/sysml-state-machines-modeling-behavior-changes\/\" \/>\n<meta property=\"og:site_name\" content=\"Ez Knowledge French - Latest in AI &amp; Software Innovation\" \/>\n<meta property=\"article:published_time\" content=\"2026-03-27T12:14:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.ez-knowledge.com\/fr\/wp-content\/uploads\/sites\/6\/2026\/03\/sysml-state-machines-infographic-cartoon.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1664\" \/>\n\t<meta property=\"og:image:height\" content=\"928\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"vpadmin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"vpadmin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.ez-knowledge.com\/fr\/sysml-state-machines-modeling-behavior-changes\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.ez-knowledge.com\/fr\/sysml-state-machines-modeling-behavior-changes\/\"},\"author\":{\"name\":\"vpadmin\",\"@id\":\"https:\/\/www.ez-knowledge.com\/fr\/#\/schema\/person\/33c28d3655923323cf039801026316a1\"},\"headline\":\"Machines \u00e0 \u00e9tats SysML : Mod\u00e9lisation des changements de comportement \u00e9tape par \u00e9tape\",\"datePublished\":\"2026-03-27T12:14:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.ez-knowledge.com\/fr\/sysml-state-machines-modeling-behavior-changes\/\"},\"wordCount\":2397,\"publisher\":{\"@id\":\"https:\/\/www.ez-knowledge.com\/fr\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.ez-knowledge.com\/fr\/sysml-state-machines-modeling-behavior-changes\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.ez-knowledge.com\/fr\/wp-content\/uploads\/sites\/6\/2026\/03\/sysml-state-machines-infographic-cartoon.jpg\",\"keywords\":[\"academic\",\"sysml\"],\"articleSection\":[\"SysML\"],\"inLanguage\":\"fr-FR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.ez-knowledge.com\/fr\/sysml-state-machines-modeling-behavior-changes\/\",\"url\":\"https:\/\/www.ez-knowledge.com\/fr\/sysml-state-machines-modeling-behavior-changes\/\",\"name\":\"Machines \u00e0 \u00e9tats SysML : mod\u00e9lisation des changements de comportement \u00e9tape par \u00e9tape \ud83d\udd04\",\"isPartOf\":{\"@id\":\"https:\/\/www.ez-knowledge.com\/fr\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.ez-knowledge.com\/fr\/sysml-state-machines-modeling-behavior-changes\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.ez-knowledge.com\/fr\/sysml-state-machines-modeling-behavior-changes\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.ez-knowledge.com\/fr\/wp-content\/uploads\/sites\/6\/2026\/03\/sysml-state-machines-infographic-cartoon.jpg\",\"datePublished\":\"2026-03-27T12:14:43+00:00\",\"description\":\"Apprenez \u00e0 mod\u00e9liser le comportement dynamique dans SysML. Un guide d\u00e9taill\u00e9 sur les machines \u00e0 \u00e9tats, les transitions et les activit\u00e9s pour une conception de syst\u00e8me robuste. \ud83d\udee0\ufe0f\",\"breadcrumb\":{\"@id\":\"https:\/\/www.ez-knowledge.com\/fr\/sysml-state-machines-modeling-behavior-changes\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.ez-knowledge.com\/fr\/sysml-state-machines-modeling-behavior-changes\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.ez-knowledge.com\/fr\/sysml-state-machines-modeling-behavior-changes\/#primaryimage\",\"url\":\"https:\/\/www.ez-knowledge.com\/fr\/wp-content\/uploads\/sites\/6\/2026\/03\/sysml-state-machines-infographic-cartoon.jpg\",\"contentUrl\":\"https:\/\/www.ez-knowledge.com\/fr\/wp-content\/uploads\/sites\/6\/2026\/03\/sysml-state-machines-infographic-cartoon.jpg\",\"width\":1664,\"height\":928},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.ez-knowledge.com\/fr\/sysml-state-machines-modeling-behavior-changes\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.ez-knowledge.com\/fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Machines \u00e0 \u00e9tats SysML : Mod\u00e9lisation des changements de comportement \u00e9tape par \u00e9tape\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.ez-knowledge.com\/fr\/#website\",\"url\":\"https:\/\/www.ez-knowledge.com\/fr\/\",\"name\":\"Ez Knowledge French - Latest in AI &amp; Software Innovation\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.ez-knowledge.com\/fr\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.ez-knowledge.com\/fr\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.ez-knowledge.com\/fr\/#organization\",\"name\":\"Ez Knowledge French - Latest in AI &amp; Software Innovation\",\"url\":\"https:\/\/www.ez-knowledge.com\/fr\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.ez-knowledge.com\/fr\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.ez-knowledge.com\/fr\/wp-content\/uploads\/sites\/6\/2025\/03\/ez-knowledge-logo.png\",\"contentUrl\":\"https:\/\/www.ez-knowledge.com\/fr\/wp-content\/uploads\/sites\/6\/2025\/03\/ez-knowledge-logo.png\",\"width\":512,\"height\":512,\"caption\":\"Ez Knowledge French - Latest in AI &amp; Software Innovation\"},\"image\":{\"@id\":\"https:\/\/www.ez-knowledge.com\/fr\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.ez-knowledge.com\/fr\/#\/schema\/person\/33c28d3655923323cf039801026316a1\",\"name\":\"vpadmin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/56e0eb902506d9cea7c7e209205383146b8e81c0ef2eff693d9d5e0276b3d7e3?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/56e0eb902506d9cea7c7e209205383146b8e81c0ef2eff693d9d5e0276b3d7e3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/56e0eb902506d9cea7c7e209205383146b8e81c0ef2eff693d9d5e0276b3d7e3?s=96&d=mm&r=g\",\"caption\":\"vpadmin\"},\"sameAs\":[\"https:\/\/www.ez-knowledge.com\"],\"url\":\"https:\/\/www.ez-knowledge.com\/fr\/author\/vpadmin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Machines \u00e0 \u00e9tats SysML : mod\u00e9lisation des changements de comportement \u00e9tape par \u00e9tape \ud83d\udd04","description":"Apprenez \u00e0 mod\u00e9liser le comportement dynamique dans SysML. Un guide d\u00e9taill\u00e9 sur les machines \u00e0 \u00e9tats, les transitions et les activit\u00e9s pour une conception de syst\u00e8me robuste. \ud83d\udee0\ufe0f","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.ez-knowledge.com\/fr\/sysml-state-machines-modeling-behavior-changes\/","og_locale":"fr_FR","og_type":"article","og_title":"Machines \u00e0 \u00e9tats SysML : mod\u00e9lisation des changements de comportement \u00e9tape par \u00e9tape \ud83d\udd04","og_description":"Apprenez \u00e0 mod\u00e9liser le comportement dynamique dans SysML. Un guide d\u00e9taill\u00e9 sur les machines \u00e0 \u00e9tats, les transitions et les activit\u00e9s pour une conception de syst\u00e8me robuste. \ud83d\udee0\ufe0f","og_url":"https:\/\/www.ez-knowledge.com\/fr\/sysml-state-machines-modeling-behavior-changes\/","og_site_name":"Ez Knowledge French - Latest in AI &amp; Software Innovation","article_published_time":"2026-03-27T12:14:43+00:00","og_image":[{"width":1664,"height":928,"url":"https:\/\/www.ez-knowledge.com\/fr\/wp-content\/uploads\/sites\/6\/2026\/03\/sysml-state-machines-infographic-cartoon.jpg","type":"image\/jpeg"}],"author":"vpadmin","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"vpadmin","Dur\u00e9e de lecture estim\u00e9e":"11 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.ez-knowledge.com\/fr\/sysml-state-machines-modeling-behavior-changes\/#article","isPartOf":{"@id":"https:\/\/www.ez-knowledge.com\/fr\/sysml-state-machines-modeling-behavior-changes\/"},"author":{"name":"vpadmin","@id":"https:\/\/www.ez-knowledge.com\/fr\/#\/schema\/person\/33c28d3655923323cf039801026316a1"},"headline":"Machines \u00e0 \u00e9tats SysML : Mod\u00e9lisation des changements de comportement \u00e9tape par \u00e9tape","datePublished":"2026-03-27T12:14:43+00:00","mainEntityOfPage":{"@id":"https:\/\/www.ez-knowledge.com\/fr\/sysml-state-machines-modeling-behavior-changes\/"},"wordCount":2397,"publisher":{"@id":"https:\/\/www.ez-knowledge.com\/fr\/#organization"},"image":{"@id":"https:\/\/www.ez-knowledge.com\/fr\/sysml-state-machines-modeling-behavior-changes\/#primaryimage"},"thumbnailUrl":"https:\/\/www.ez-knowledge.com\/fr\/wp-content\/uploads\/sites\/6\/2026\/03\/sysml-state-machines-infographic-cartoon.jpg","keywords":["academic","sysml"],"articleSection":["SysML"],"inLanguage":"fr-FR"},{"@type":"WebPage","@id":"https:\/\/www.ez-knowledge.com\/fr\/sysml-state-machines-modeling-behavior-changes\/","url":"https:\/\/www.ez-knowledge.com\/fr\/sysml-state-machines-modeling-behavior-changes\/","name":"Machines \u00e0 \u00e9tats SysML : mod\u00e9lisation des changements de comportement \u00e9tape par \u00e9tape \ud83d\udd04","isPartOf":{"@id":"https:\/\/www.ez-knowledge.com\/fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.ez-knowledge.com\/fr\/sysml-state-machines-modeling-behavior-changes\/#primaryimage"},"image":{"@id":"https:\/\/www.ez-knowledge.com\/fr\/sysml-state-machines-modeling-behavior-changes\/#primaryimage"},"thumbnailUrl":"https:\/\/www.ez-knowledge.com\/fr\/wp-content\/uploads\/sites\/6\/2026\/03\/sysml-state-machines-infographic-cartoon.jpg","datePublished":"2026-03-27T12:14:43+00:00","description":"Apprenez \u00e0 mod\u00e9liser le comportement dynamique dans SysML. Un guide d\u00e9taill\u00e9 sur les machines \u00e0 \u00e9tats, les transitions et les activit\u00e9s pour une conception de syst\u00e8me robuste. \ud83d\udee0\ufe0f","breadcrumb":{"@id":"https:\/\/www.ez-knowledge.com\/fr\/sysml-state-machines-modeling-behavior-changes\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.ez-knowledge.com\/fr\/sysml-state-machines-modeling-behavior-changes\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.ez-knowledge.com\/fr\/sysml-state-machines-modeling-behavior-changes\/#primaryimage","url":"https:\/\/www.ez-knowledge.com\/fr\/wp-content\/uploads\/sites\/6\/2026\/03\/sysml-state-machines-infographic-cartoon.jpg","contentUrl":"https:\/\/www.ez-knowledge.com\/fr\/wp-content\/uploads\/sites\/6\/2026\/03\/sysml-state-machines-infographic-cartoon.jpg","width":1664,"height":928},{"@type":"BreadcrumbList","@id":"https:\/\/www.ez-knowledge.com\/fr\/sysml-state-machines-modeling-behavior-changes\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.ez-knowledge.com\/fr\/"},{"@type":"ListItem","position":2,"name":"Machines \u00e0 \u00e9tats SysML : Mod\u00e9lisation des changements de comportement \u00e9tape par \u00e9tape"}]},{"@type":"WebSite","@id":"https:\/\/www.ez-knowledge.com\/fr\/#website","url":"https:\/\/www.ez-knowledge.com\/fr\/","name":"Ez Knowledge French - Latest in AI &amp; Software Innovation","description":"","publisher":{"@id":"https:\/\/www.ez-knowledge.com\/fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.ez-knowledge.com\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/www.ez-knowledge.com\/fr\/#organization","name":"Ez Knowledge French - Latest in AI &amp; Software Innovation","url":"https:\/\/www.ez-knowledge.com\/fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.ez-knowledge.com\/fr\/#\/schema\/logo\/image\/","url":"https:\/\/www.ez-knowledge.com\/fr\/wp-content\/uploads\/sites\/6\/2025\/03\/ez-knowledge-logo.png","contentUrl":"https:\/\/www.ez-knowledge.com\/fr\/wp-content\/uploads\/sites\/6\/2025\/03\/ez-knowledge-logo.png","width":512,"height":512,"caption":"Ez Knowledge French - Latest in AI &amp; Software Innovation"},"image":{"@id":"https:\/\/www.ez-knowledge.com\/fr\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.ez-knowledge.com\/fr\/#\/schema\/person\/33c28d3655923323cf039801026316a1","name":"vpadmin","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/secure.gravatar.com\/avatar\/56e0eb902506d9cea7c7e209205383146b8e81c0ef2eff693d9d5e0276b3d7e3?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/56e0eb902506d9cea7c7e209205383146b8e81c0ef2eff693d9d5e0276b3d7e3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/56e0eb902506d9cea7c7e209205383146b8e81c0ef2eff693d9d5e0276b3d7e3?s=96&d=mm&r=g","caption":"vpadmin"},"sameAs":["https:\/\/www.ez-knowledge.com"],"url":"https:\/\/www.ez-knowledge.com\/fr\/author\/vpadmin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.ez-knowledge.com\/fr\/wp-json\/wp\/v2\/posts\/1742","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ez-knowledge.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ez-knowledge.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ez-knowledge.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ez-knowledge.com\/fr\/wp-json\/wp\/v2\/comments?post=1742"}],"version-history":[{"count":0,"href":"https:\/\/www.ez-knowledge.com\/fr\/wp-json\/wp\/v2\/posts\/1742\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ez-knowledge.com\/fr\/wp-json\/wp\/v2\/media\/1743"}],"wp:attachment":[{"href":"https:\/\/www.ez-knowledge.com\/fr\/wp-json\/wp\/v2\/media?parent=1742"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ez-knowledge.com\/fr\/wp-json\/wp\/v2\/categories?post=1742"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ez-knowledge.com\/fr\/wp-json\/wp\/v2\/tags?post=1742"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}