{"id":2123,"date":"2026-05-26T07:16:09","date_gmt":"2026-05-26T07:16:09","guid":{"rendered":"https:\/\/www.vpascode.com\/pt\/docs\/uncategorized\/plantuml-state-diagram-syntax-guide\/"},"modified":"2026-05-26T07:16:09","modified_gmt":"2026-05-26T07:16:09","slug":"plantuml-state-diagram-syntax-guide","status":"publish","type":"ld_docs","link":"https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/plantuml-state-diagram-syntax-guide\/","title":{"rendered":"Guia de Sintaxe de Diagrama de Estados PlantUML"},"content":{"rendered":"<h2>O que \u00e9 um Diagrama de Estados?<\/h2>\n<p>Um <strong>Diagrama de Estados<\/strong> (muitas vezes chamado de M\u00e1quina de Estados ou Diagrama de Estados) \u00e9 um diagrama comportamental <strong>diagrama UML<\/strong> que modela o ciclo de vida de um \u00fanico objeto do sistema, entidade empresarial ou processo em tempo de execu\u00e7\u00e3o. Como um componente fundamental da especifica\u00e7\u00e3o da Linguagem de Modelagem Unificada (UML), este tipo espec\u00edfico <strong>tipo de diagrama UML<\/strong> ilustra os diversos estados que um objeto pode ocupar desde sua instancia\u00e7\u00e3o inicial at\u00e9 sua destrui\u00e7\u00e3o final, juntamente com os eventos ou condi\u00e7\u00f5es espec\u00edficos que desencadeiam uma mudan\u00e7a de um estado para outro.<\/p>\n<p>Seja voc\u00ea documentando as flags de conex\u00e3o complexas de uma conex\u00e3o WebSocket, as etapas de processamento de pedidos de um modelo de checkout de com\u00e9rcio eletr\u00f4nico ou o comportamento de um sistema de hardware aut\u00f4nomo, uma m\u00e1quina de estados UML fornece aos desenvolvedores de software e arquitetos de software um plano claro e inequ\u00edvoco de l\u00f3gica reativa complexa. Com <strong>VPasCode<\/strong>, voc\u00ea pode criar transi\u00e7\u00f5es de estado complexas instantaneamente, sem precisar se preocupar com alinhamentos de grade ou setas de limite sobrepostas.<\/p>\n<h2>Guia de Sintaxe B\u00e1sica: Elementos e Constru\u00e7\u00f5es<\/h2>\n<p>Para escrever layouts de diagrama de estados de alta qualidade e compat\u00edveis com padr\u00f5es, voc\u00ea precisa entender pontos de in\u00edcio e fim, defini\u00e7\u00f5es de estado, transi\u00e7\u00f5es de eventos, estados compostos aninhados e pontos de escolha condicional.<\/p>\n<h3>1. Estados Inicial e Final<\/h3>\n<p>Toda m\u00e1quina de estados deve ter um ponto de entrada e, opcionalmente, um ponto terminal. Na sintaxe PlantUML, esses elementos de limite s\u00e3o representados por um envelope simb\u00f3lico de asterisco limpo:<\/p>\n<ul>\n<li><code>[*] --&gt; NomeDoEstado<\/code> (Define o estado inicial de in\u00edcio)<\/li>\n<li><code>NomeDoEstado --&gt; [*]<\/code> (Define o estado final terminal)<\/li>\n<\/ul>\n<h3>2. Definindo Estados e Transi\u00e7\u00f5es de Eventos<\/h3>\n<p>Estados s\u00e3o declarados automaticamente sempre que est\u00e3o conectados por uma seta direcional (<code>--&gt;<\/code>). Para adicionar contexto a uma transi\u00e7\u00e3o, acrescente dois pontos (<code>:<\/code>) seguido pelo evento espec\u00edfico, gatilho da API ou chamada de m\u00e9todo que causa a mudan\u00e7a de estado:<\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Plantuml<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:YzQALT3LjLDmoInEpi_BIqqkIKtXvKBcWQMT8RpCl7G5AmKbg9o6fX8l5v8CaaAWDg2wnDAIZFZYqkJarE9Y9G00\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edite o Plantuml no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Plantuml<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:YzQALT3LjLDmIIrEpizBJIv9JCddvKBcWQMT8Rmy8DTAGGae1-9gQ2hnSY7982c4g4iiBSc8BovDJaujBbO20000\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">[*] --&gt; Desconectado\r\nDesconectado --&gt; Conectando : \"connect()\"\r\nConectando --&gt; Conectado : \"auth_success\"<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:YzQALT3LjLDmIIrEpizBJIv9JCddvKBcWQMT8Rmy8DTAGGae1-9gQ2hnSY7982c4g4iiBSc8BovDJaujBbO20000\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:YzQALT3LjLDmoInEpi_BIqqkIKtXvKBcWQMT8RpCl7G5AmKbg9o6fX8l5v8CaaAWDg2wnDAIZFZYqkJarE9Y9G00\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edite o Plantuml no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p id=\"YJmYckH\"><img fetchpriority=\"high\" alt=\"\" class=\"alignnone size-full wp-image-573\" decoding=\"async\" fetchpriority=\"high\" height=\"386\" sizes=\"(max-width: 158px) 100vw, 158px\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18feb546e94.png\" srcset=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18feb546e94.png 158w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18feb546e94-123x300.png 123w\" width=\"158\"\/><\/p>\n<h3>3. Estados Compostos \/ Aninhados<\/h3>\n<p>Aplica\u00e7\u00f5es complexas frequentemente apresentam estados individuais que cont\u00eam seus pr\u00f3prios subestados aninhados. Voc\u00ea pode implementar essas estruturas compostas usando a palavra-chave <code>estado<\/code>palavra-chave seguida por uma chave de abertura:<\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Plantuml<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:Aov9B4bLS4mkoInB3SyloYukI4nELQZcvL80WcYjM0LTNJi5pvISL8W8Y0KM2gaioCnBLx1IKCfEhImeIYqkLeAeW4h0j85Kb6JcfkQNbW0Lr080\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edite o Plantuml no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Plantuml<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:IoqkIKp9Lt1CBiaiImtFByekBaXCJbMevkLI089ehLW5NLqx1V_apFpYV8WOX0qMTibCpon9p0Fgjr9GAYXABIxEpCzBB0f9JSv9L8AeHYX1c0DINPAQMv3lavcRMP8AL5aB0000\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">estado ActiveWorkspace {\r\n    [*] --&gt; Ocioso\r\n    Ocioso --&gt; Digitando : \"pressionarTecla\"\r\n    Digitando --&gt; Ocioso : \"tempoLimite\"\r\n}<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:IoqkIKp9Lt1CBiaiImtFByekBaXCJbMevkLI089ehLW5NLqx1V_apFpYV8WOX0qMTibCpon9p0Fgjr9GAYXABIxEpCzBB0f9JSv9L8AeHYX1c0DINPAQMv3lavcRMP8AL5aB0000\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:Aov9B4bLS4mkoInB3SyloYukI4nELQZcvL80WcYjM0LTNJi5pvISL8W8Y0KM2gaioCnBLx1IKCfEhImeIYqkLeAeW4h0j85Kb6JcfkQNbW0Lr080\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edite o Plantuml no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p id=\"hZnVjpF\"><img alt=\"\" class=\"alignnone size-full wp-image-574\" decoding=\"async\" height=\"259\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18fec6f2cd1.png\" width=\"167\"\/><\/p>\n<h3>4. Pontos de Escolha (Ramifica\u00e7\u00e3o Condicional)<\/h3>\n<p>Quando um evento ocorre, o sistema frequentemente precisa avaliar bandeiras de dados internos antes de determinar o pr\u00f3ximo destino do estado. Para desenhar um losango de escolha padr\u00e3o UML, use o token de estere\u00f3tipo <code>&lt;&lt;escolha&gt;&gt;<\/code>token de estere\u00f3tipo:<\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Plantuml<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:Aov9B4bLICv8JSwEBqYip4tDAr6miKdEoCzCJhMpu-NoBqf9BGh8IKnEJL7GrRL3Kscbe5HGb9-SMboieQd4ouKg2L8Ua9YP0bGLdPIOavYNdAfWPwjGab-Ic1EBJR5ROcPEAefo6wXg0000\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edite o Plantuml no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Plantuml<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:TSon2eCm54RXNV0TWbCTV059izNPNQJy9BSQY5x9JNr-6oYuw7w-GvBWMEqK_STRnFU62GkjYPNM99R336FAeYVd7R_MtUUyQSmbQLMrHROaWlYegxAuYZBkCULw48JVpZnLueGmteCEOURlIVHV7000\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">estado verificar_pagamento &lt;&lt;escolha&gt;&gt;\r\nPedidoEnviado --&gt; verificar_pagamento : \"processar()\"\r\nverificar_pagamento --&gt; Pago : [saldo &gt;= total]\r\nverificar_pagamento --&gt; Falhou : [saldo &lt; total]<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:TSon2eCm54RXNV0TWbCTV059izNPNQJy9BSQY5x9JNr-6oYuw7w-GvBWMEqK_STRnFU62GkjYPNM99R336FAeYVd7R_MtUUyQSmbQLMrHROaWlYegxAuYZBkCULw48JVpZnLueGmteCEOURlIVHV7000\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:Aov9B4bLICv8JSwEBqYip4tDAr6miKdEoCzCJhMpu-NoBqf9BGh8IKnEJL7GrRL3Kscbe5HGb9-SMboieQd4ouKg2L8Ua9YP0bGLdPIOavYNdAfWPwjGab-Ic1EBJR5ROcPEAefo6wXg0000\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edite o Plantuml no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p id=\"RkdCHRB\"><img alt=\"\" class=\"alignnone size-full wp-image-575\" decoding=\"async\" height=\"279\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18fed4616f4.png\" width=\"273\"\/><\/p>\n<h2>Melhores Pr\u00e1ticas para Statecharts Limpos<\/h2>\n<ul>\n<li><strong>Aproveite as Descri\u00e7\u00f5es de Estados:<\/strong>Voc\u00ea pode adicionar detalhes operacionais claros, ganchos de entrada ou fun\u00e7\u00f5es de sa\u00edda diretamente dentro de um n\u00f3 de estado usando um envolt\u00f3rio de dois pontos inline (por exemplo, <code>NomeEstado : entrada \/ logTimestamp()<\/code>).<\/li>\n<li><strong>Mantenha os Nomes dos Estados Compactos:<\/strong>Use CamelCase ou snake_case para os c\u00f3digos das suas vari\u00e1veis de estado internas (por exemplo, <code>ProcessamentoPagamento<\/code>), e use aspas se precisar anexar uma etiqueta longa e leg\u00edvel por humanos a eles.<\/li>\n<li><strong>Gerencie as dire\u00e7\u00f5es de roteamento vetorial:<\/strong>Se seus mapas de ciclo de vida em m\u00faltiplos n\u00edveis ficarem confusos verticalmente, insira regras espaciais embutidas nas setas de conex\u00e3o (por exemplo, <code>-direita-&gt;<\/code> ou <code>-baixo-&gt;<\/code>) para equilibrar a densidade do layout.<\/li>\n<\/ul>\n<h2>Exemplos de Diagramas de Estados PlantUML do Mundo Real<\/h2>\n<h3>Exemplo 1: Ciclo de Vida da Rede de Dispositivos IoT (Estados Compostos e Escolhas)<\/h3>\n<p>Este modelo rastreia os loops de estado comportamentais de conex\u00e3o de um m\u00f3dulo de sensor IoT, demonstrando blocos aninhados estruturais complexos e pinos de escolha de avalia\u00e7\u00e3o condicional.<\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Plantuml<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:VLBBRW8n3BoljFyGxR4IFu0GGYg7zj9MfJU48fEOtMX3GhDcAQtwxtL2A8-YvfJOCxPdd4b746YxjcKnlrk8mM0idbShQnoMHLdaQmhVU-TGaN6r68fgutSOf7TLX74DmdF0Lra8FiUAZywG0Mi-ENV8d4SIv1KxRtj-JPzciNu3GUyWe0m8UbyTM1UWo9gXq_ny0AUx1bgCJBEHeDwt9g1cslTfFjXIWuwC0ZBUITMWQiLef1fl58x7PN4c81Q_YUS60HMQ7cM7eMSFL0FMeginMN6Jb5nroScXc9DlqScUrUl5VuJi_Iy3FpPHr2BEiEHKozveQPFCeyRSvTf_RJ7xphSKUWlWkhMXg7OA1B4ecJNheM3g6aEs_0_kM2yIGCKPaXkwkchm4Z_83FhyNwpVoIKGOTXBZSGsdzQJXxuKNQcy3JR5-euOFE5jyq_z0G00\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edite o Plantuml no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Plantuml<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:XLBBQiCm4BmR_0_6nq9-88GGQ0FjfO6sjn34Hbh7Isp9NIbkQEdNz5FwOrtPJlCeeJuOQJKpkvhHp0VWiAkhD5dUhBBHQ9ejYg8YYscI9iEoAzywQr47ifjidEKLRO3pY161WAUd7scIoNUGUx2a2Ifw1sjSVtHMwa1Fw5tLecpl7f-ZVWbite1HDUniS7bFF8T5ujos55NkvUTBs68aKwF0lEw8oKJcvt7C5faAqg31ATW5jA7VP9E9BXrfd4xJvEGkiSLLZdHYrBX6LWOz5EIKHswbQU_CLMBdiksS7MVBuBPeLIj-6BVwZpK4yal3VKCCGepJDEGriAhGA56fiIhTIKH3nuju5fgS7tBfrrtvXS7wciG4yLhqVTGtv1jWfmBLo4CaVu57rSW1lLMTItqM5stcsbbN4ymjyeOW4jOoAnEeDT0UnDWWKO21Gux3BSxDo4K6zzzVJZN8XZhqJ9w9lEiV\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\n[*] --&gt; Offline\r\n\r\nOffline --&gt; Connecting : \"ligar\"\r\n\r\nstate Connecting {\r\n    [*] --&gt; Inicializando\r\n    Inicializando --&gt; ResolvendoDNS : \"hardware_pronto\"\r\n    ResolvendoDNS --&gt; EnviandoHandshake : \"ip_adquirido\"\r\n}\r\n\r\nstate verificacao_autenticacao &lt;&lt;choice&gt;&gt;\r\nConnecting --&gt; verificacao_autenticacao : \"receber_desafio_servidor\"\r\n\r\nverificacao_autenticacao --&gt; Online : [token_valido]\r\nverificacao_autenticacao --&gt; Offline : [token_expirado] : \"piscar_led_vermelho\"\r\n\r\nstate Online {\r\n    [*] --&gt; Ocioso\r\n    Ocioso --&gt; TransmitindoDados : \"disparo_timer\"\r\n    TransmitindoDados --&gt; Ocioso : \"ack_recebido\"\r\n    Ocioso --&gt; EconomiaEnergia : \"bateria_baixa_detectada\"\r\n}\r\n\r\nOnline --&gt; Offline : \"conex\u00e3o_perdida\"\r\n@enduml<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:XLBBQiCm4BmR_0_6nq9-88GGQ0FjfO6sjn34Hbh7Isp9NIbkQEdNz5FwOrtPJlCeeJuOQJKpkvhHp0VWiAkhD5dUhBBHQ9ejYg8YYscI9iEoAzywQr47ifjidEKLRO3pY161WAUd7scIoNUGUx2a2Ifw1sjSVtHMwa1Fw5tLecpl7f-ZVWbite1HDUniS7bFF8T5ujos55NkvUTBs68aKwF0lEw8oKJcvt7C5faAqg31ATW5jA7VP9E9BXrfd4xJvEGkiSLLZdHYrBX6LWOz5EIKHswbQU_CLMBdiksS7MVBuBPeLIj-6BVwZpK4yal3VKCCGepJDEGriAhGA56fiIhTIKH3nuju5fgS7tBfrrtvXS7wciG4yLhqVTGtv1jWfmBLo4CaVu57rSW1lLMTItqM5stcsbbN4ymjyeOW4jOoAnEeDT0UnDWWKO21Gux3BSxDo4K6zzzVJZN8XZhqJ9w9lEiV\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:VLBBRW8n3BoljFyGxR4IFu0GGYg7zj9MfJU48fEOtMX3GhDcAQtwxtL2A8-YvfJOCxPdd4b746YxjcKnlrk8mM0idbShQnoMHLdaQmhVU-TGaN6r68fgutSOf7TLX74DmdF0Lra8FiUAZywG0Mi-ENV8d4SIv1KxRtj-JPzciNu3GUyWe0m8UbyTM1UWo9gXq_ny0AUx1bgCJBEHeDwt9g1cslTfFjXIWuwC0ZBUITMWQiLef1fl58x7PN4c81Q_YUS60HMQ7cM7eMSFL0FMeginMN6Jb5nroScXc9DlqScUrUl5VuJi_Iy3FpPHr2BEiEHKozveQPFCeyRSvTf_RJ7xphSKUWlWkhMXg7OA1B4ecJNheM3g6aEs_0_kM2yIGCKPaXkwkchm4Z_83FhyNwpVoIKGOTXBZSGsdzQJXxuKNQcy3JR5-euOFE5jyq_z0G00\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edite o Plantuml no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p id=\"FHGMizM\"><img loading=\"lazy\" alt=\"\" class=\"alignnone size-full wp-image-576\" decoding=\"async\" height=\"735\" loading=\"lazy\" sizes=\"auto, (max-width: 662px) 100vw, 662px\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18fee62c246.png\" srcset=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18fee62c246.png 662w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18fee62c246-270x300.png 270w\" width=\"662\"\/><\/p>\n<p><strong>An\u00e1lise de Sintaxe:<\/strong> Este mapa separa claramente os loops operacionais individuais. Quando o hardware transiciona para o estado composto <code>Conectando<\/code> de envolt\u00f3rio, ele rastreia subestados locais como a resolu\u00e7\u00e3o DNS antes de alcan\u00e7ar o <code>verificacao_autenticacao<\/code> diamante de escolha. Os colchetes (<code>[token_valido]<\/code>) representam condi\u00e7\u00f5es de guarda padr\u00e3o UML.<\/p>\n<h3>Exemplo 2: M\u00e1quina de Estados de Cumprimento de Pedidos de Com\u00e9rcio Eletr\u00f4nico (Subestados Concorrentes)<\/h3>\n<p>Este projeto avan\u00e7ado de empresa modela um sistema de pedidos multithreaded, mostrando comportamentos concorrentes ortogonais (processamento de pacotes de envio e registros de faturamento simultaneamente) usando linhas de divis\u00e3o (<code>--<\/code>).<\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Plantuml<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:RLFBQiCm4BmR_0ycnu9_e8UI9crfeD3G74inYhI9HVGmgrLeMlBlbQpOiTtuOdbdPdV6QyyTCIIlLPvztdqLPVbGR6hRDDBibm78ipmRFhU4TnI06x_LaWX4SL_CU0tyO3rLN4b-cENPX19LQxGSd0kDrkoamL0KCa-rHVa3rSuRuMPnNd14S8F-csT5k3gRIsk8SGg41JE7X8rhAGqGAOWDqYdvPGrvXCfv7eU4iUSu-V_CFcxel9Eeaxn9Q4WB344CN4-u4yjlTYyTIUvUcH4gZ4bmalu3E_MmmpgytW2j2BIxeiDgeh6siB3VqQuqn-3Mugbom7qot4klp3QhfnUBJw3a4V0KnOfjGLKDIaEzy9nkPJcEjv0g-lu0Rb6uOROnSYlOqkf6HixA7AtaS6LCaPP-EJzh9YyhRSIkseC1P2EVxLudM-cN-eYy3a5RlRXahdZ7wpxZdXLrmM-UpS68yCly0G00\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edite o Plantuml no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Plantuml<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:RLDDQuD04BqB_WVnMF0Fz52I1biABOJsM8fCrubPgZjcTZUKblptxeV6nEf5cNblvhsPSQKDiB5TcoRlDnzPKTnb6s2MQayRwde6dIPfCWi5s1PhMLEfZX9gocwpNBJoOB4IUnHVP4sU9jUGG68Ig3MechRGG8VA12vOGon_W2j6OLcJpdrV9yxWCkatJJBtd4MJSbWFkGSbA2PdmQXWh53kqDXHElJ6CbJQ-aRaUfzy-yN6atTNVYUv6shq8wA2dkdeefSMveIP_4TqE7gcHceZ1SHafCvI8_EI_OOj2adA2tqogFG4-PSAXBBxXDQ7DY2_mQjtJSXlZr4Z3-B76ZDqAA0COmDbjrRrj4Kq_W8CLDATYH_SKEGKNqLnRVeLlISc_G1--g7CfVEb_9Bz5xzc9o_2flnrF43ZPxp8uBklTrM3F1a-ZRkVRspQ-veFLXw7jMESH2L699mFVy9vhbER9YjKjVlP_W00\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\n[*] --&gt; CarrinhoCompras\r\n\r\nCarrinhoCompras --&gt; PedidoEnviado : \"clique_checkout\"\r\nPedidoEnviado --&gt; ProcessandoPagamento : \"autorizar_recursos\"\r\n\r\nstate ProcessandoPagamento {\r\n    [*] --&gt; ContatandoBanco\r\n    ContatandoBanco --&gt; PagamentoEfetuado : \"captura_sucesso\"\r\n}\r\n\r\nProcessandoPagamento --&gt; PedidoConfirmado : \"pagamento_aprovado\"\r\n\r\nstate PedidoConfirmado {\r\n    [*] --&gt; GestaoLogistica\r\n    state GestaoLogistica {\r\n        [*] --&gt; SelecionandoItens\r\n        SelecionandoItens --&gt; EmbalandoCaixa : \"estoque_reservado\"\r\n        EmbalandoCaixa --&gt; EntregaEmAndamento : \"etiqueta_impressa\"\r\n    }\r\n    --\r\n    [*] --&gt; RegistrosFaturamento\r\n    state RegistrosFaturamento {\r\n        [*] --&gt; MontandoFatura\r\n        MontandoFatura --&gt; FaturaEnviada : \"pdf_gerado\"\r\n    }\r\n}\r\n\r\nPedidoConfirmado --&gt; PedidoArquivado : \"entrega_confirmada\"\r\nPedidoArquivado --&gt; [*]\r\n@enduml<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:RLDDQuD04BqB_WVnMF0Fz52I1biABOJsM8fCrubPgZjcTZUKblptxeV6nEf5cNblvhsPSQKDiB5TcoRlDnzPKTnb6s2MQayRwde6dIPfCWi5s1PhMLEfZX9gocwpNBJoOB4IUnHVP4sU9jUGG68Ig3MechRGG8VA12vOGon_W2j6OLcJpdrV9yxWCkatJJBtd4MJSbWFkGSbA2PdmQXWh53kqDXHElJ6CbJQ-aRaUfzy-yN6atTNVYUv6shq8wA2dkdeefSMveIP_4TqE7gcHceZ1SHafCvI8_EI_OOj2adA2tqogFG4-PSAXBBxXDQ7DY2_mQjtJSXlZr4Z3-B76ZDqAA0COmDbjrRrj4Kq_W8CLDATYH_SKEGKNqLnRVeLlISc_G1--g7CfVEb_9Bz5xzc9o_2flnrF43ZPxp8uBklTrM3F1a-ZRkVRspQ-veFLXw7jMESH2L699mFVy9vhbER9YjKjVlP_W00\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:RLFBQiCm4BmR_0ycnu9_e8UI9crfeD3G74inYhI9HVGmgrLeMlBlbQpOiTtuOdbdPdV6QyyTCIIlLPvztdqLPVbGR6hRDDBibm78ipmRFhU4TnI06x_LaWX4SL_CU0tyO3rLN4b-cENPX19LQxGSd0kDrkoamL0KCa-rHVa3rSuRuMPnNd14S8F-csT5k3gRIsk8SGg41JE7X8rhAGqGAOWDqYdvPGrvXCfv7eU4iUSu-V_CFcxel9Eeaxn9Q4WB344CN4-u4yjlTYyTIUvUcH4gZ4bmalu3E_MmmpgytW2j2BIxeiDgeh6siB3VqQuqn-3Mugbom7qot4klp3QhfnUBJw3a4V0KnOfjGLKDIaEzy9nkPJcEjv0g-lu0Rb6uOROnSYlOqkf6HixA7AtaS6LCaPP-EJzh9YyhRSIkseC1P2EVxLudM-cN-eYy3a5RlRXahdZ7wpxZdXLrmM-UpS68yCly0G00\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edite o Plantuml no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p id=\"viuKPko\"><img loading=\"lazy\" alt=\"\" class=\"alignnone size-full wp-image-578\" decoding=\"async\" height=\"1679\" loading=\"lazy\" sizes=\"auto, (max-width: 271px) 100vw, 271px\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18ff89bb741.png\" srcset=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18ff89bb741.png 271w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18ff89bb741-248x1536.png 248w\" width=\"271\"\/><\/p>\n<p><strong>An\u00e1lise de Sintaxe:<\/strong> Dentro da <code>PedidoConfirmado<\/code> estrutura composta, o delimitador de duplo tra\u00e7o (<code>--<\/code>) atua como um divisor ortogonal. Isso instrui o PlantUML a dividir o diagrama em dois estados concorrentes que executam em paralelo: a pipeline log\u00edstica f\u00edsica \u00e0 esquerda e as atualiza\u00e7\u00f5es de faturamento corporativo \u00e0 direita.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>O que \u00e9 um Diagrama de Estados? Um Diagrama de Estados (muitas vezes chamado de M\u00e1quina de Estados ou Diagrama de Estados) \u00e9 um diagrama comportamental diagrama UML que modela o ciclo de vida de um \u00fanico objeto do sistema,&#8230;<\/p>\n","protected":false},"author":4,"featured_media":0,"parent":0,"menu_order":5,"template":"","meta":{"inline_featured_image":false,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}}},"ld_collection":[14],"class_list":["post-2123","ld_docs","type-ld_docs","status-publish","hentry","ld_collection-vpascode-docs"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>PlantUML State Diagram Syntax | VPasCode Text to Diagram Guide<\/title>\n<meta name=\"description\" content=\"Map complex state machine transitions with PlantUML state diagrams using VPasCode, an agile diagram-as-code tool.\" \/>\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.vpascode.com\/pt\/docs\/vpascode-docs\/plantuml-state-diagram-syntax-guide\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PlantUML State Diagram Syntax | VPasCode Text to Diagram Guide\" \/>\n<meta property=\"og:description\" content=\"Map complex state machine transitions with PlantUML state diagrams using VPasCode, an agile diagram-as-code tool.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/plantuml-state-diagram-syntax-guide\/\" \/>\n<meta property=\"og:site_name\" content=\"VPasCode\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18feb546e94.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Tempo estimado de leitura\" \/>\n\t<meta name=\"twitter:data1\" content=\"4 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/docs\\\/vpascode-docs\\\/plantuml-state-diagram-syntax-guide\\\/\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/docs\\\/vpascode-docs\\\/plantuml-state-diagram-syntax-guide\\\/\",\"name\":\"PlantUML State Diagram Syntax | VPasCode Text to Diagram Guide\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/docs\\\/vpascode-docs\\\/plantuml-state-diagram-syntax-guide\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/docs\\\/vpascode-docs\\\/plantuml-state-diagram-syntax-guide\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.vpascode.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/img_6a18feb546e94.png\",\"datePublished\":\"2026-05-26T07:16:09+00:00\",\"description\":\"Map complex state machine transitions with PlantUML state diagrams using VPasCode, an agile diagram-as-code tool.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/docs\\\/vpascode-docs\\\/plantuml-state-diagram-syntax-guide\\\/#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/docs\\\/vpascode-docs\\\/plantuml-state-diagram-syntax-guide\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/docs\\\/vpascode-docs\\\/plantuml-state-diagram-syntax-guide\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/img_6a18feb546e94.png\",\"contentUrl\":\"https:\\\/\\\/www.vpascode.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/img_6a18feb546e94.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/docs\\\/vpascode-docs\\\/plantuml-state-diagram-syntax-guide\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Lean Docs\",\"item\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/docs\\\/%ld_collection%\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Guia de Sintaxe de Diagrama de Estados PlantUML\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/#website\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/\",\"name\":\"VPasCode\",\"description\":\"by Visual Paradigm\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-PT\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/#organization\",\"name\":\"VPasCode\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/wp-content\\\/uploads\\\/sites\\\/10\\\/2026\\\/06\\\/cropped-vp-online-logo-v1.png\",\"contentUrl\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/wp-content\\\/uploads\\\/sites\\\/10\\\/2026\\\/06\\\/cropped-vp-online-logo-v1.png\",\"width\":128,\"height\":138,\"caption\":\"VPasCode\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"PlantUML State Diagram Syntax | VPasCode Text to Diagram Guide","description":"Map complex state machine transitions with PlantUML state diagrams using VPasCode, an agile diagram-as-code tool.","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.vpascode.com\/pt\/docs\/vpascode-docs\/plantuml-state-diagram-syntax-guide\/","og_locale":"pt_PT","og_type":"article","og_title":"PlantUML State Diagram Syntax | VPasCode Text to Diagram Guide","og_description":"Map complex state machine transitions with PlantUML state diagrams using VPasCode, an agile diagram-as-code tool.","og_url":"https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/plantuml-state-diagram-syntax-guide\/","og_site_name":"VPasCode","og_image":[{"url":"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18feb546e94.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Tempo estimado de leitura":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/plantuml-state-diagram-syntax-guide\/","url":"https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/plantuml-state-diagram-syntax-guide\/","name":"PlantUML State Diagram Syntax | VPasCode Text to Diagram Guide","isPartOf":{"@id":"https:\/\/www.vpascode.com\/pt\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/plantuml-state-diagram-syntax-guide\/#primaryimage"},"image":{"@id":"https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/plantuml-state-diagram-syntax-guide\/#primaryimage"},"thumbnailUrl":"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18feb546e94.png","datePublished":"2026-05-26T07:16:09+00:00","description":"Map complex state machine transitions with PlantUML state diagrams using VPasCode, an agile diagram-as-code tool.","breadcrumb":{"@id":"https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/plantuml-state-diagram-syntax-guide\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/plantuml-state-diagram-syntax-guide\/"]}]},{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/plantuml-state-diagram-syntax-guide\/#primaryimage","url":"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18feb546e94.png","contentUrl":"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a18feb546e94.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/plantuml-state-diagram-syntax-guide\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.vpascode.com\/pt\/"},{"@type":"ListItem","position":2,"name":"Lean Docs","item":"https:\/\/www.vpascode.com\/pt\/docs\/%ld_collection%\/"},{"@type":"ListItem","position":3,"name":"Guia de Sintaxe de Diagrama de Estados PlantUML"}]},{"@type":"WebSite","@id":"https:\/\/www.vpascode.com\/pt\/#website","url":"https:\/\/www.vpascode.com\/pt\/","name":"VPasCode","description":"by Visual Paradigm","publisher":{"@id":"https:\/\/www.vpascode.com\/pt\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.vpascode.com\/pt\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-PT"},{"@type":"Organization","@id":"https:\/\/www.vpascode.com\/pt\/#organization","name":"VPasCode","url":"https:\/\/www.vpascode.com\/pt\/","logo":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/www.vpascode.com\/pt\/#\/schema\/logo\/image\/","url":"https:\/\/www.vpascode.com\/pt\/wp-content\/uploads\/sites\/10\/2026\/06\/cropped-vp-online-logo-v1.png","contentUrl":"https:\/\/www.vpascode.com\/pt\/wp-content\/uploads\/sites\/10\/2026\/06\/cropped-vp-online-logo-v1.png","width":128,"height":138,"caption":"VPasCode"},"image":{"@id":"https:\/\/www.vpascode.com\/pt\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.vpascode.com\/pt\/wp-json\/wp\/v2\/ld_docs\/2123","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.vpascode.com\/pt\/wp-json\/wp\/v2\/ld_docs"}],"about":[{"href":"https:\/\/www.vpascode.com\/pt\/wp-json\/wp\/v2\/types\/ld_docs"}],"author":[{"embeddable":true,"href":"https:\/\/www.vpascode.com\/pt\/wp-json\/wp\/v2\/users\/4"}],"wp:attachment":[{"href":"https:\/\/www.vpascode.com\/pt\/wp-json\/wp\/v2\/media?parent=2123"}],"wp:term":[{"taxonomy":"ld_collection","embeddable":true,"href":"https:\/\/www.vpascode.com\/pt\/wp-json\/wp\/v2\/ld_collection?post=2123"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}