{"id":2116,"date":"2026-05-26T07:16:09","date_gmt":"2026-05-26T07:16:09","guid":{"rendered":"https:\/\/www.vpascode.com\/vn\/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\/vn\/docs\/vpascode-docs\/plantuml-state-diagram-syntax-guide\/","title":{"rendered":"H\u01b0\u1edbng d\u1eabn c\u00fa ph\u00e1p s\u01a1 \u0111\u1ed3 tr\u1ea1ng th\u00e1i PlantUML"},"content":{"rendered":"<h2>S\u01a1 \u0111\u1ed3 tr\u1ea1ng th\u00e1i l\u00e0 g\u00ec?<\/h2>\n<p>M\u1ed9t <strong>S\u01a1 \u0111\u1ed3 tr\u1ea1ng th\u00e1i<\/strong> (th\u01b0\u1eddng \u0111\u01b0\u1ee3c g\u1ecdi l\u00e0 M\u00e1y tr\u1ea1ng th\u00e1i ho\u1eb7c S\u01a1 \u0111\u1ed3 tr\u1ea1ng th\u00e1i) l\u00e0 m\u1ed9t bi\u1ec3u \u0111\u1ed3 h\u00e0nh vi <strong>bi\u1ec3u \u0111\u1ed3 UML<\/strong> m\u00f4 h\u00ecnh h\u00f3a v\u00f2ng \u0111\u1eddi c\u1ee7a m\u1ed9t \u0111\u1ed1i t\u01b0\u1ee3ng h\u1ec7 th\u1ed1ng, th\u1ef1c th\u1ec3 kinh doanh ho\u1eb7c quy tr\u00ecnh ch\u1ea1y th\u1eddi gian th\u1ef1c. L\u00e0 m\u1ed9t th\u00e0nh ph\u1ea7n c\u01a1 b\u1ea3n trong \u0111\u1eb7c t\u1ea3 Ng\u00f4n ng\u1eef M\u00f4 h\u00ecnh h\u00f3a \u0110\u01a1n nh\u1ea5t (UML), bi\u1ec3u \u0111\u1ed3 <strong>lo\u1ea1i bi\u1ec3u \u0111\u1ed3 UML<\/strong> minh h\u1ecda c\u00e1c tr\u1ea1ng th\u00e1i kh\u00e1c nhau m\u00e0 m\u1ed9t \u0111\u1ed1i t\u01b0\u1ee3ng c\u00f3 th\u1ec3 t\u1ed3n t\u1ea1i t\u1eeb l\u00fac kh\u1edfi t\u1ea1o ban \u0111\u1ea7u cho \u0111\u1ebfn khi h\u1ee7y b\u1ecf cu\u1ed1i c\u00f9ng, c\u00f9ng v\u1edbi c\u00e1c s\u1ef1 ki\u1ec7n ho\u1eb7c \u0111i\u1ec1u ki\u1ec7n c\u1ee5 th\u1ec3 g\u00e2y ra s\u1ef1 thay \u0111\u1ed5i t\u1eeb tr\u1ea1ng th\u00e1i n\u00e0y sang tr\u1ea1ng th\u00e1i kh\u00e1c.<\/p>\n<p>D\u00f9 b\u1ea1n \u0111ang t\u00e0i li\u1ec7u h\u00f3a c\u00e1c c\u1edd k\u1ebft n\u1ed1i ph\u1ee9c t\u1ea1p c\u1ee7a m\u1ed9t k\u1ebft n\u1ed1i WebSocket, c\u00e1c b\u01b0\u1edbc x\u1eed l\u00fd \u0111\u01a1n h\u00e0ng trong m\u00f4 h\u00ecnh thanh to\u00e1n th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed, hay h\u00e0nh vi c\u1ee7a m\u1ed9t h\u1ec7 th\u1ed1ng ph\u1ea7n c\u1ee9ng t\u1ef1 \u0111\u1ed9ng, m\u1ed9t m\u00e1y tr\u1ea1ng th\u00e1i UML cung c\u1ea5p cho c\u00e1c nh\u00e0 ph\u00e1t tri\u1ec3n ph\u1ea7n m\u1ec1m v\u00e0 ki\u1ebfn tr\u00fac s\u01b0 ph\u1ea7n m\u1ec1m m\u1ed9t b\u1ea3n v\u1ebd r\u00f5 r\u00e0ng, kh\u00f4ng m\u01a1 h\u1ed3 v\u1ec1 logic ph\u1ea3n \u1ee9ng ph\u1ee9c t\u1ea1p. V\u1edbi <strong>VPasCode<\/strong>, b\u1ea1n c\u00f3 th\u1ec3 l\u1eadp tr\u00ecnh c\u00e1c chuy\u1ec3n tr\u1ea1ng th\u00e1i ph\u1ee9c t\u1ea1p ngay l\u1eadp t\u1ee9c m\u00e0 kh\u00f4ng c\u1ea7n lo l\u1eafng v\u1ec1 vi\u1ec7c c\u0103n ch\u1ec9nh l\u01b0\u1edbi hay c\u00e1c m\u0169i t\u00ean bi\u00ean ch\u1ed3ng ch\u00e9o.<\/p>\n<h2>H\u01b0\u1edbng d\u1eabn c\u00fa ph\u00e1p c\u1ed1t l\u00f5i: C\u00e1c th\u00e0nh ph\u1ea7n v\u00e0 c\u1ea5u tr\u00fac<\/h2>\n<p>\u0110\u1ec3 vi\u1ebft c\u00e1c b\u1ed1 c\u1ee5c s\u01a1 \u0111\u1ed3 tr\u1ea1ng th\u00e1i ch\u1ea5t l\u01b0\u1ee3ng cao, tu\u00e2n th\u1ee7 chu\u1ea9n, b\u1ea1n c\u1ea7n hi\u1ec3u r\u00f5 c\u00e1c \u0111i\u1ec3m b\u1eaft \u0111\u1ea7u v\u00e0 k\u1ebft th\u00fac, \u0111\u1ecbnh ngh\u0129a tr\u1ea1ng th\u00e1i, chuy\u1ec3n ti\u1ebfp s\u1ef1 ki\u1ec7n, c\u00e1c tr\u1ea1ng th\u00e1i h\u1ee3p th\u00e0nh l\u1ed3ng nhau v\u00e0 c\u00e1c \u0111i\u1ec3m l\u1ef1a ch\u1ecdn \u0111i\u1ec1u ki\u1ec7n.<\/p>\n<h3>1. Tr\u1ea1ng th\u00e1i kh\u1edfi \u0111\u1ea7u v\u00e0 k\u1ebft th\u00fac<\/h3>\n<p>M\u1ed7i m\u00e1y tr\u1ea1ng th\u00e1i ph\u1ea3i c\u00f3 \u0111i\u1ec3m v\u00e0o v\u00e0, t\u00f9y ch\u1ecdn, \u0111i\u1ec3m k\u1ebft th\u00fac. Trong c\u00fa ph\u00e1p PlantUML, c\u00e1c ph\u1ea7n t\u1eed bi\u00ean n\u00e0y \u0111\u01b0\u1ee3c bi\u1ec3u di\u1ec5n b\u1eb1ng m\u1ed9t bao b\u1ecdc k\u00fd hi\u1ec7u sao s\u1ea1ch s\u1ebd:<\/p>\n<ul>\n<li><code>[*] --&gt; T\u00eanTr\u1ea1ngTh\u00e1i<\/code> (X\u00e1c \u0111\u1ecbnh tr\u1ea1ng th\u00e1i kh\u1edfi \u0111\u1ea7u)<\/li>\n<li><code>T\u00eanTr\u1ea1ngTh\u00e1i --&gt; [*]<\/code> (X\u00e1c \u0111\u1ecbnh tr\u1ea1ng th\u00e1i k\u1ebft th\u00fac)<\/li>\n<\/ul>\n<h3>2. X\u00e1c \u0111\u1ecbnh tr\u1ea1ng th\u00e1i v\u00e0 chuy\u1ec3n ti\u1ebfp s\u1ef1 ki\u1ec7n<\/h3>\n<p>C\u00e1c tr\u1ea1ng th\u00e1i \u0111\u01b0\u1ee3c khai b\u00e1o t\u1ef1 \u0111\u1ed9ng m\u1ed7i khi ch\u00fang \u0111\u01b0\u1ee3c li\u00ean k\u1ebft b\u1edfi m\u1ed9t m\u0169i t\u00ean h\u01b0\u1edbng (<code>--&gt;<\/code>). \u0110\u1ec3 th\u00eam ng\u1eef c\u1ea3nh cho m\u1ed9t chuy\u1ec3n ti\u1ebfp, th\u00eam d\u1ea5u hai ch\u1ea5m (<code>:<\/code>) theo sau l\u00e0 s\u1ef1 ki\u1ec7n c\u1ee5 th\u1ec3, s\u1ef1 ki\u1ec7n k\u00edch ho\u1ea1t API ho\u1eb7c l\u1eddi g\u1ecdi ph\u01b0\u01a1ng th\u1ee9c g\u00e2y ra thay \u0111\u1ed5i tr\u1ea1ng th\u00e1i:<\/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>Ch\u1ec9nh s\u1eeda Plantuml trong 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:YzQALT3LjLFmIt-uQts9zyDT-qly7kwUcCdBXIu2LdPaGc9UEfAObO9ISdvUNcfoYOQc4YyNkZH4o-75g3eIIqiouejBavDJYukL0000\" \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; Ng\u1eaftK\u1ebftN\u1ed1i\r\nNg\u1eaftK\u1ebftN\u1ed1i --&gt; \u0110angK\u1ebftN\u1ed1i : \"connect()\"\r\n\u0110angK\u1ebftN\u1ed1i --&gt; \u0110\u00e3K\u1ebftN\u1ed1i : \"auth_success\"<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:YzQALT3LjLFmIt-uQts9zyDT-qly7kwUcCdBXIu2LdPaGc9UEfAObO9ISdvUNcfoYOQc4YyNkZH4o-75g3eIIqiouejBavDJYukL0000\" \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>Ch\u1ec9nh s\u1eeda Plantuml trong 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. Tr\u1ea1ng th\u00e1i h\u1ee3p th\u00e0nh \/ L\u1ed3ng gh\u00e9p<\/h3>\n<p>C\u00e1c \u1ee9ng d\u1ee5ng ph\u1ee9c t\u1ea1p th\u01b0\u1eddng c\u00f3 c\u00e1c tr\u1ea1ng th\u00e1i ri\u00eang bi\u1ec7t ch\u1ee9a c\u00e1c tr\u1ea1ng th\u00e1i con l\u1ed3ng gh\u00e9p c\u1ee7a ch\u00ednh ch\u00fang. B\u1ea1n c\u00f3 th\u1ec3 tri\u1ec3n khai c\u00e1c c\u1ea5u tr\u00fac h\u1ee3p th\u00e0nh n\u00e0y b\u1eb1ng c\u00e1ch s\u1eed d\u1ee5ng t\u1eeb kh\u00f3a <code>state<\/code>k\u00e8m theo d\u1ea5u ngo\u1eb7c nh\u1ecdn m\u1edf:<\/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>Ch\u1ec9nh s\u1eeda Plantuml trong 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:Aov9B4bLS4mkoInB3SyloYukI4nELQZcvL80WcYjM0LTNJi5pvISL8W8Y0KM2gaioCnBLx1IK2h8EBmsLo4lu-6kfNbA45LGIPXMa2gWzFuIXPACXxldPYgaPoQ2bDO20000\" \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\">state ActiveWorkspace {\r\n    [*] --&gt; Idle\r\n    Idle --&gt; Typing : \"ph\u00edm nh\u1ea5n\"\r\n    Typing --&gt; Idle : \"h\u1ebft th\u1eddi gian\"\r\n}<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:Aov9B4bLS4mkoInB3SyloYukI4nELQZcvL80WcYjM0LTNJi5pvISL8W8Y0KM2gaioCnBLx1IK2h8EBmsLo4lu-6kfNbA45LGIPXMa2gWzFuIXPACXxldPYgaPoQ2bDO20000\" \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>Ch\u1ec9nh s\u1eeda Plantuml trong 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. \u0110i\u1ec3m l\u1ef1a ch\u1ecdn (nh\u00e1nh \u0111i\u1ec1u ki\u1ec7n)<\/h3>\n<p>Khi m\u1ed9t s\u1ef1 ki\u1ec7n x\u1ea3y ra, h\u1ec7 th\u1ed1ng th\u01b0\u1eddng ph\u1ea3i \u0111\u00e1nh gi\u00e1 c\u00e1c c\u1edd d\u1eef li\u1ec7u n\u1ed9i b\u1ed9 tr\u01b0\u1edbc khi x\u00e1c \u0111\u1ecbnh \u0111i\u1ec3m \u0111\u1ebfn tr\u1ea1ng th\u00e1i ti\u1ebfp theo. \u0110\u1ec3 v\u1ebd m\u1ed9t h\u00ecnh thoi l\u1ef1a ch\u1ecdn chu\u1ea9n UML, s\u1eed d\u1ee5ng t\u1eeb kh\u00f3a <code>&lt;&lt;choice&gt;&gt;<\/code>\u0111\u1ecbnh danh ki\u1ec3u d\u00e1ng:<\/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>Ch\u1ec9nh s\u1eeda Plantuml trong 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:Aov9B4bLICv8JSwEBqYip4tDAr6miKdEoCzCJhMpu-NoBqf9BGh8IKnEJL7GrRL3Kscbe5HGb9-SMboieQd4ouKg2L8Ua9YP0bGLNVnmzqI5b6CR5Eni5KeUxfwQbwwG_73tpBpqM6owt18pSr9HzTcWQGC0\" \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\">state check_payment &lt;&lt;choice&gt;&gt;\r\nOrderPlaced --&gt; check_payment : \"process()\"\r\ncheck_payment --&gt; Paid : [s\u1ed1 d\u01b0 &gt;= t\u1ed5ng c\u1ed9ng]\r\ncheck_payment --&gt; Failed : [s\u1ed1 d\u01b0 &lt; t\u1ed5ng c\u1ed9ng]<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:Aov9B4bLICv8JSwEBqYip4tDAr6miKdEoCzCJhMpu-NoBqf9BGh8IKnEJL7GrRL3Kscbe5HGb9-SMboieQd4ouKg2L8Ua9YP0bGLNVnmzqI5b6CR5Eni5KeUxfwQbwwG_73tpBpqM6owt18pSr9HzTcWQGC0\" \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>Ch\u1ec9nh s\u1eeda Plantuml trong 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>C\u00e1c th\u1ef1c h\u00e0nh t\u1ed1t nh\u1ea5t cho s\u01a1 \u0111\u1ed3 tr\u1ea1ng th\u00e1i s\u1ea1ch s\u1ebd<\/h2>\n<ul>\n<li><strong>S\u1eed d\u1ee5ng m\u00f4 t\u1ea3 tr\u1ea1ng th\u00e1i:<\/strong>B\u1ea1n c\u00f3 th\u1ec3 th\u00eam chi ti\u1ebft ho\u1ea1t \u0111\u1ed9ng r\u00f5 r\u00e0ng, h\u00e0m kh\u1edfi t\u1ea1o ho\u1eb7c h\u00e0m tho\u00e1t ngay b\u00ean trong n\u00fat tr\u1ea1ng th\u00e1i b\u1eb1ng c\u00e1ch s\u1eed d\u1ee5ng d\u1ea5u hai ch\u1ea5m bao b\u1ecdc ngay l\u1eadp t\u1ee9c (v\u00ed d\u1ee5, <code>StateName : entry \/ logTimestamp()<\/code>).<\/li>\n<li><strong>Gi\u1eef t\u00ean tr\u1ea1ng th\u00e1i ng\u1eafn g\u1ecdn:<\/strong>S\u1eed d\u1ee5ng CamelCase ho\u1eb7c snake_case cho m\u00e3 bi\u1ebfn tr\u1ea1ng th\u00e1i n\u1ed9i b\u1ed9 c\u1ee7a b\u1ea1n (v\u00ed d\u1ee5, <code>PaymentProcessing<\/code>), v\u00e0 s\u1eed d\u1ee5ng d\u1ea5u ngo\u1eb7c k\u00e9p n\u1ebfu b\u1ea1n c\u1ea7n g\u1eafn nh\u00e3n d\u00e0i d\u1ec5 \u0111\u1ecdc cho ch\u00fang.<\/li>\n<li><strong>Qu\u1ea3n l\u00fd h\u01b0\u1edbng \u0111\u1ecbnh tuy\u1ebfn vector:<\/strong>N\u1ebfu b\u1ea3n \u0111\u1ed3 v\u00f2ng \u0111\u1eddi \u0111a t\u1ea7ng c\u1ee7a b\u1ea1n tr\u1edf n\u00ean l\u1ed9n x\u1ed9n theo chi\u1ec1u d\u1ecdc, h\u00e3y ch\u00e8n c\u00e1c quy t\u1eafc kh\u00f4ng gian ngay trong c\u00e1c m\u0169i t\u00ean k\u1ebft n\u1ed1i (v\u00ed d\u1ee5, <code>-right-&gt;<\/code> ho\u1eb7c <code>-down-&gt;<\/code>) \u0111\u1ec3 c\u00e2n b\u1eb1ng m\u1eadt \u0111\u1ed9 b\u1ed1 c\u1ee5c.<\/li>\n<\/ul>\n<h2>C\u00e1c v\u00ed d\u1ee5 s\u01a1 \u0111\u1ed3 tr\u1ea1ng th\u00e1i PlantUML trong th\u1ebf gi\u1edbi th\u1ef1c<\/h2>\n<h3>V\u00ed d\u1ee5 1: Chu k\u1ef3 s\u1ed1ng m\u1ea1ng thi\u1ebft b\u1ecb IoT (Tr\u1ea1ng th\u00e1i h\u1ee3p th\u00e0nh v\u00e0 l\u1ef1a ch\u1ecdn)<\/h3>\n<p>M\u1eabu n\u00e0y theo d\u00f5i c\u00e1c v\u00f2ng l\u1eb7p tr\u1ea1ng th\u00e1i h\u00e0nh vi k\u1ebft n\u1ed1i c\u1ee7a m\u1ed9t m\u00f4-\u0111un c\u1ea3m bi\u1ebfn IoT, minh h\u1ecda c\u00e1c kh\u1ed1i l\u1ed3ng gh\u00e9p c\u1ea5u tr\u00fac ph\u1ee9c t\u1ea1p v\u00e0 c\u00e1c n\u00fat l\u1ef1a ch\u1ecdn \u0111\u00e1nh gi\u00e1 \u0111i\u1ec1u ki\u1ec7n.<\/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>Ch\u1ec9nh s\u1eeda Plantuml trong 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:VLDDIyD04Bq7yX-670N_W9GYj21IgO9Uf9GIrvXTsaogtO15F7aGyQ35auUYfOWVKFJY9JdqaEB_s7_Yx2R5M8ivv6DdvhsPzoRhFUcUo2Zes5PZfGchgsNOFZhg2FHioxRoLtDS2H4z9WNwi0REWOed4j2FL7A7Ziub8EaLiyvi2-YQmzQuIXu4I1MFmYnIF34f6qB5Om77KL_5KrcjxsecoON-WWELN4DFnPy8lVGHVIS3-LjZa5Go4VlfMrHHyNDKqw6wIWP20yu6wHYGqm08im6Xki2eaolOt27CyvzPt4Xo3wLWhXGXjXZtM1jA9SP3mRnosROAmshIfVb4c7D9deuOfuTANXa4wQXlU9-DUajhZHje75Y3XWpR7hQeOjo5Zaekc_zLvSOLohI6T1zXC-j9yvCKBva8DmKFSye5_sQtBisfEnvcWSB1Z-PLbRnl2UekqYpjT48Jyv1eZO7tcYkU1aQ4eG1Vk3ZtSQ5wWRAWuod9cFldBEzapsnCJGC5zTa5-bjV7oHRjhbTcfoKq464ha3GYnFDdSzd_wsX4wZuIKBRQ8XwZoXztSD3-c--0G00\" \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 : \"b\u1eadt ngu\u1ed3n\"\r\n\r\nstate Connecting {\r\n    [*] --&gt; Kh\u1edfi t\u1ea1o\r\n    Kh\u1edfi t\u1ea1o --&gt; Gi\u1ea3i quy\u1ebftDNS : \"thi\u1ebft b\u1ecb s\u1eb5n s\u00e0ng\"\r\n    Gi\u1ea3i quy\u1ebftDNS --&gt; G\u1eediY\u00eauC\u1ea7uK\u1ebftN\u1ed1i : \"\u0111\u00e3 nh\u1eadn \u0111\u1ecba ch\u1ec9 IP\"\r\n}\r\n\r\nstate authentication_check &lt;&lt;choice&gt;&gt;\r\nConnecting --&gt; authentication_check : \"nh\u1eadn th\u00e1ch th\u1ee9c m\u00e1y ch\u1ee7\"\r\n\r\nauthentication_check --&gt; Online : [token_h\u1ee3p l\u1ec7]\r\nauthentication_check --&gt; Offline : [token_h\u1ebft h\u1ea1n] : \"nh\u00e1y \u0111\u00e8n \u0111\u1ecf\"\r\n\r\nstate Online {\r\n    [*] --&gt; \u0110ang ch\u1edd\r\n    \u0110ang ch\u1edd --&gt; G\u1eediD\u1eefLi\u1ec7u : \"k\u00edch ho\u1ea1t b\u1ed9 \u0111\u1ebfm th\u1eddi gian\"\r\n    G\u1eediD\u1eefLi\u1ec7u --&gt; \u0110ang ch\u1edd : \"nh\u1eadn x\u00e1c nh\u1eadn\"\r\n    \u0110ang ch\u1edd --&gt; Ti\u1ebftKi\u1ec7mN\u0103ngL\u01b0\u1ee3ng : \"ph\u00e1t hi\u1ec7n pin y\u1ebfu\"\r\n}\r\n\r\nOnline --&gt; Offline : \"m\u1ea5t k\u1ebft n\u1ed1i\"\r\n@enduml<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:VLDDIyD04Bq7yX-670N_W9GYj21IgO9Uf9GIrvXTsaogtO15F7aGyQ35auUYfOWVKFJY9JdqaEB_s7_Yx2R5M8ivv6DdvhsPzoRhFUcUo2Zes5PZfGchgsNOFZhg2FHioxRoLtDS2H4z9WNwi0REWOed4j2FL7A7Ziub8EaLiyvi2-YQmzQuIXu4I1MFmYnIF34f6qB5Om77KL_5KrcjxsecoON-WWELN4DFnPy8lVGHVIS3-LjZa5Go4VlfMrHHyNDKqw6wIWP20yu6wHYGqm08im6Xki2eaolOt27CyvzPt4Xo3wLWhXGXjXZtM1jA9SP3mRnosROAmshIfVb4c7D9deuOfuTANXa4wQXlU9-DUajhZHje75Y3XWpR7hQeOjo5Zaekc_zLvSOLohI6T1zXC-j9yvCKBva8DmKFSye5_sQtBisfEnvcWSB1Z-PLbRnl2UekqYpjT48Jyv1eZO7tcYkU1aQ4eG1Vk3ZtSQ5wWRAWuod9cFldBEzapsnCJGC5zTa5-bjV7oHRjhbTcfoKq464ha3GYnFDdSzd_wsX4wZuIKBRQ8XwZoXztSD3-c--0G00\" \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>Ch\u1ec9nh s\u1eeda Plantuml trong 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>Ph\u00e2n t\u00edch c\u00fa ph\u00e1p:<\/strong> B\u1ea3n \u0111\u1ed3 n\u00e0y r\u00f5 r\u00e0ng t\u00e1ch bi\u1ec7t c\u00e1c v\u00f2ng l\u1eb7p ho\u1ea1t \u0111\u1ed9ng ri\u00eang l\u1ebb. Khi ph\u1ea7n c\u1ee9ng chuy\u1ec3n sang tr\u1ea1ng th\u00e1i h\u1ee3p th\u00e0nh<code>Connecting<\/code> tr\u1ea1ng th\u00e1i bao b\u1ecdc, n\u00f3 theo d\u00f5i c\u00e1c tr\u1ea1ng th\u00e1i con c\u1ee5c b\u1ed9 nh\u01b0 gi\u1ea3i quy\u1ebft DNS tr\u01b0\u1edbc khi \u0111\u1ea1t \u0111\u1ebfn<code>authentication_check<\/code> kim c\u01b0\u01a1ng l\u1ef1a ch\u1ecdn. C\u00e1c d\u1ea5u ngo\u1eb7c (<code>[token_h\u1ee3p l\u1ec7]<\/code>) \u0111\u1ea1i di\u1ec7n cho \u0111i\u1ec1u ki\u1ec7n b\u1ea3o v\u1ec7 chu\u1ea9n UML.<\/p>\n<h3>V\u00ed d\u1ee5 2: M\u00e1y tr\u1ea1ng th\u00e1i th\u1ef1c hi\u1ec7n \u0111\u01a1n h\u00e0ng th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed (Tr\u1ea1ng th\u00e1i con \u0111\u1ed3ng th\u1eddi)<\/h3>\n<p>B\u1ea3n thi\u1ebft k\u1ebf doanh nghi\u1ec7p n\u00e2ng cao n\u00e0y m\u00f4 h\u00ecnh h\u00f3a h\u1ec7 th\u1ed1ng \u0111\u01a1n h\u00e0ng \u0111a lu\u1ed3ng, th\u1ec3 hi\u1ec7n c\u00e1c h\u00e0nh vi \u0111\u1ed3ng th\u1eddi vu\u00f4ng g\u00f3c (x\u1eed l\u00fd g\u00f3i v\u1eadn chuy\u1ec3n v\u00e0 h\u1ed3 s\u01a1 h\u00f3a \u0111\u01a1n c\u00f9ng l\u00fac) b\u1eb1ng c\u00e1c \u0111\u01b0\u1eddng chia (<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>Ch\u1ec9nh s\u1eeda Plantuml trong 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:VLCzIyH04Eq3-G-3fN1_m4B4hqiHzD0h1B68ITmitirgiWUAM5kgMDaPWuqW7cXrmMgF-n_xJvpTNExBmnG9EpDlyjwRsOrC1gdiTJkkSxnw0et6EZIvBkyzzOBCTLndUhB9uOCgchhyuCE7KOwm1YkOwC4R0gg119a4c80KAiSLrrceDV0ZElhgfstgsgRCTBXIUGYcpGU2L2ySpXEX1uLfuJh4JyRGIaKOPnb7rWgkkp5Ak74TeAScxNFrZhuUvE4UKwyufcygbcKiP4h24nHiamnfwCo8846KII1KtyY8pgrXz5T3RSmH2TcpEYRk_DEirhQVHd6w9V2CfzquMXGs_fil6Cya3xCgMo4dGI_0g4FcrE0vPqZNzOmVrfD9hER-XSpJvVE5uPpOnF1H5VGQzNLPX71A0n5msHlFfMuqYwmw1SYQF134Y5NReGgiUl4QU5jz6ervfTJbwN2KU-ehiFRDAjta7QFl80v56cNBP1xIoj0avy7cMKXKAswsSXBQwGQyOuUboxiBQ6tlLeGb0SMKint-iZ7Nu_T7_LuxrUNdub8pCWIig-DRCQqqM9BWEXinHdGDVm40\" \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; Gi\u1ecfH\u00e0ng\r\n\r\nGi\u1ecfH\u00e0ng --&gt; \u0110\u00e3G\u1eedi\u0110\u01a1n : \"nh\u1ea5n n\u00fat thanh to\u00e1n\"\r\n\u0110\u00e3G\u1eedi\u0110\u01a1n --&gt; X\u1eedL\u00fdThanhTo\u00e1n : \"x\u00e1c nh\u1eadn t\u00e0i kho\u1ea3n\"\r\n\r\nstate ProcessingPayment {\r\n    [*] --&gt; Li\u00eanL\u1ea1cNg\u00e2nH\u00e0ng\r\n    Li\u00eanL\u1ea1cNg\u00e2nH\u00e0ng --&gt; ThanhTo\u00e1nHo\u00e0nT\u1ea5t : \"thanh to\u00e1n th\u00e0nh c\u00f4ng\"\r\n}\r\n\r\nX\u1eedL\u00fdThanhTo\u00e1n --&gt; \u0110\u00e3X\u00e1cNh\u1eadn\u0110\u01a1n : \"thanh to\u00e1n th\u00e0nh c\u00f4ng\"\r\n\r\nstate OrderConfirmed {\r\n    [*] --&gt; X\u1eedL\u00fdLogistics\r\n    state LogisticsHandling {\r\n        [*] --&gt; L\u1ea5yH\u00e0ng\r\n        L\u1ea5yH\u00e0ng --&gt; \u0110\u00f3ngH\u1ed9p : \"h\u00e0ng \u0111\u00e3 \u0111\u01b0\u1ee3c b\u1ea3o qu\u1ea3n\"\r\n        \u0110\u00f3ngH\u1ed9p --&gt; \u0110angGiaoHang : \"nh\u00e3n \u0111\u00e3 in\"\r\n    }\r\n    --\r\n    [*] --&gt; H\u1ed3S\u01a1H\u00f3a\u0110\u01a1n\r\n    state BillingRecords {\r\n        [*] --&gt; So\u1ea1nH\u00f3a\u0110\u01a1n\r\n        So\u1ea1nH\u00f3a\u0110\u01a1n --&gt; G\u1eediH\u00f3a\u0110\u01a1nEmail : \"t\u1ec7p PDF \u0111\u00e3 t\u1ea1o\"\r\n    }\r\n}\r\n\r\n\u0110\u00e3X\u00e1cNh\u1eadn\u0110\u01a1n --&gt; \u0110\u00e3L\u01b0uTr\u1eef : \"x\u00e1c nh\u1eadn giao h\u00e0ng\"\r\n\u0110\u00e3L\u01b0uTr\u1eef --&gt; [*]\r\n@enduml<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:VLCzIyH04Eq3-G-3fN1_m4B4hqiHzD0h1B68ITmitirgiWUAM5kgMDaPWuqW7cXrmMgF-n_xJvpTNExBmnG9EpDlyjwRsOrC1gdiTJkkSxnw0et6EZIvBkyzzOBCTLndUhB9uOCgchhyuCE7KOwm1YkOwC4R0gg119a4c80KAiSLrrceDV0ZElhgfstgsgRCTBXIUGYcpGU2L2ySpXEX1uLfuJh4JyRGIaKOPnb7rWgkkp5Ak74TeAScxNFrZhuUvE4UKwyufcygbcKiP4h24nHiamnfwCo8846KII1KtyY8pgrXz5T3RSmH2TcpEYRk_DEirhQVHd6w9V2CfzquMXGs_fil6Cya3xCgMo4dGI_0g4FcrE0vPqZNzOmVrfD9hER-XSpJvVE5uPpOnF1H5VGQzNLPX71A0n5msHlFfMuqYwmw1SYQF134Y5NReGgiUl4QU5jz6ervfTJbwN2KU-ehiFRDAjta7QFl80v56cNBP1xIoj0avy7cMKXKAswsSXBQwGQyOuUboxiBQ6tlLeGb0SMKint-iZ7Nu_T7_LuxrUNdub8pCWIig-DRCQqqM9BWEXinHdGDVm40\" \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>Ch\u1ec9nh s\u1eeda Plantuml trong 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>Ph\u00e2n t\u00edch c\u00fa ph\u00e1p:<\/strong> B\u00ean trong c\u1ea5u tr\u00fac h\u1ee3p th\u00e0nh<code>OrderConfirmed<\/code> tr\u1ea1ng th\u00e1i h\u1ee3p th\u00e0nh, k\u00fd hi\u1ec7u g\u1ea1ch \u0111\u00f4i (<code>--<\/code>) ho\u1ea1t \u0111\u1ed9ng nh\u01b0 m\u1ed9t b\u1ed9 chia vu\u00f4ng g\u00f3c. \u0110i\u1ec1u n\u00e0y h\u01b0\u1edbng d\u1eabn PlantUML chia s\u01a1 \u0111\u1ed3 th\u00e0nh hai tr\u1ea1ng th\u00e1i \u0111\u1ed3ng th\u1eddi th\u1ef1c thi song song: \u0111\u01b0\u1eddng \u1ed1ng logistics v\u1eadt l\u00fd \u1edf b\u00ean tr\u00e1i, v\u00e0 c\u1eadp nh\u1eadt h\u00f3a \u0111\u01a1n doanh nghi\u1ec7p \u1edf b\u00ean ph\u1ea3i.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>S\u01a1 \u0111\u1ed3 tr\u1ea1ng th\u00e1i l\u00e0 g\u00ec? M\u1ed9t S\u01a1 \u0111\u1ed3 tr\u1ea1ng th\u00e1i (th\u01b0\u1eddng \u0111\u01b0\u1ee3c g\u1ecdi l\u00e0 M\u00e1y tr\u1ea1ng th\u00e1i ho\u1eb7c S\u01a1 \u0111\u1ed3 tr\u1ea1ng th\u00e1i) l\u00e0 m\u1ed9t bi\u1ec3u \u0111\u1ed3 h\u00e0nh vi bi\u1ec3u \u0111\u1ed3 UML m\u00f4 h\u00ecnh h\u00f3a v\u00f2ng \u0111\u1eddi c\u1ee7a m\u1ed9t \u0111\u1ed1i&#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-2116","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\/vn\/docs\/vpascode-docs\/plantuml-state-diagram-syntax-guide\/\" \/>\n<meta property=\"og:locale\" content=\"vi_VN\" \/>\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\/vn\/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=\"\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc\" \/>\n\t<meta name=\"twitter:data1\" content=\"4 ph\u00fat\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/plantuml-state-diagram-syntax-guide\\\/\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/plantuml-state-diagram-syntax-guide\\\/\",\"name\":\"PlantUML State Diagram Syntax | VPasCode Text to Diagram Guide\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/plantuml-state-diagram-syntax-guide\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/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\\\/vn\\\/docs\\\/vpascode-docs\\\/plantuml-state-diagram-syntax-guide\\\/#breadcrumb\"},\"inLanguage\":\"vi\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/vpascode-docs\\\/plantuml-state-diagram-syntax-guide\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"vi\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/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\\\/vn\\\/docs\\\/vpascode-docs\\\/plantuml-state-diagram-syntax-guide\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Lean Docs\",\"item\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/docs\\\/%ld_collection%\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"H\u01b0\u1edbng d\u1eabn c\u00fa ph\u00e1p s\u01a1 \u0111\u1ed3 tr\u1ea1ng th\u00e1i PlantUML\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#website\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/\",\"name\":\"VPasCode\",\"description\":\"by Visual Paradigm\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"vi\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#organization\",\"name\":\"VPasCode\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"vi\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/wp-content\\\/uploads\\\/sites\\\/12\\\/2026\\\/06\\\/cropped-vp-online-logo-v1.png\",\"contentUrl\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/wp-content\\\/uploads\\\/sites\\\/12\\\/2026\\\/06\\\/cropped-vp-online-logo-v1.png\",\"width\":128,\"height\":138,\"caption\":\"VPasCode\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/vn\\\/#\\\/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\/vn\/docs\/vpascode-docs\/plantuml-state-diagram-syntax-guide\/","og_locale":"vi_VN","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\/vn\/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":{"\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"4 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-state-diagram-syntax-guide\/","url":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-state-diagram-syntax-guide\/","name":"PlantUML State Diagram Syntax | VPasCode Text to Diagram Guide","isPartOf":{"@id":"https:\/\/www.vpascode.com\/vn\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-state-diagram-syntax-guide\/#primaryimage"},"image":{"@id":"https:\/\/www.vpascode.com\/vn\/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\/vn\/docs\/vpascode-docs\/plantuml-state-diagram-syntax-guide\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.vpascode.com\/vn\/docs\/vpascode-docs\/plantuml-state-diagram-syntax-guide\/"]}]},{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/www.vpascode.com\/vn\/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\/vn\/docs\/vpascode-docs\/plantuml-state-diagram-syntax-guide\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.vpascode.com\/vn\/"},{"@type":"ListItem","position":2,"name":"Lean Docs","item":"https:\/\/www.vpascode.com\/vn\/docs\/%ld_collection%\/"},{"@type":"ListItem","position":3,"name":"H\u01b0\u1edbng d\u1eabn c\u00fa ph\u00e1p s\u01a1 \u0111\u1ed3 tr\u1ea1ng th\u00e1i PlantUML"}]},{"@type":"WebSite","@id":"https:\/\/www.vpascode.com\/vn\/#website","url":"https:\/\/www.vpascode.com\/vn\/","name":"VPasCode","description":"by Visual Paradigm","publisher":{"@id":"https:\/\/www.vpascode.com\/vn\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.vpascode.com\/vn\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"vi"},{"@type":"Organization","@id":"https:\/\/www.vpascode.com\/vn\/#organization","name":"VPasCode","url":"https:\/\/www.vpascode.com\/vn\/","logo":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/www.vpascode.com\/vn\/#\/schema\/logo\/image\/","url":"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/06\/cropped-vp-online-logo-v1.png","contentUrl":"https:\/\/www.vpascode.com\/vn\/wp-content\/uploads\/sites\/12\/2026\/06\/cropped-vp-online-logo-v1.png","width":128,"height":138,"caption":"VPasCode"},"image":{"@id":"https:\/\/www.vpascode.com\/vn\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/ld_docs\/2116","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/ld_docs"}],"about":[{"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/types\/ld_docs"}],"author":[{"embeddable":true,"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/users\/4"}],"wp:attachment":[{"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/media?parent=2116"}],"wp:term":[{"taxonomy":"ld_collection","embeddable":true,"href":"https:\/\/www.vpascode.com\/vn\/wp-json\/wp\/v2\/ld_collection?post=2116"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}