Un état décomposé est un état qui contient des sous-états. L'état décomposé se comporte comme un package spécialisé ou un conteneur. Un sous-état peut lui-même être décomposé en sous-états supplémentaires, et ainsi de suite.
Vous pouvez décomposer des états soit directement dans le diagramme en utilisant une vue composite modifiable ou en utilisant des sous-diagrammes. Les sous-objets créés dans l'un de ces modes peuvent être affichés dans les deux modes, mais les deux modes ne sont pas automatiquement synchronisés. La vue composite Modifiable permet de rapidement décomposer des états et de montrer les liens directs entre les états et les sous-états, tandis que le mode Lecture seule (sous-diagramme) favorise une décomposition plus formelle et est plus approprié si vous utilisez de nombreux niveaux de décomposition.
Vous pouvez choisir comment afficher les états composites objet par objet, en pointant sur un symbole, en cliquant le bouton droit de la souris, puis en sélectionnant le mode désiré dans le menu
.Vous ne pouvez pas créer un package ou tout autre type de diagramme UML au sein d'un état décomposé, mais vous pouvez créer des raccourcis vers les packages.
Vous pouvez décomposer un état et créer des sous-états dans ce dernier tout simplement en créant ou faisant glisser d'autres états sur son symbole. Vous pouvez redimensionner le symbole parent si besoin est et y créer autant de sous-états que vous le souhaitez. Vous pouvez décomposer un sous-état en créant ou en faisant glisser sur son symbole un autre état, et ainsi de suite.
Les transitions peuvent lier deux états au même niveau, ou bien lier des états contenus dans le diagramme parent avec des sous-états dans le mode Vue composite modifiable :
Vous pouvez convertir un état atomique en état décomposé de l'une des façons suivantes
Maintenez la touche Ctrl enfoncée et double-cliquez sur le symbole d'état (vous ouvrez ainsi directement le sous-état)
Affichez la feuille de propriétés d'un état puis, sur l'onglet Général, sélectionnez l'option Etat décomposé
Pointez sur l'état et cliquez le bouton droit de la souris, puis sélectionnez Décomposer l'état
Lorsque vous créez un état décomposé, un diagramme de sous-état, initialement vide, est ajouté au-dessous de son entrée dans l'Explorateur d'objets :
Pour ouvrir un diagramme de sous-état, maintenez la touche Ctrl enfoncée et double-cliquez sur le symbole de l'état décomposé, ou bien double-cliquez sur le diagramme approprié dans l'Explorateur d'objets.
Vous pouvez ajouter des objets dans un diagramme de sous-état de la même façon que vous les ajoutez dans un diagramme d'états. Tout état que vous ajoutez à un diagramme de sous-états fera partie de son état décomposé parent et sera répertoriée sous l'état décomposé dans l'Explorateur d'objets.
Vous pouvez créer plusieurs diagrammes de sous-état dans un état décomposé, mais nous vous conseillons de n'en créer qu'un seul, à moins que vous ne soyez amené à concevoir des cas d'exception, par exemple pour gérer des cas d'erreur.