{"id":11669,"date":"2026-05-22T12:08:09","date_gmt":"2026-05-22T04:08:09","guid":{"rendered":"https:\/\/blog.visual-paradigm.com\/vn\/orchestrating-complexity-sequential-vs-concurrent-substates-in-state-machine-modeling-introduction\/"},"modified":"2026-05-30T14:45:21","modified_gmt":"2026-05-30T06:45:21","slug":"orchestrating-complexity-sequential-vs-concurrent-substates-in-state-machine-modeling-introduction","status":"publish","type":"post","link":"https:\/\/blog.visual-paradigm.com\/vn\/orchestrating-complexity-sequential-vs-concurrent-substates-in-state-machine-modeling-introduction\/","title":{"rendered":"\u0110i\u1ec1u ph\u1ed1i S\u1ef1 Ph\u1ee9c t\u1ea1p: C\u00e1c tr\u1ea1ng th\u00e1i con tu\u1ea7n t\u1ef1 so v\u1edbi \u0111\u1ed3ng th\u1eddi trong M\u00f4 h\u00ecnh h\u00f3a M\u00e1y tr\u1ea1ng th\u00e1i Gi\u1edbi thi\u1ec7u"},"content":{"rendered":"<h2 data-nodeid=\"8511\">Gi\u1edbi thi\u1ec7u<\/h2>\n<p data-nodeid=\"8512\">Khi c\u00e1c h\u1ec7 th\u1ed1ng ph\u1ea7n m\u1ec1m hi\u1ec7n \u0111\u1ea1i ng\u00e0y c\u00e0ng m\u1edf r\u1ed9ng v\u1ec1 quy m\u00f4 v\u00e0 ch\u1ee9c n\u0103ng, c\u00e1c s\u01a1 \u0111\u1ed3 tr\u1ea1ng th\u00e1i ph\u1eb3ng nhanh ch\u00f3ng tr\u1edf n\u00ean kh\u00f3 ki\u1ec3m so\u00e1t. C\u00e1c \u1ee9ng d\u1ee5ng th\u1ef1c t\u1ebf hi\u1ebfm khi ho\u1ea1t \u0111\u1ed9ng theo c\u00e1ch tuy\u1ebfn t\u00ednh \u0111\u01a1n gi\u1ea3n; thay v\u00e0o \u0111\u00f3, ch\u00fang qu\u1ea3n l\u00fd c\u00e1c quy tr\u00ecnh ph\u1ee5 thu\u1ed9c l\u1eabn nhau, c\u00e1c qu\u00e1 tr\u00ecnh n\u1ec1n v\u00e0 c\u00e1c t\u01b0\u01a1ng t\u00e1c do ng\u01b0\u1eddi d\u00f9ng kh\u1edfi x\u01b0\u1edbng, \u0111\u00f2i h\u1ecfi s\u1ef1 \u0111i\u1ec1u ph\u1ed1i ch\u00ednh x\u00e1c. \u0110\u1ec3 gi\u1ea3i quy\u1ebft s\u1ef1 ph\u1ee9c t\u1ea1p n\u00e0y, m\u00f4 h\u00ecnh h\u00f3a m\u00e1y tr\u1ea1ng th\u00e1i gi\u1edbi thi\u1ec7u\u00a0<strong data-nodeid=\"8618\">c\u00e1c tr\u1ea1ng th\u00e1i t\u1ed5ng h\u1ee3p<\/strong>, nh\u1eefng tr\u1ea1ng th\u00e1i n\u00e0y bao b\u1ecdc c\u00e1c h\u00e0nh vi n\u1ed9i b\u1ed9 b\u00ean trong m\u1ed9t tr\u1ea1ng th\u00e1i cha duy nh\u1ea5t. Quy\u1ebft \u0111\u1ecbnh ki\u1ebfn tr\u00fac v\u1ec1 c\u00e1ch t\u1ed5 ch\u1ee9c c\u00e1c h\u00e0nh vi n\u1ed9i b\u1ed9 n\u00e0y ph\u1ee5 thu\u1ed9c v\u00e0o hai m\u00f4 h\u00ecnh c\u01a1 b\u1ea3n:\u00a0<strong data-nodeid=\"8619\">C\u00e1c tr\u1ea1ng th\u00e1i con tu\u1ea7n t\u1ef1 (Ho\u1eb7c)<\/strong>\u00a0v\u00e0\u00a0<strong data-nodeid=\"8620\">C\u00e1c tr\u1ea1ng th\u00e1i con \u0111\u1ed3ng th\u1eddi (V\u00e0)<\/strong>.<\/p>\n<p data-nodeid=\"8513\">Vi\u1ec7c l\u1ef1a ch\u1ecdn gi\u1eefa hai m\u00f4 h\u00ecnh n\u00e0y kh\u00f4ng ch\u1ec9 l\u00e0 s\u1edf th\u00edch v\u1ec1 c\u00e1ch v\u1ebd s\u01a1 \u0111\u1ed3; n\u00f3 tr\u1ef1c ti\u1ebfp \u1ea3nh h\u01b0\u1edfng \u0111\u1ebfn ki\u1ebfn tr\u00fac h\u1ec7 th\u1ed1ng, c\u00e1ch x\u1eed l\u00fd \u0111\u1ed3ng th\u1eddi, ph\u1ee5c h\u1ed3i l\u1ed7i v\u00e0 kh\u1ea3 n\u0103ng b\u1ea3o tr\u00ec. Nghi\u00ean c\u1ee9u tr\u01b0\u1eddng h\u1ee3p n\u00e0y kh\u00e1m ph\u00e1 \u1ee9ng d\u1ee5ng th\u1ef1c ti\u1ec5n c\u1ee7a c\u1ea3 hai ph\u01b0\u01a1ng ph\u00e1p trong v\u00f2ng \u0111\u1eddi \u0111\u01a1n h\u00e0ng th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed hi\u1ec7n \u0111\u1ea1i, minh ch\u1ee9ng c\u00e1ch th\u1ee9c s\u1eed d\u1ee5ng c\u00e1c tr\u1ea1ng th\u00e1i con tu\u1ea7n t\u1ef1 v\u00e0 \u0111\u1ed3ng th\u1eddi \u0111\u1ec3 x\u00e2y d\u1ef1ng c\u00e1c m\u00e1y tr\u1ea1ng th\u00e1i b\u1ec1n b\u1ec9, m\u1edf r\u1ed9ng \u0111\u01b0\u1ee3c v\u00e0 c\u00f3 t\u00ednh logic v\u1eefng ch\u1eafc.<\/p>\n<p id=\"AZKesOW\"><img alt=\"Orchestrating Complexity: Sequential vs. Concurrent Substates in State Machine Modeling Introduction\" class=\"alignnone wp-image-24750 size-full\" decoding=\"async\" height=\"509\" loading=\"lazy\" sizes=\"auto, (max-width: 916px) 100vw, 916px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0fd6eb638db.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0fd6eb638db.png 916w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0fd6eb638db-300x167.png 300w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0fd6eb638db-768x427.png 768w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0fd6eb638db-150x83.png 150w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0fd6eb638db-400x222.png 400w\" width=\"916\"\/><\/p>\n<hr data-nodeid=\"8514\"\/>\n<h2 data-nodeid=\"8515\">Nh\u1eefng Kh\u00e1i ni\u1ec7m C\u01a1 b\u1ea3n<\/h2>\n<p data-nodeid=\"8516\">Tr\u01b0\u1edbc khi \u0111i v\u00e0o nghi\u00ean c\u1ee9u tr\u01b0\u1eddng h\u1ee3p, \u0111i\u1ec1u c\u1ea7n thi\u1ebft l\u00e0 ph\u1ea3i thi\u1ebft l\u1eadp s\u1ef1 ph\u00e2n bi\u1ec7t l\u00fd thuy\u1ebft gi\u1eefa hai ki\u1ebfn tr\u00fac tr\u1ea1ng th\u00e1i con.<\/p>\n<h3 data-nodeid=\"8517\">C\u00e1c tr\u1ea1ng th\u00e1i con tu\u1ea7n t\u1ef1 (Tr\u1ea1ng th\u00e1i Ho\u1eb7c)<\/h3>\n<p data-nodeid=\"8518\">Trong c\u1ea5u h\u00ecnh tu\u1ea7n t\u1ef1, m\u1ed9t tr\u1ea1ng th\u00e1i t\u1ed5ng h\u1ee3p ch\u1ec9 c\u00f3 th\u1ec3 chi\u1ebfm gi\u1eef\u00a0<strong data-nodeid=\"8630\">m\u1ed9t tr\u1ea1ng th\u00e1i con t\u1ea1i m\u1ed9t th\u1eddi \u0111i\u1ec3m<\/strong>. C\u00e1c chuy\u1ec3n ti\u1ebfp tu\u00e2n theo m\u1ed9t h\u00e0nh tr\u00ecnh tuy\u1ebfn t\u00ednh \u0111\u00e3 \u0111\u01b0\u1ee3c x\u00e1c \u0111\u1ecbnh tr\u01b0\u1edbc, n\u01a1i m\u1ed7i tr\u1ea1ng th\u00e1i ph\u1ea3i ho\u00e0n th\u00e0nh tr\u01b0\u1edbc khi tr\u1ea1ng th\u00e1i ti\u1ebfp theo b\u1eaft \u0111\u1ea7u.<\/p>\n<ul data-nodeid=\"8519\">\n<li data-nodeid=\"8520\">\n<p data-nodeid=\"8521\"><strong data-nodeid=\"8639\">\u0110i\u1ec1u ki\u1ec7n Logic:<\/strong>\u00a0Tr\u1ea1ng th\u00e1i A\u00a0<strong data-nodeid=\"8640\">HO\u1eb6C<\/strong>\u00a0Tr\u1ea1ng th\u00e1i B.<\/p>\n<\/li>\n<li data-nodeid=\"8522\">\n<p data-nodeid=\"8523\"><strong data-nodeid=\"8645\">D\u00f9ng t\u1ed1t nh\u1ea5t cho:<\/strong>\u00a0C\u00e1c quy tr\u00ecnh t\u1eebng b\u01b0\u1edbc, tr\u1ee3 l\u00fd h\u01b0\u1edbng d\u1eabn, c\u00e1c \u0111\u01b0\u1eddng \u1ed1ng ki\u1ec3m tra t\u00ednh h\u1ee3p l\u1ec7 v\u00e0 c\u00e1c ch\u1ebf \u0111\u1ed9 ho\u1ea1t \u0111\u1ed9ng lo\u1ea1i tr\u1eeb l\u1eabn nhau.<\/p>\n<\/li>\n<\/ul>\n<h3 data-nodeid=\"8524\">C\u00e1c tr\u1ea1ng th\u00e1i con \u0111\u1ed3ng th\u1eddi (Tr\u1ea1ng th\u00e1i V\u00e0)<\/h3>\n<p data-nodeid=\"8525\">Trong c\u1ea5u h\u00ecnh \u0111\u1ed3ng th\u1eddi, m\u1ed9t tr\u1ea1ng th\u00e1i t\u1ed5ng h\u1ee3p \u0111\u01b0\u1ee3c chia th\u00e0nh nhi\u1ec1u v\u00f9ng \u0111\u1ed9c l\u1eadp. Khi tr\u1ea1ng th\u00e1i cha tr\u1edf n\u00ean ho\u1ea1t \u0111\u1ed9ng,\u00a0<strong data-nodeid=\"8652\">t\u1ea5t c\u1ea3 c\u00e1c v\u00f9ng \u0111\u1ec1u \u0111\u01b0\u1ee3c k\u00edch ho\u1ea1t \u0111\u1ed3ng th\u1eddi<\/strong>, m\u1ed7i v\u00f9ng duy tr\u00ec v\u00f2ng \u0111\u1eddi v\u00e0 c\u00e1c chuy\u1ec3n ti\u1ebfp tr\u1ea1ng th\u00e1i \u0111\u1ed9c l\u1eadp c\u1ee7a ri\u00eang n\u00f3.<\/p>\n<ul data-nodeid=\"8526\">\n<li data-nodeid=\"8527\">\n<p data-nodeid=\"8528\"><strong data-nodeid=\"8661\">\u0110i\u1ec1u ki\u1ec7n Logic:<\/strong>\u00a0V\u00f9ng 1 (Tr\u1ea1ng th\u00e1i A)\u00a0<strong data-nodeid=\"8662\">V\u00c0<\/strong>\u00a0V\u00f9ng 2 (Tr\u1ea1ng th\u00e1i X).<\/p>\n<\/li>\n<li data-nodeid=\"8529\">\n<p data-nodeid=\"8530\"><strong data-nodeid=\"8667\">S\u1eed d\u1ee5ng t\u1ed1t nh\u1ea5t cho:<\/strong>Th\u1ef1c thi song song c\u00e1c ti\u1ebfn tr\u00ecnh, gi\u00e1m s\u00e1t n\u1ec1n \u0111\u1ed3ng th\u1eddi v\u1edbi t\u01b0\u01a1ng t\u00e1c giao di\u1ec7n ng\u01b0\u1eddi d\u00f9ng, v\u00e0 ph\u1ed1i h\u1ee3p c\u00e1c h\u1ec7 th\u1ed1ng con t\u00e1ch bi\u1ec7t.<\/p>\n<\/li>\n<\/ul>\n<h3 data-nodeid=\"8531\">So s\u00e1nh c\u1ea5u tr\u00fac<\/h3>\n<table data-nodeid=\"8533\">\n<thead data-nodeid=\"8534\">\n<tr data-nodeid=\"8535\">\n<th align=\"left\" data-nodeid=\"8537\">T\u00ednh n\u0103ng<\/th>\n<th align=\"left\" data-nodeid=\"8538\">C\u00e1c tr\u1ea1ng th\u00e1i con tu\u1ea7n t\u1ef1<\/th>\n<th align=\"left\" data-nodeid=\"8539\">C\u00e1c tr\u1ea1ng th\u00e1i con \u0111\u1ed3ng th\u1eddi<\/th>\n<\/tr>\n<\/thead>\n<tbody data-nodeid=\"8543\">\n<tr data-nodeid=\"8544\">\n<td align=\"left\" data-nodeid=\"8545\"><strong data-nodeid=\"8675\">Tr\u1ea1ng th\u00e1i \u0111ang ho\u1ea1t \u0111\u1ed9ng<\/strong><\/td>\n<td align=\"left\" data-nodeid=\"8546\">Ch\u00ednh x\u00e1c m\u1ed9t tr\u1ea1ng th\u00e1i con \u0111ang ho\u1ea1t \u0111\u1ed9ng t\u1ea1i b\u1ea5t k\u1ef3 th\u1eddi \u0111i\u1ec3m n\u00e0o.<\/td>\n<td align=\"left\" data-nodeid=\"8547\">M\u1ed9t tr\u1ea1ng th\u00e1i con trong\u00a0<em data-nodeid=\"8682\">m\u1ecdi<\/em>\u00a0v\u00f9ng song song \u0111\u1ec1u \u0111ang ho\u1ea1t \u0111\u1ed9ng \u0111\u1ed3ng th\u1eddi.<\/td>\n<\/tr>\n<tr data-nodeid=\"8548\">\n<td align=\"left\" data-nodeid=\"8549\"><strong data-nodeid=\"8686\">Bi\u1ebfn n\u1ed9i b\u1ed9<\/strong><\/td>\n<td align=\"left\" data-nodeid=\"8550\">B\u1ed1i c\u1ea3nh chung, \u0111\u01b0\u1ee3c thay \u0111\u1ed5i theo th\u1ee9 t\u1ef1 tu\u1ea7n t\u1ef1.<\/td>\n<td align=\"left\" data-nodeid=\"8551\">Th\u01b0\u1eddng \u0111\u1ed9c l\u1eadp; c\u00e1c thay \u0111\u1ed5i ph\u1ea3i an to\u00e0n cho lu\u1ed3ng ho\u1eb7c \u0111\u01b0\u1ee3c k\u00edch ho\u1ea1t b\u1edfi s\u1ef1 ki\u1ec7n.<\/td>\n<\/tr>\n<tr data-nodeid=\"8552\">\n<td align=\"left\" data-nodeid=\"8553\"><strong data-nodeid=\"8692\">\u0110\u1ed9 ph\u1ee9c t\u1ea1p<\/strong><\/td>\n<td align=\"left\" data-nodeid=\"8554\">Th\u1ea5p \u0111\u1ebfn trung b\u00ecnh; d\u1ec5 theo d\u00f5i theo tuy\u1ebfn t\u00ednh.<\/td>\n<td align=\"left\" data-nodeid=\"8555\">Cao h\u01a1n; y\u00eau c\u1ea7u theo d\u00f5i \u0111\u1ed3ng b\u1ed9 h\u00f3a v\u00e0 c\u00e1c \u0111i\u1ec1u ki\u1ec7n c\u1ea1nh tranh ti\u1ec1m \u1ea9n.<\/td>\n<\/tr>\n<tr data-nodeid=\"8556\">\n<td align=\"left\" data-nodeid=\"8557\"><strong data-nodeid=\"8698\">\u0110i\u1ec1u ki\u1ec7n tho\u00e1t<\/strong><\/td>\n<td align=\"left\" data-nodeid=\"8558\">\u0110\u1ea1t \u0111\u1ebfn tr\u1ea1ng th\u00e1i cu\u1ed1i b\u00ean trong, ho\u1eb7c m\u1ed9t chuy\u1ec3n ti\u1ebfp ngo\u00e0i r\u00f5 r\u00e0ng.<\/td>\n<td align=\"left\" data-nodeid=\"8559\">Th\u01b0\u1eddng y\u00eau c\u1ea7u\u00a0<em data-nodeid=\"8705\">t\u1ea5t c\u1ea3<\/em>\u00a0v\u00f9ng ph\u1ea3i \u0111\u1ea1t \u0111\u1ebfn tr\u1ea1ng th\u00e1i cu\u1ed1i (k\u1ebft h\u1ee3p), ho\u1eb7c m\u1ed9t ng\u1eaft b\u00ean ngo\u00e0i.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr data-nodeid=\"8560\"\/>\n<h2 data-nodeid=\"8561\">Nghi\u00ean c\u1ee9u tr\u01b0\u1eddng h\u1ee3p: Chu k\u1ef3 s\u1ed1ng \u0111\u01a1n h\u00e0ng th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed<\/h2>\n<p data-nodeid=\"8562\">\u0110\u1ec3 minh h\u1ecda c\u00e1c kh\u00e1i ni\u1ec7m n\u00e0y trong th\u1ef1c t\u1ebf, ch\u00fang ta s\u1ebd m\u00f4 h\u00ecnh h\u00f3a hai giai \u0111o\u1ea1n quan tr\u1ecdng trong lu\u1ed3ng x\u1eed l\u00fd \u0111\u01a1n h\u00e0ng c\u1ee7a n\u1ec1n t\u1ea3ng th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed:\u00a0<strong data-nodeid=\"8718\">X\u1eed l\u00fd thanh to\u00e1n<\/strong>\u00a0v\u00e0\u00a0<strong data-nodeid=\"8719\">Th\u1ef1c hi\u1ec7n \u0111\u01a1n h\u00e0ng<\/strong>. M\u1ed7i giai \u0111o\u1ea1n minh ch\u1ee9ng l\u00fd do t\u1ea1i sao m\u1ed9t ki\u1ebfn tr\u00fac tr\u1ea1ng th\u00e1i con c\u1ee5 th\u1ec3 l\u00e0 l\u1ef1a ch\u1ecdn t\u1ed1i \u01b0u.<\/p>\n<h3 data-nodeid=\"8563\">Giai \u0111o\u1ea1n 1: Tr\u1ea1ng th\u00e1i con tu\u1ea7n t\u1ef1 trong x\u1eed l\u00fd thanh to\u00e1n<\/h3>\n<p data-nodeid=\"8564\">X\u1eed l\u00fd thanh to\u00e1n v\u1ed1n d\u0129 l\u00e0 tuy\u1ebfn t\u00ednh v\u00e0 ph\u1ee5 thu\u1ed9c tr\u1ea1ng th\u00e1i. Ph\u1ea3i x\u00e1c th\u1ef1c tr\u01b0\u1edbc khi ki\u1ec3m tra gian l\u1eadn, v\u00e0 ki\u1ec3m tra gian l\u1eadn ph\u1ea3i tr\u01b0\u1edbc khi thu ti\u1ec1n. B\u1ecf qua c\u00e1c b\u01b0\u1edbc ho\u1eb7c th\u1ef1c hi\u1ec7n ch\u00fang song song s\u1ebd vi ph\u1ea1m tu\u00e2n th\u1ee7 t\u00e0i ch\u00ednh v\u00e0 l\u00e0m t\u1ed5n h\u1ea1i \u0111\u1ebfn t\u00ednh to\u00e0n v\u1eb9n giao d\u1ecbch. Do \u0111\u00f3, c\u1ea5u h\u00ecnh tu\u1ea7n t\u1ef1 (Ho\u1eb7c) l\u00e0 b\u1eaft bu\u1ed9c.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/uml.planttext.com\/plantuml\/png\/NL5DIyGm4BqN-Xy6l0cBuD63x5eGl2tiYWVna4sctR3vg9E9ieh_tKdRfTKSGfZtthmtatLYHPozgwjqig5Nf3meqaVBg3aJmdTTWPm7fKyTnHnC4rqaU2cC4TeGnS-nUdKxd4aIoI3z0txgggxOiaFOuNl6m5OvsEM3165Ci8AjEdifmvQYnfHiw8faW2_O35tYlLw_mMfr3q_6JQdAQoXjCXyZsQ_2leFdX0Gf7xpb1FtORXfZmLlgq8YiKMJWGpbh5DiOf8Ck2VugXLc4ZUfbSwFTdcpN5KTa6Nascpc38lhU8GzEZxBY97mjopSZURp73VoTHlhH-GQQ8-eJjAIo0OzCLgUbPXbeKkn9XTHAi7QmQobwmAJb8wSlcYELWBBUkbfZCDd_0W00\"\/><\/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#plantuml:NL5DIyGm4BqN-Xy6l0cBuD63x5eGl2tiYWVna4sctR3vg9E9ieh_tKdRfTKSGfZtthmtatLYHPozgwjqig5Nf3meqaVBg3aJmdTTWPm7fKyTnHnC4rqaU2cC4TeGnS-nUdKxd4aIoI3z0txgggxOiaFOuNl6m5OvsEM3165Ci8AjEdifmvQYnfHiw8faW2_O35tYlLw_mMfr3q_6JQdAQoXjCXyZsQ_2leFdX0Gf7xpb1FtORXfZmLlgq8YiKMJWGpbh5DiOf8Ck2VugXLc4ZUfbSwFTdcpN5KTa6Nascpc38lhU8GzEZxBY97mjopSZURp73VoTHlhH-GQQ8-eJjAIo0OzCLgUbPXbeKkn9XTHAi7QmQobwmAJb8wSlcYELWBBUkbfZCDd_0W00\" 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#plantuml:PLB1IiGm4BqN-Wy3teH5yEX1TjsJBCWU11V4Gqn34xPDbZH5Ll4WdZpk1mXRUl0W2mfURF4KyJ_o9qxQmdOrXwITp7lptao6cI7Qv6aI1jbSo0NH90MYAHU6KPDh1dTX0BXE29t7MkKo6gj4QRZm6UtLI6jrqqRt3flLGPIEcFvpSHy6OM24IHYCRK71Q5SLCWR3RI60AWacTzKB7gv-Xm7CNBs1n7vX0f4SZBA5z1Iesp2OacNAf9bgHLcM2UJfv5xkNy5WS0odKTAfz5zDQ9GRhhIuzTb7S1R_lBdwMK1aFp4GOpcnMwknsCFqELY45BF61qUzpL7LtimQ2QZzaF4k0G8yVamMsDnMmSHkA0Uki0_cV-LjPeDJwI9XfYbxBbpz8E5xPKlSl8kImhMhIeM_UAGjGRktxTgrZetJomEO8CzZYeCWGD744sIkNa4iY8J4LHlP9-Zhxk1ZdY-H00VMwi6vlOAnQm5pxwcKVpGr3s3hmxl2OON1aCaeJty1\" \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\" data-nodeid=\"8565\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\nskinparam architecture {\r\n    BackgroundColor White\r\n    ArrowColor #222222\r\n    BorderColor #222222\r\n}\r\n\r\ntitle C\u00e1c tr\u1ea1ng th\u00e1i con tu\u1ea7n t\u1ef1 - X\u1eed l\u00fd thanh to\u00e1n\r\n\r\nstate PaymentProcessing {\r\n    [*] --&gt; Idle\r\n    Idle --&gt; Authorizing : Ng\u01b0\u1eddi d\u00f9ng g\u1eedi thanh to\u00e1n\r\n    Authorizing --&gt; Authorized : X\u00e1c th\u1ef1c th\u1ebb th\u00e0nh c\u00f4ng\r\n    Authorized --&gt; Capturing : K\u00edch ho\u1ea1t thanh to\u00e1n\r\n    Capturing --&gt; Completed : Ti\u1ec1n \u0111\u00e3 \u0111\u01b0\u1ee3c b\u1ea3o \u0111\u1ea3m\r\n    \r\n    state Authorizing : entry\/ Ki\u1ec3m tra ch\u1ec9 s\u1ed1 gian l\u1eadn\r\n    state Capturing : entry\/ Chuy\u1ec3n ti\u1ec1n t\u1eeb t\u00e0i kho\u1ea3n b\u1ea3o \u0111\u1ea3m\r\n}\r\n\r\nCompleted --&gt; [*]\r\n@endum\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com#plantuml:PLB1IiGm4BqN-Wy3teH5yEX1TjsJBCWU11V4Gqn34xPDbZH5Ll4WdZpk1mXRUl0W2mfURF4KyJ_o9qxQmdOrXwITp7lptao6cI7Qv6aI1jbSo0NH90MYAHU6KPDh1dTX0BXE29t7MkKo6gj4QRZm6UtLI6jrqqRt3flLGPIEcFvpSHy6OM24IHYCRK71Q5SLCWR3RI60AWacTzKB7gv-Xm7CNBs1n7vX0f4SZBA5z1Iesp2OacNAf9bgHLcM2UJfv5xkNy5WS0odKTAfz5zDQ9GRhhIuzTb7S1R_lBdwMK1aFp4GOpcnMwknsCFqELY45BF61qUzpL7LtimQ2QZzaF4k0G8yVamMsDnMmSHkA0Uki0_cV-LjPeDJwI9XfYbxBbpz8E5xPKlSl8kImhMhIeM_UAGjGRktxTgrZetJomEO8CzZYeCWGD744sIkNa4iY8J4LHlP9-Zhxk1ZdY-H00VMwi6vlOAnQm5pxwcKVpGr3s3hmxl2OON1aCaeJty1\" \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#plantuml:NL5DIyGm4BqN-Xy6l0cBuD63x5eGl2tiYWVna4sctR3vg9E9ieh_tKdRfTKSGfZtthmtatLYHPozgwjqig5Nf3meqaVBg3aJmdTTWPm7fKyTnHnC4rqaU2cC4TeGnS-nUdKxd4aIoI3z0txgggxOiaFOuNl6m5OvsEM3165Ci8AjEdifmvQYnfHiw8faW2_O35tYlLw_mMfr3q_6JQdAQoXjCXyZsQ_2leFdX0Gf7xpb1FtORXfZmLlgq8YiKMJWGpbh5DiOf8Ck2VugXLc4ZUfbSwFTdcpN5KTa6Nascpc38lhU8GzEZxBY97mjopSZURp73VoTHlhH-GQQ8-eJjAIo0OzCLgUbPXbeKkn9XTHAi7QmQobwmAJb8wSlcYELWBBUkbfZCDd_0W00\" 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 data-nodeid=\"8566\"><strong data-nodeid=\"8726\">B\u00e0i h\u1ecdc ki\u1ebfn tr\u00fac:<\/strong>\u00a0M\u00f4 h\u00ecnh tu\u1ea7n t\u1ef1 \u0111\u1ea3m b\u1ea3o th\u1ee9 t\u1ef1 nghi\u00eam ng\u1eb7t. C\u00e1c h\u00e0nh \u0111\u1ed9ng v\u00e0o\/ra (v\u00ed d\u1ee5: ki\u1ec3m tra gian l\u1eadn, chuy\u1ec3n ti\u1ec1n t\u1eeb t\u00e0i kho\u1ea3n b\u1ea3o \u0111\u1ea3m) \u0111\u01b0\u1ee3c k\u00edch ho\u1ea1t m\u1ed9t c\u00e1ch d\u1ef1 \u0111o\u00e1n \u0111\u01b0\u1ee3c, gi\u00fap vi\u1ec7c g\u1ee1 l\u1ed7i, ghi nh\u1eadt k\u00fd ki\u1ec3m to\u00e1n v\u00e0 chi\u1ebfn l\u01b0\u1ee3c ho\u00e0n t\u00e1c tr\u1edf n\u00ean \u0111\u01a1n gi\u1ea3n.<\/p>\n<h3 data-nodeid=\"8567\">Giai \u0111o\u1ea1n 2: C\u00e1c tr\u1ea1ng th\u00e1i con \u0111\u1ed3ng th\u1eddi trong vi\u1ec7c th\u1ef1c hi\u1ec7n \u0111\u01a1n h\u00e0ng<\/h3>\n<p data-nodeid=\"8568\">Khi thanh to\u00e1n \u0111\u00e3 \u0111\u01b0\u1ee3c b\u1ea3o \u0111\u1ea3m, h\u1ec7 th\u1ed1ng ph\u1ea3i chu\u1ea9n b\u1ecb \u0111\u01a1n h\u00e0ng \u0111\u1ec3 giao. Tuy nhi\u00ean, vi\u1ec7c chu\u1ea9n b\u1ecb h\u1eadu c\u1ea7n v\u00e0 qu\u1ea3n l\u00fd t\u1ed3n kho ho\u1ea1t \u0111\u1ed9ng tr\u00ean c\u00e1c kho d\u1eef li\u1ec7u kh\u00e1c nhau, li\u00ean quan \u0111\u1ebfn c\u00e1c nh\u00f3m\/l\u1edbp d\u1ecbch v\u1ee5 kh\u00e1c nhau, v\u00e0 kh\u00f4ng ph\u1ee5 thu\u1ed9c v\u00e0o vi\u1ec7c ho\u00e0n th\u00e0nh l\u1eabn nhau \u0111\u1ec3 ti\u1ebfp t\u1ee5c. M\u00f4 h\u00ecnh h\u00f3a ch\u00fang theo th\u1ee9 t\u1ef1 s\u1ebd t\u1ea1o ra c\u00e1c \u0111i\u1ec3m ngh\u1ebdn nh\u00e2n t\u1ea1o. M\u1ed9t c\u1ea5u h\u00ecnh \u0111\u1ed3ng th\u1eddi (And) cho ph\u00e9p c\u1ea3 hai quy tr\u00ecnh ch\u1ea1y song song, l\u00e0m gi\u1ea3m \u0111\u00e1ng k\u1ec3 th\u1eddi gian x\u1eed l\u00fd \u0111\u01a1n h\u00e0ng t\u1ed5ng th\u1ec3.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/uml.planttext.com\/plantuml\/png\/TP5DQiCm48Nt1jzXTcqDla0M9Vqd9L3Zq5NfGf4dZh0i6MaSQahlth64G-ecNiWmRxwdUPgb9-6eRtMQa2ADy62Dx9r3Gx3fjwmIUiZXpLNeuBdNEwLrosgQf4bGetIYm7UQ07_nl8ArhPKd9JsKM2jhOlqZ-uGyluN2OIUSCdKXP2DgZAgnR6mDQ6MQ1MJPt2FBOj-S3fOlQD09ukfchxgE_sknHGqBM16s7hRs2wl8NseDaqNB4aKrC1k5ZY-ZYOvddl_Dkp87VWNhXhDvxxIsCjv8LZRduyujfhWpE1Y-TrMeF9K5Jndh1tHgfwOnJpj6ukZ-Y5KlEGrpe-O78q7QjjD8l8UVSSN_bZiQJ6_5tBsbFRWmf3-oSFrgbRb9aoMQgcz_0G00\"\/><\/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#plantuml:TP5DQiCm48Nt1jzXTcqDla0M9Vqd9L3Zq5NfGf4dZh0i6MaSQahlth64G-ecNiWmRxwdUPgb9-6eRtMQa2ADy62Dx9r3Gx3fjwmIUiZXpLNeuBdNEwLrosgQf4bGetIYm7UQ07_nl8ArhPKd9JsKM2jhOlqZ-uGyluN2OIUSCdKXP2DgZAgnR6mDQ6MQ1MJPt2FBOj-S3fOlQD09ukfchxgE_sknHGqBM16s7hRs2wl8NseDaqNB4aKrC1k5ZY-ZYOvddl_Dkp87VWNhXhDvxxIsCjv8LZRduyujfhWpE1Y-TrMeF9K5Jndh1tHgfwOnJpj6ukZ-Y5KlEGrpe-O78q7QjjD8l8UVSSN_bZiQJ6_5tBsbFRWmf3-oSFrgbRb9aoMQgcz_0G00\" 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#plantuml:XPAnJiCm48RtI7c7su18UG46L5IW811K1IR4u2Ocjk8wKN0gAiI065Yfc1YGg2g461XGjsGCuZty9fnZLPH2XGVRkZj_T_Vx6kUAP2hl2TTHN0aApMeKWCfqCP8HA5QDE0I9X8-XBkzhYouVEVXmX9Vt01ZNvQrnVuuaiEf9HgxZEWXL50woa6PRkJZZGlIeL73fEe3BxakmotBervHjNRpb4EZYHLhdYNSAlhy6xOoc9ECoQfCW9X6rNfaW7OiINCQhu7b_WZpF1iyZQcwBIfeHXTP3njCKpptIfG9MuUEk6cCxrGIRZQe9jqtXFY6Mj-XfNQvDqQ4a721hdrLZemqIkOIBn8ZpBO3lBvIZJgcCuX2pvASawq8aWSslaY3-Lv6VhAagSvIQV9o6jMMpqyRYT_5dRteu2cI-ajauysv7zl5tasomGSCyK3IiPRJpqjNb0vX0bc0XI2gUbUjScI7vDHw6DTKK4KrTZ84HZecdpPWflCvdMR3SOjLh2bANGxxYEWqgmxpt1G00\" \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\" data-nodeid=\"8569\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\ntitle C\u00e1c tr\u1ea1ng th\u00e1i con \u0111\u1ed3ng th\u1eddi - Th\u1ef1c hi\u1ec7n \u0111\u01a1n h\u00e0ng\r\n\r\nstate OrderFulfillment {\r\n    \r\n    ' Khu v\u1ef1c H\u1eadu c\u1ea7n\r\n    [*] --&gt; PreparingPackage\r\n    note on link: **Khu v\u1ef1c H\u1eadu c\u1ea7n**\r\n    PreparingPackage --&gt; GeneratingShippingLabel : \u0110\u00e3 \u0111\u00f3ng g\u00f3i h\u00e0ng h\u00f3a\r\n    GeneratingShippingLabel --&gt; PackageReady : Nh\u00e3n \u0111\u00e3 in xong\r\n    \r\n    --\r\n    \r\n    ' Khu v\u1ef1c H\u00e0ng t\u1ed3n kho\r\n    [*] --&gt; AllocatingStock\r\n    note on link: **Khu v\u1ef1c H\u00e0ng t\u1ed3n kho**\r\n    AllocatingStock --&gt; UpdatingERP : Ki\u1ec3m tra t\u1ed3n kho\r\n    UpdatingERP --&gt; InventoryDeducted : \u0110\u1ed3ng b\u1ed9 ERP ho\u00e0n t\u1ea5t\r\n}\r\n\r\nOrderFulfillment --&gt; Shipping : C\u1ea3 hai khu v\u1ef1c \u0111\u1ec1u ho\u00e0n t\u1ea5t (Gh\u00e9p n\u1ed1i)\r\n@endum\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com#plantuml:XPAnJiCm48RtI7c7su18UG46L5IW811K1IR4u2Ocjk8wKN0gAiI065Yfc1YGg2g461XGjsGCuZty9fnZLPH2XGVRkZj_T_Vx6kUAP2hl2TTHN0aApMeKWCfqCP8HA5QDE0I9X8-XBkzhYouVEVXmX9Vt01ZNvQrnVuuaiEf9HgxZEWXL50woa6PRkJZZGlIeL73fEe3BxakmotBervHjNRpb4EZYHLhdYNSAlhy6xOoc9ECoQfCW9X6rNfaW7OiINCQhu7b_WZpF1iyZQcwBIfeHXTP3njCKpptIfG9MuUEk6cCxrGIRZQe9jqtXFY6Mj-XfNQvDqQ4a721hdrLZemqIkOIBn8ZpBO3lBvIZJgcCuX2pvASawq8aWSslaY3-Lv6VhAagSvIQV9o6jMMpqyRYT_5dRteu2cI-ajauysv7zl5tasomGSCyK3IiPRJpqjNb0vX0bc0XI2gUbUjScI7vDHw6DTKK4KrTZ84HZecdpPWflCvdMR3SOjLh2bANGxxYEWqgmxpt1G00\" \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#plantuml:TP5DQiCm48Nt1jzXTcqDla0M9Vqd9L3Zq5NfGf4dZh0i6MaSQahlth64G-ecNiWmRxwdUPgb9-6eRtMQa2ADy62Dx9r3Gx3fjwmIUiZXpLNeuBdNEwLrosgQf4bGetIYm7UQ07_nl8ArhPKd9JsKM2jhOlqZ-uGyluN2OIUSCdKXP2DgZAgnR6mDQ6MQ1MJPt2FBOj-S3fOlQD09ukfchxgE_sknHGqBM16s7hRs2wl8NseDaqNB4aKrC1k5ZY-ZYOvddl_Dkp87VWNhXhDvxxIsCjv8LZRduyujfhWpE1Y-TrMeF9K5Jndh1tHgfwOnJpj6ukZ-Y5KlEGrpe-O78q7QjjD8l8UVSSN_bZiQJ6_5tBsbFRWmf3-oSFrgbRb9aoMQgcz_0G00\" 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 data-nodeid=\"8570\"><strong data-nodeid=\"8737\">B\u00e0i h\u1ecdc ki\u1ebfn tr\u00fac:<\/strong>\u00a0M\u00f4 h\u00ecnh \u0111\u1ed3ng th\u1eddi ph\u1ea3n \u00e1nh s\u1ef1 song song trong th\u1ebf gi\u1edbi th\u1ef1c. M\u1ed7i khu v\u1ef1c ho\u1ea1t \u0111\u1ed9ng \u0111\u1ed9c l\u1eadp, cho ph\u00e9p d\u1ecbch v\u1ee5 h\u1eadu c\u1ea7n in nh\u00e3n trong khi d\u1ecbch v\u1ee5 h\u00e0ng t\u1ed3n kho \u0111\u1ed3ng b\u1ed9 v\u1edbi ERP. Tr\u1ea1ng th\u00e1i cha ch\u1ec9 chuy\u1ec3n sang\u00a0<code data-backticks=\"1\" data-nodeid=\"8735\">Giao h\u00e0ng<\/code>\u00a0sau khi c\u1ea3 hai khu v\u1ef1c ho\u00e0n t\u1ea5t m\u1ed9t c\u00e1ch t\u1ef1 nhi\u00ean, \u0111\u00f3ng vai tr\u00f2 nh\u01b0 m\u1ed9t r\u00e0o c\u1ea3n \u0111\u1ed3ng b\u1ed9 ng\u1ea7m \u0111\u1ecbnh.<\/p>\n<hr data-nodeid=\"8571\"\/>\n<h2 data-nodeid=\"8572\">C\u00e1c c\u00e2n nh\u1eafc ki\u1ebfn tr\u00fac v\u00e0 th\u1ef1c h\u00e0nh t\u1ed1t nh\u1ea5t<\/h2>\n<p data-nodeid=\"8573\">Vi\u1ec7c l\u1ef1a ch\u1ecdn gi\u1eefa c\u00e1c tr\u1ea1ng th\u00e1i con tu\u1ea7n t\u1ef1 v\u00e0 \u0111\u1ed3ng th\u1eddi kh\u00f4ng ch\u1ec9 gi\u1edbi h\u1ea1n \u1edf vi\u1ec7c v\u1ebd s\u01a1 \u0111\u1ed3; n\u00f3 quy\u1ebft \u0111\u1ecbnh h\u00e0nh vi t\u1ea1i th\u1eddi \u0111i\u1ec3m ch\u1ea1y v\u00e0 c\u00e1c y\u00eau c\u1ea7u v\u1ec1 c\u01a1 s\u1edf h\u1ea1 t\u1ea7ng.<\/p>\n<h3 data-nodeid=\"8574\">Khi n\u00e0o n\u00ean \u01b0u ti\u00ean thi\u1ebft k\u1ebf tu\u1ea7n t\u1ef1<\/h3>\n<ul data-nodeid=\"8575\">\n<li data-nodeid=\"8576\">\n<p data-nodeid=\"8577\"><strong data-nodeid=\"8747\">C\u00e1c quy t\u1eafc ph\u1ee5 thu\u1ed9c tr\u1ea1ng th\u00e1i:<\/strong>\u00a0N\u1ebfu tr\u1ea1ng th\u00e1i con B ph\u1ee5 thu\u1ed9c v\u00e0o d\u1eef li\u1ec7u, token ho\u1eb7c hi\u1ec7u \u1ee9ng ph\u1ee5 \u0111\u01b0\u1ee3c t\u1ea1o ra duy nh\u1ea5t b\u1edfi tr\u1ea1ng th\u00e1i con A, th\u00ec m\u00f4 h\u00ecnh tu\u1ea7n t\u1ef1 \u0111\u1ea3m b\u1ea3o th\u1ef1c thi c\u00f3 \u0111\u1ecbnh h\u01b0\u1edbng r\u00f5 r\u00e0ng.<\/p>\n<\/li>\n<li data-nodeid=\"8578\">\n<p data-nodeid=\"8579\"><strong data-nodeid=\"8752\">C\u00e1c quy tr\u00ecnh \u0111\u01b0\u1ee3c qu\u1ea3n l\u00fd:<\/strong>\u00a0C\u00e1c quy tr\u00ecnh d\u1ef1a tr\u00ean tu\u00e2n th\u1ee7 (v\u00ed d\u1ee5: x\u00e1c minh KYC, c\u1ed5ng thanh to\u00e1n, x\u00e1c th\u1ef1c \u0111a y\u1ebfu t\u1ed1) y\u00eau c\u1ea7u ti\u1ebfn tr\u00ecnh c\u00f3 th\u1ec3 ki\u1ec3m to\u00e1n, t\u1eebng b\u01b0\u1edbc m\u1ed9t.<\/p>\n<\/li>\n<li data-nodeid=\"8580\">\n<p data-nodeid=\"8581\"><strong data-nodeid=\"8757\">Giao di\u1ec7n \u0111\u01b0\u1ee3c h\u01b0\u1edbng d\u1eabn b\u1edfi ng\u01b0\u1eddi d\u00f9ng:<\/strong>\u00a0C\u00e1c h\u01b0\u1edbng d\u1eabn \u0111a b\u01b0\u1edbc ho\u1eb7c lu\u1ed3ng c\u1ea5u h\u00ecnh n\u01a1i ng\u01b0\u1eddi d\u00f9ng kh\u00f4ng th\u1ec3 b\u1ecf qua c\u00e1c \u0111i\u1ec3m ki\u1ec3m tra x\u00e1c th\u1ef1c.<\/p>\n<\/li>\n<\/ul>\n<h3 data-nodeid=\"8582\">Khi n\u00e0o n\u00ean \u01b0u ti\u00ean thi\u1ebft k\u1ebf \u0111\u1ed3ng th\u1eddi<\/h3>\n<ul data-nodeid=\"8583\">\n<li data-nodeid=\"8584\">\n<p data-nodeid=\"8585\"><strong data-nodeid=\"8763\">C\u00e1c h\u1ec7 th\u1ed1ng t\u00e1ch bi\u1ec7t:<\/strong>\u00a0L\u00fd t\u01b0\u1edfng cho c\u00e1c ki\u1ebfn tr\u00fac n\u01a1i c\u00e1c d\u1ecbch v\u1ee5 \u0111\u1ed9c l\u1eadp x\u1eed l\u00fd c\u00e1c mi\u1ec1n kh\u00e1c nhau (v\u00ed d\u1ee5: vi\u1ec7c l\u1ea5y m\u1eabu c\u1ea3m bi\u1ebfn ph\u1ea7n c\u1ee9ng ch\u1ea1y song song v\u1edbi vi\u1ec7c hi\u1ec3n th\u1ecb giao di\u1ec7n ng\u01b0\u1eddi d\u00f9ng).<\/p>\n<\/li>\n<li data-nodeid=\"8586\">\n<p data-nodeid=\"8587\"><strong data-nodeid=\"8768\">T\u1ed1i \u01b0u hi\u1ec7u su\u1ea5t:<\/strong>\u00a0C\u00e1c tr\u1ea1ng th\u00e1i con \u0111\u1ed3ng th\u1eddi r\u00f5 r\u00e0ng ch\u1ec9 ra c\u00e1c c\u01a1 h\u1ed9i cho th\u1ef1c thi b\u1ea5t \u0111\u1ed3ng b\u1ed9, h\u00e0ng \u0111\u1ee3i ng\u01b0\u1eddi l\u00e0m vi\u1ec7c ho\u1eb7c song song h\u00f3a d\u1ecbch v\u1ee5 vi m\u00f4.<\/p>\n<\/li>\n<li data-nodeid=\"8588\">\n<p data-nodeid=\"8589\"><strong data-nodeid=\"8773\">Gi\u00e1m s\u00e1t li\u00ean t\u1ee5c:<\/strong>\u00a0C\u00e1c quy tr\u00ecnh n\u1ec1n ch\u1ea1y li\u00ean t\u1ee5c (v\u00ed d\u1ee5: ki\u1ec3m tra s\u1ee9c kh\u1ecfe, ghi nh\u1eadt k\u00fd, thu th\u1eadp d\u1eef li\u1ec7u gi\u00e1m s\u00e1t) song song v\u1edbi logic kinh doanh ch\u00ednh.<\/p>\n<\/li>\n<\/ul>\n<h3 data-nodeid=\"8590\">\u0110i\u1ec1u h\u01b0\u1edbng c\u00e1c l\u1ed7i \u0111\u1ed3ng b\u1ed9 h\u00f3a (chia nh\u00e1nh v\u00e0 h\u1ee3p nh\u1ea5t)<\/h3>\n<p data-nodeid=\"8591\">C\u00e1c tr\u1ea1ng th\u00e1i con \u0111\u1ed3ng th\u1eddi mang l\u1ea1i nh\u1eefng th\u00e1ch th\u1ee9c c\u1ee5 th\u1ec3 v\u1ec1 v\u00f2ng \u0111\u1eddi m\u00e0 c\u00e1c ki\u1ebfn tr\u00fac s\u01b0 c\u1ea7n l\u01b0\u1eddng tr\u01b0\u1edbc:<\/p>\n<ol data-nodeid=\"8592\">\n<li data-nodeid=\"8593\">\n<p data-nodeid=\"8594\"><strong data-nodeid=\"8782\">Chia nh\u00e1nh ng\u1ea7m khi nh\u1eadp v\u00e0o:<\/strong>\u00a0Khi nh\u1eadp v\u00e0o tr\u1ea1ng th\u00e1i cha, lu\u1ed3ng th\u1ef1c thi s\u1ebd t\u1ef1 \u0111\u1ed9ng chia ra cho t\u1ea5t c\u1ea3 c\u00e1c v\u00f9ng. Logic kh\u1edfi t\u1ea1o ph\u1ea3i \u0111\u01b0\u1ee3c x\u00e1c \u0111\u1ecbnh c\u1ea9n th\u1eadn \u0111\u1ec3 tr\u00e1nh thi\u1ebft l\u1eadp tr\u1ea1ng th\u00e1i m\u00e2u thu\u1eabn.<\/p>\n<\/li>\n<li data-nodeid=\"8595\">\n<p data-nodeid=\"8596\"><strong data-nodeid=\"8787\">H\u1ee3p nh\u1ea5t khi tho\u00e1t ra:<\/strong>\u00a0Tho\u00e1t ra m\u1ed9t c\u00e1ch tr\u01a1n tru th\u01b0\u1eddng y\u00eau c\u1ea7u t\u1ea5t c\u1ea3 c\u00e1c v\u00f9ng ph\u1ea3i \u0111\u1ea1t \u0111\u1ebfn tr\u1ea1ng th\u00e1i cu\u1ed1i c\u00f9ng. N\u1ebfu c\u00e1c v\u00f9ng ho\u00e0n th\u00e0nh v\u00e0o c\u00e1c th\u1eddi \u0111i\u1ec3m kh\u00e1c nhau, h\u1ec7 th\u1ed1ng ph\u1ea3i theo d\u00f5i tr\u1ea1ng th\u00e1i ho\u00e0n th\u00e0nh m\u00e0 kh\u00f4ng b\u1ecb ch\u1eb7n v\u00f4 th\u1eddi h\u1ea1n.<\/p>\n<\/li>\n<li data-nodeid=\"8597\">\n<p data-nodeid=\"8598\"><strong data-nodeid=\"8796\">X\u1eed l\u00fd ng\u1eaft:<\/strong>\u00a0C\u00e1c chuy\u1ec3n ti\u1ebfp b\u00ean ngo\u00e0i bu\u1ed9c ph\u1ea3i tho\u00e1t kh\u1ecfi tr\u1ea1ng th\u00e1i \u0111\u1ed3ng th\u1eddi s\u1ebd<strong data-nodeid=\"8797\">ng\u1eebng ngay l\u1eadp t\u1ee9c t\u1ea5t c\u1ea3 c\u00e1c v\u00f9ng song song<\/strong>, b\u1ea5t k\u1ec3 ti\u1ebfn \u0111\u1ed9 c\u1ee7a ch\u00fang. C\u00e1c ki\u1ebfn tr\u00fac s\u01b0 ph\u1ea3i tri\u1ec3n khai c\u00e1c giao d\u1ecbch b\u00f9 tr\u1eeb, c\u00e1c h\u00e0m d\u1ecdn d\u1eb9p ho\u1eb7c c\u00e1c thao t\u00e1c idempotent \u0111\u1ec3 ng\u0103n ng\u1eeba l\u1ed7i d\u1eef li\u1ec7u khi c\u00f3 tho\u00e1t s\u1edbm x\u1ea3y ra.<\/p>\n<\/li>\n<\/ol>\n<hr data-nodeid=\"8599\"\/>\n<h2 data-nodeid=\"8600\">K\u1ebft lu\u1eadn<\/h2>\n<p data-nodeid=\"8601\">M\u00f4 h\u00ecnh h\u00f3a m\u00e1y tr\u1ea1ng th\u00e1i cung c\u1ea5p m\u1ed9t tr\u1eebu t\u01b0\u1ee3ng m\u1ea1nh m\u1ebd \u0111\u1ec3 qu\u1ea3n l\u00fd \u0111\u1ed9 ph\u1ee9c t\u1ea1p c\u1ee7a h\u1ec7 th\u1ed1ng, nh\u01b0ng hi\u1ec7u qu\u1ea3 c\u1ee7a n\u00f3 ph\u1ee5 thu\u1ed9c v\u00e0o vi\u1ec7c c\u1ea5u tr\u00fac \u0111\u00fang c\u00e1c tr\u1ea1ng th\u00e1i t\u1ed5ng h\u1ee3p. C\u00e1c tr\u1ea1ng th\u00e1i con tu\u1ea7n t\u1ef1 xu\u1ea5t s\u1eafc trong vi\u1ec7c \u0111\u1ea3m b\u1ea3o ti\u1ebfn tr\u00ecnh x\u00e1c \u0111\u1ecbnh, t\u1eebng b\u01b0\u1edbc, l\u00e0m cho ch\u00fang kh\u00f4ng th\u1ec3 thi\u1ebfu trong c\u00e1c quy tr\u00ecnh c\u00f4ng vi\u1ec7c ph\u1ee5 thu\u1ed9c tr\u1ea1ng th\u00e1i, \u0111\u00f2i h\u1ecfi tu\u00e2n th\u1ee7 nghi\u00eam ng\u1eb7t. Ng\u01b0\u1ee3c l\u1ea1i, c\u00e1c tr\u1ea1ng th\u00e1i con \u0111\u1ed3ng th\u1eddi m\u1edf ra kh\u1ea3 n\u0103ng song song th\u1ef1c s\u1ef1, cho ph\u00e9p c\u00e1c h\u1ec7 th\u1ed1ng con \u0111\u1ed9c l\u1eadp ho\u1ea1t \u0111\u1ed9ng \u0111\u1ed3ng th\u1eddi m\u00e0 kh\u00f4ng b\u1ecb gi\u1edbi h\u1ea1n nh\u00e2n t\u1ea1o.<\/p>\n<p class=\"\" data-nodeid=\"8602\">Nghi\u00ean c\u1ee9u tr\u01b0\u1eddng h\u1ee3p v\u1ec1 th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed cho th\u1ea5y kh\u00f4ng ph\u01b0\u01a1ng ph\u00e1p n\u00e0o l\u00e0 v\u01b0\u1ee3t tr\u1ed9i h\u01a1n m\u1ed9t c\u00e1ch ph\u1ed5 qu\u00e1t; thay v\u00e0o \u0111\u00f3, ch\u00fang l\u00e0 nh\u1eefng c\u00f4ng c\u1ee5 b\u1ed5 tr\u1ee3 trong b\u1ed9 c\u00f4ng c\u1ee5 c\u1ee7a ki\u1ebfn tr\u00fac s\u01b0. B\u1eb1ng c\u00e1ch x\u00e1c \u0111\u1ecbnh c\u1ea9n th\u1eadn c\u00e1c y\u00eau c\u1ea7u kinh doanh v\u1edbi ki\u1ebfn tr\u00fac tr\u1ea1ng th\u00e1i con ph\u00f9 h\u1ee3p, c\u00e1c \u0111\u1ed9i ng\u0169 c\u00f3 th\u1ec3 x\u00e2y d\u1ef1ng c\u00e1c h\u1ec7 th\u1ed1ng kh\u00f4ng ch\u1ec9 \u0111\u00fang v\u1ec1 ch\u1ee9c n\u0103ng m\u00e0 c\u00f2n hi\u1ec7u qu\u1ea3, d\u1ec5 b\u1ea3o tr\u00ec v\u00e0 b\u1ec1n b\u1ec9 tr\u01b0\u1edbc s\u1ef1 c\u1ed1. Khi c\u00e1c \u1ee9ng d\u1ee5ng hi\u1ec7n \u0111\u1ea1i ti\u1ebfp t\u1ee5c \u00e1p d\u1ee5ng c\u00e1c ki\u1ebfn tr\u00fac b\u1ea5t \u0111\u1ed3ng b\u1ed9, d\u1ef1a tr\u00ean s\u1ef1 ki\u1ec7n v\u00e0 ph\u00e2n t\u00e1n, vi\u1ec7c n\u1eafm v\u1eefng s\u1ef1 kh\u00e1c bi\u1ec7t gi\u1eefa c\u00e1c tr\u1ea1ng th\u00e1i Or v\u00e0 And s\u1ebd v\u1eabn l\u00e0 k\u1ef9 n\u0103ng n\u1ec1n t\u1ea3ng cho vi\u1ec7c thi\u1ebft k\u1ebf c\u00e1c h\u1ec7 th\u1ed1ng ph\u1ea7n m\u1ec1m m\u1ea1nh m\u1ebd, m\u1edf r\u1ed9ng \u0111\u01b0\u1ee3c.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Gi\u1edbi thi\u1ec7u Khi c\u00e1c h\u1ec7 th\u1ed1ng ph\u1ea7n m\u1ec1m hi\u1ec7n \u0111\u1ea1i ng\u00e0y c\u00e0ng m\u1edf r\u1ed9ng v\u1ec1 quy m\u00f4 v\u00e0 ch\u1ee9c n\u0103ng, c\u00e1c s\u01a1 \u0111\u1ed3 tr\u1ea1ng th\u00e1i ph\u1eb3ng nhanh ch\u00f3ng tr\u1edf n\u00ean kh\u00f3 ki\u1ec3m so\u00e1t. C\u00e1c \u1ee9ng d\u1ee5ng th\u1ef1c t\u1ebf hi\u1ebfm khi ho\u1ea1t \u0111\u1ed9ng theo c\u00e1ch tuy\u1ebfn t\u00ednh \u0111\u01a1n gi\u1ea3n; thay v\u00e0o \u0111\u00f3, ch\u00fang qu\u1ea3n l\u00fd c\u00e1c [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":11670,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"no","_lmt_disable":"","footnotes":""},"categories":[36],"tags":[],"class_list":["post-11669","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uml","loop-entry","clr"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u0110i\u1ec1u ph\u1ed1i S\u1ef1 Ph\u1ee9c t\u1ea1p: C\u00e1c tr\u1ea1ng th\u00e1i con tu\u1ea7n t\u1ef1 so v\u1edbi \u0111\u1ed3ng th\u1eddi trong M\u00f4 h\u00ecnh h\u00f3a M\u00e1y tr\u1ea1ng th\u00e1i Gi\u1edbi thi\u1ec7u - Visual Paradigm Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.visual-paradigm.com\/vn\/orchestrating-complexity-sequential-vs-concurrent-substates-in-state-machine-modeling-introduction\/\" \/>\n<meta property=\"og:locale\" content=\"vi_VN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u0110i\u1ec1u ph\u1ed1i S\u1ef1 Ph\u1ee9c t\u1ea1p: C\u00e1c tr\u1ea1ng th\u00e1i con tu\u1ea7n t\u1ef1 so v\u1edbi \u0111\u1ed3ng th\u1eddi trong M\u00f4 h\u00ecnh h\u00f3a M\u00e1y tr\u1ea1ng th\u00e1i Gi\u1edbi thi\u1ec7u - Visual Paradigm Blog\" \/>\n<meta property=\"og:description\" content=\"Gi\u1edbi thi\u1ec7u Khi c\u00e1c h\u1ec7 th\u1ed1ng ph\u1ea7n m\u1ec1m hi\u1ec7n \u0111\u1ea1i ng\u00e0y c\u00e0ng m\u1edf r\u1ed9ng v\u1ec1 quy m\u00f4 v\u00e0 ch\u1ee9c n\u0103ng, c\u00e1c s\u01a1 \u0111\u1ed3 tr\u1ea1ng th\u00e1i ph\u1eb3ng nhanh ch\u00f3ng tr\u1edf n\u00ean kh\u00f3 ki\u1ec3m so\u00e1t. C\u00e1c \u1ee9ng d\u1ee5ng th\u1ef1c t\u1ebf hi\u1ebfm khi ho\u1ea1t \u0111\u1ed9ng theo c\u00e1ch tuy\u1ebfn t\u00ednh \u0111\u01a1n gi\u1ea3n; thay v\u00e0o \u0111\u00f3, ch\u00fang qu\u1ea3n l\u00fd c\u00e1c [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.visual-paradigm.com\/vn\/orchestrating-complexity-sequential-vs-concurrent-substates-in-state-machine-modeling-introduction\/\" \/>\n<meta property=\"og:site_name\" content=\"Visual Paradigm Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-05-22T04:08:09+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-30T06:45:21+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0fd6eb638db.png\" \/><meta property=\"og:image\" content=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0fd6eb638db.png\" \/>\n\t<meta property=\"og:image:width\" content=\"916\" \/>\n\t<meta property=\"og:image:height\" content=\"509\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0fd6eb638db.png\" \/>\n<meta name=\"twitter:label1\" content=\"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi\" \/>\n\t<meta name=\"twitter:data1\" content=\"Admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 ph\u00fat\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.visual-paradigm.com\/vn\/orchestrating-complexity-sequential-vs-concurrent-substates-in-state-machine-modeling-introduction\/\",\"url\":\"https:\/\/blog.visual-paradigm.com\/vn\/orchestrating-complexity-sequential-vs-concurrent-substates-in-state-machine-modeling-introduction\/\",\"name\":\"\u0110i\u1ec1u ph\u1ed1i S\u1ef1 Ph\u1ee9c t\u1ea1p: C\u00e1c tr\u1ea1ng th\u00e1i con tu\u1ea7n t\u1ef1 so v\u1edbi \u0111\u1ed3ng th\u1eddi trong M\u00f4 h\u00ecnh h\u00f3a M\u00e1y tr\u1ea1ng th\u00e1i Gi\u1edbi thi\u1ec7u - Visual Paradigm Blog\",\"isPartOf\":{\"@id\":\"https:\/\/blog.visual-paradigm.com\/vn\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/blog.visual-paradigm.com\/vn\/orchestrating-complexity-sequential-vs-concurrent-substates-in-state-machine-modeling-introduction\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/blog.visual-paradigm.com\/vn\/orchestrating-complexity-sequential-vs-concurrent-substates-in-state-machine-modeling-introduction\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blog.visual-paradigm.com\/vn\/wp-content\/uploads\/sites\/13\/2026\/05\/img_6a0fd6eb638db.png\",\"datePublished\":\"2026-05-22T04:08:09+00:00\",\"dateModified\":\"2026-05-30T06:45:21+00:00\",\"author\":{\"@id\":\"https:\/\/blog.visual-paradigm.com\/vn\/#\/schema\/person\/a649c442f11a53040710ddec750926c6\"},\"breadcrumb\":{\"@id\":\"https:\/\/blog.visual-paradigm.com\/vn\/orchestrating-complexity-sequential-vs-concurrent-substates-in-state-machine-modeling-introduction\/#breadcrumb\"},\"inLanguage\":\"vi\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.visual-paradigm.com\/vn\/orchestrating-complexity-sequential-vs-concurrent-substates-in-state-machine-modeling-introduction\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"vi\",\"@id\":\"https:\/\/blog.visual-paradigm.com\/vn\/orchestrating-complexity-sequential-vs-concurrent-substates-in-state-machine-modeling-introduction\/#primaryimage\",\"url\":\"https:\/\/blog.visual-paradigm.com\/vn\/wp-content\/uploads\/sites\/13\/2026\/05\/img_6a0fd6eb638db.png\",\"contentUrl\":\"https:\/\/blog.visual-paradigm.com\/vn\/wp-content\/uploads\/sites\/13\/2026\/05\/img_6a0fd6eb638db.png\",\"width\":916,\"height\":509},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.visual-paradigm.com\/vn\/orchestrating-complexity-sequential-vs-concurrent-substates-in-state-machine-modeling-introduction\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/blog.visual-paradigm.com\/vn\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u0110i\u1ec1u ph\u1ed1i S\u1ef1 Ph\u1ee9c t\u1ea1p: C\u00e1c tr\u1ea1ng th\u00e1i con tu\u1ea7n t\u1ef1 so v\u1edbi \u0111\u1ed3ng th\u1eddi trong M\u00f4 h\u00ecnh h\u00f3a M\u00e1y tr\u1ea1ng th\u00e1i Gi\u1edbi thi\u1ec7u\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.visual-paradigm.com\/vn\/#website\",\"url\":\"https:\/\/blog.visual-paradigm.com\/vn\/\",\"name\":\"Visual Paradigm Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.visual-paradigm.com\/vn\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"vi\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/blog.visual-paradigm.com\/vn\/#\/schema\/person\/a649c442f11a53040710ddec750926c6\",\"name\":\"Admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"vi\",\"@id\":\"https:\/\/blog.visual-paradigm.com\/vn\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/6b756c36f5e9132f6067fb4d22bef2e3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/6b756c36f5e9132f6067fb4d22bef2e3?s=96&d=mm&r=g\",\"caption\":\"Admin\"},\"url\":\"https:\/\/blog.visual-paradigm.com\/vn\/author\/vpadminuser\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u0110i\u1ec1u ph\u1ed1i S\u1ef1 Ph\u1ee9c t\u1ea1p: C\u00e1c tr\u1ea1ng th\u00e1i con tu\u1ea7n t\u1ef1 so v\u1edbi \u0111\u1ed3ng th\u1eddi trong M\u00f4 h\u00ecnh h\u00f3a M\u00e1y tr\u1ea1ng th\u00e1i Gi\u1edbi thi\u1ec7u - Visual Paradigm Blog","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:\/\/blog.visual-paradigm.com\/vn\/orchestrating-complexity-sequential-vs-concurrent-substates-in-state-machine-modeling-introduction\/","og_locale":"vi_VN","og_type":"article","og_title":"\u0110i\u1ec1u ph\u1ed1i S\u1ef1 Ph\u1ee9c t\u1ea1p: C\u00e1c tr\u1ea1ng th\u00e1i con tu\u1ea7n t\u1ef1 so v\u1edbi \u0111\u1ed3ng th\u1eddi trong M\u00f4 h\u00ecnh h\u00f3a M\u00e1y tr\u1ea1ng th\u00e1i Gi\u1edbi thi\u1ec7u - Visual Paradigm Blog","og_description":"Gi\u1edbi thi\u1ec7u Khi c\u00e1c h\u1ec7 th\u1ed1ng ph\u1ea7n m\u1ec1m hi\u1ec7n \u0111\u1ea1i ng\u00e0y c\u00e0ng m\u1edf r\u1ed9ng v\u1ec1 quy m\u00f4 v\u00e0 ch\u1ee9c n\u0103ng, c\u00e1c s\u01a1 \u0111\u1ed3 tr\u1ea1ng th\u00e1i ph\u1eb3ng nhanh ch\u00f3ng tr\u1edf n\u00ean kh\u00f3 ki\u1ec3m so\u00e1t. C\u00e1c \u1ee9ng d\u1ee5ng th\u1ef1c t\u1ebf hi\u1ebfm khi ho\u1ea1t \u0111\u1ed9ng theo c\u00e1ch tuy\u1ebfn t\u00ednh \u0111\u01a1n gi\u1ea3n; thay v\u00e0o \u0111\u00f3, ch\u00fang qu\u1ea3n l\u00fd c\u00e1c [&hellip;]","og_url":"https:\/\/blog.visual-paradigm.com\/vn\/orchestrating-complexity-sequential-vs-concurrent-substates-in-state-machine-modeling-introduction\/","og_site_name":"Visual Paradigm Blog","article_published_time":"2026-05-22T04:08:09+00:00","article_modified_time":"2026-05-30T06:45:21+00:00","og_image":[{"url":"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0fd6eb638db.png","type":"","width":"","height":""},{"width":916,"height":509,"url":"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0fd6eb638db.png","type":"image\/png"}],"author":"Admin","twitter_card":"summary_large_image","twitter_image":"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0fd6eb638db.png","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Admin","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"5 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/blog.visual-paradigm.com\/vn\/orchestrating-complexity-sequential-vs-concurrent-substates-in-state-machine-modeling-introduction\/","url":"https:\/\/blog.visual-paradigm.com\/vn\/orchestrating-complexity-sequential-vs-concurrent-substates-in-state-machine-modeling-introduction\/","name":"\u0110i\u1ec1u ph\u1ed1i S\u1ef1 Ph\u1ee9c t\u1ea1p: C\u00e1c tr\u1ea1ng th\u00e1i con tu\u1ea7n t\u1ef1 so v\u1edbi \u0111\u1ed3ng th\u1eddi trong M\u00f4 h\u00ecnh h\u00f3a M\u00e1y tr\u1ea1ng th\u00e1i Gi\u1edbi thi\u1ec7u - Visual Paradigm Blog","isPartOf":{"@id":"https:\/\/blog.visual-paradigm.com\/vn\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blog.visual-paradigm.com\/vn\/orchestrating-complexity-sequential-vs-concurrent-substates-in-state-machine-modeling-introduction\/#primaryimage"},"image":{"@id":"https:\/\/blog.visual-paradigm.com\/vn\/orchestrating-complexity-sequential-vs-concurrent-substates-in-state-machine-modeling-introduction\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.visual-paradigm.com\/vn\/wp-content\/uploads\/sites\/13\/2026\/05\/img_6a0fd6eb638db.png","datePublished":"2026-05-22T04:08:09+00:00","dateModified":"2026-05-30T06:45:21+00:00","author":{"@id":"https:\/\/blog.visual-paradigm.com\/vn\/#\/schema\/person\/a649c442f11a53040710ddec750926c6"},"breadcrumb":{"@id":"https:\/\/blog.visual-paradigm.com\/vn\/orchestrating-complexity-sequential-vs-concurrent-substates-in-state-machine-modeling-introduction\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.visual-paradigm.com\/vn\/orchestrating-complexity-sequential-vs-concurrent-substates-in-state-machine-modeling-introduction\/"]}]},{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/blog.visual-paradigm.com\/vn\/orchestrating-complexity-sequential-vs-concurrent-substates-in-state-machine-modeling-introduction\/#primaryimage","url":"https:\/\/blog.visual-paradigm.com\/vn\/wp-content\/uploads\/sites\/13\/2026\/05\/img_6a0fd6eb638db.png","contentUrl":"https:\/\/blog.visual-paradigm.com\/vn\/wp-content\/uploads\/sites\/13\/2026\/05\/img_6a0fd6eb638db.png","width":916,"height":509},{"@type":"BreadcrumbList","@id":"https:\/\/blog.visual-paradigm.com\/vn\/orchestrating-complexity-sequential-vs-concurrent-substates-in-state-machine-modeling-introduction\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blog.visual-paradigm.com\/vn\/"},{"@type":"ListItem","position":2,"name":"\u0110i\u1ec1u ph\u1ed1i S\u1ef1 Ph\u1ee9c t\u1ea1p: C\u00e1c tr\u1ea1ng th\u00e1i con tu\u1ea7n t\u1ef1 so v\u1edbi \u0111\u1ed3ng th\u1eddi trong M\u00f4 h\u00ecnh h\u00f3a M\u00e1y tr\u1ea1ng th\u00e1i Gi\u1edbi thi\u1ec7u"}]},{"@type":"WebSite","@id":"https:\/\/blog.visual-paradigm.com\/vn\/#website","url":"https:\/\/blog.visual-paradigm.com\/vn\/","name":"Visual Paradigm Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.visual-paradigm.com\/vn\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"vi"},{"@type":"Person","@id":"https:\/\/blog.visual-paradigm.com\/vn\/#\/schema\/person\/a649c442f11a53040710ddec750926c6","name":"Admin","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/blog.visual-paradigm.com\/vn\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6b756c36f5e9132f6067fb4d22bef2e3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6b756c36f5e9132f6067fb4d22bef2e3?s=96&d=mm&r=g","caption":"Admin"},"url":"https:\/\/blog.visual-paradigm.com\/vn\/author\/vpadminuser\/"}]}},"modified_by":"Admin","_links":{"self":[{"href":"https:\/\/blog.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/posts\/11669","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/comments?post=11669"}],"version-history":[{"count":0,"href":"https:\/\/blog.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/posts\/11669\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/media\/11670"}],"wp:attachment":[{"href":"https:\/\/blog.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/media?parent=11669"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/categories?post=11669"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/tags?post=11669"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}