{"id":11671,"date":"2026-05-22T10:33:08","date_gmt":"2026-05-22T02:33:08","guid":{"rendered":"https:\/\/blog.visual-paradigm.com\/vn\/modeling-dynamic-behavior-a-comprehensive-case-study-in-uml-2-0-state-machines\/"},"modified":"2026-05-30T14:53:38","modified_gmt":"2026-05-30T06:53:38","slug":"modeling-dynamic-behavior-a-comprehensive-case-study-in-uml-2-0-state-machines","status":"publish","type":"post","link":"https:\/\/blog.visual-paradigm.com\/vn\/modeling-dynamic-behavior-a-comprehensive-case-study-in-uml-2-0-state-machines\/","title":{"rendered":"M\u00f4 h\u00ecnh h\u00f3a H\u00e0nh vi \u0110\u1ed9ng: M\u1ed9t Nghi\u00ean c\u1ee9u Tr\u01b0\u1eddng H\u1ee3p To\u00e0n di\u1ec7n v\u1ec1 M\u00e1y tr\u1ea1ng th\u00e1i UML 2.0"},"content":{"rendered":"<h2 data-nodeid=\"7361\">Gi\u1edbi thi\u1ec7u<\/h2>\n<p data-nodeid=\"7362\">C\u00e1c h\u1ec7 th\u1ed1ng ph\u1ea7n m\u1ec1m hi\u1ec7n \u0111\u1ea1i hi\u1ebfm khi l\u00e0 t\u0129nh. C\u00e1c \u0111\u1ed1i t\u01b0\u1ee3ng, th\u00e0nh ph\u1ea7n v\u00e0 d\u1ecbch v\u1ee5 li\u00ean t\u1ee5c thay \u0111\u1ed5i, ph\u1ea3n \u1ee9ng v\u1edbi \u0111\u1ea7u v\u00e0o ng\u01b0\u1eddi d\u00f9ng, tin nh\u1eafn m\u1ea1ng, t\u00edn hi\u1ec7u ph\u1ea7n c\u1ee9ng v\u00e0 b\u1ed9 \u0111\u1ebfm th\u1eddi gian n\u1ed9i b\u1ed9. Trong khi m\u00f4 h\u00ecnh h\u00f3a c\u1ea5u tr\u00fac xu\u1ea5t s\u1eafc trong vi\u1ec7c x\u00e1c \u0111\u1ecbnh\u00a0<em data-nodeid=\"7467\">c\u00e1i g\u00ec<\/em>\u00a0m\u1ed9t h\u1ec7 th\u1ed1ng \u0111\u01b0\u1ee3c t\u1ea1o th\u00e0nh t\u1eeb nh\u1eefng g\u00ec, th\u00ec l\u1ea1i thi\u1ebfu s\u00f3t trong vi\u1ec7c n\u1eafm b\u1eaft\u00a0<em data-nodeid=\"7468\">nh\u01b0 th\u1ebf n\u00e0o<\/em>\u00a0c\u00e1c th\u00e0nh ph\u1ea7n \u0111\u00f3 h\u00e0nh x\u1eed nh\u01b0 th\u1ebf n\u00e0o theo th\u1eddi gian. \u0110\u00e2y ch\u00ednh l\u00e0 n\u01a1i m\u00f4 h\u00ecnh h\u00f3a h\u00e0nh vi tr\u1edf n\u00ean kh\u00f4ng th\u1ec3 thi\u1ebfu.<\/p>\n<p data-nodeid=\"7363\">S\u01a1 \u0111\u1ed3 M\u00e1y tr\u1ea1ng th\u00e1i cung c\u1ea5p m\u1ed9t ph\u01b0\u01a1ng ph\u00e1p nghi\u00eam ng\u1eb7t, chu\u1ea9n h\u00f3a \u0111\u1ec3 b\u1ea3n \u0111\u1ed3 h\u00f3a v\u00f2ng \u0111\u1eddi \u0111\u1ed9ng c\u1ee7a m\u1ed9t \u0111\u1ed1i t\u01b0\u1ee3ng. B\u1eb1ng c\u00e1ch x\u00e1c \u0111\u1ecbnh r\u00f5 r\u00e0ng c\u00e1c \u0111i\u1ec1u ki\u1ec7n, s\u1ef1 ki\u1ec7n v\u00e0 c\u00e1c quy t\u1eafc \u0111i\u1ec1u khi\u1ec3n thay \u0111\u1ed5i tr\u1ea1ng th\u00e1i, c\u00e1c k\u1ef9 s\u01b0 c\u00f3 th\u1ec3 lo\u1ea1i b\u1ecf s\u1ef1 m\u01a1 h\u1ed3, ng\u0103n ng\u1eeba c\u00e1c s\u1ef1 c\u1ed1 t\u1ea1i th\u1eddi \u0111i\u1ec3m ch\u1ea1y, v\u00e0 t\u1ea1o ra c\u00e1c ki\u1ebfn tr\u00fac d\u1ec5 b\u1ea3o tr\u00ec cao. Nghi\u00ean c\u1ee9u tr\u01b0\u1eddng h\u1ee3p n\u00e0y kh\u00e1m ph\u00e1 c\u00e1c c\u01a1 ch\u1ebf c\u1ed1t l\u00f5i c\u1ee7a m\u00e1y tr\u1ea1ng th\u00e1i UML 2.0, minh h\u1ecda \u1ee9ng d\u1ee5ng th\u1ef1c t\u1ebf th\u00f4ng qua c\u00e1c t\u00ecnh hu\u1ed1ng m\u00f4 h\u00ecnh h\u00f3a th\u1ef1c t\u1ebf, v\u00e0 n\u00eau b\u1eadt c\u00e1c th\u1ef1c ti\u1ec5n k\u1ef9 thu\u1eadt \u0111\u00e3 \u0111\u01b0\u1ee3c ch\u1ee9ng minh \u0111\u1ec3 thi\u1ebft k\u1ebf c\u00e1c m\u00f4 h\u00ecnh h\u00e0nh vi c\u00f3 th\u1ec3 d\u1ef1 \u0111o\u00e1n \u0111\u01b0\u1ee3c, m\u1edf r\u1ed9ng \u0111\u01b0\u1ee3c.<\/p>\n<p id=\"JXtrwcK\"><img alt=\"\" class=\"alignnone size-full wp-image-24721\" decoding=\"async\" height=\"511\" loading=\"lazy\" sizes=\"auto, (max-width: 915px) 100vw, 915px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0fc0566262b.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0fc0566262b.png 915w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0fc0566262b-300x168.png 300w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0fc0566262b-768x429.png 768w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0fc0566262b-150x84.png 150w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0fc0566262b-400x223.png 400w\" width=\"915\"\/><\/p>\n<hr data-nodeid=\"7364\"\/>\n<h2 data-nodeid=\"7365\">1. C\u01a1 ch\u1ebf n\u1ec1n t\u1ea3ng c\u1ee7a M\u00e1y tr\u1ea1ng th\u00e1i<\/h2>\n<h3 data-nodeid=\"7366\">1.1 Tr\u1ea1ng th\u00e1i v\u00e0 C\u00e1c ranh gi\u1edbi V\u00f2ng \u0111\u1eddi<\/h3>\n<p data-nodeid=\"7367\">M\u1ed9t\u00a0<strong data-nodeid=\"7479\">tr\u1ea1ng th\u00e1i<\/strong>\u00a0\u0111\u1ea1i di\u1ec7n cho m\u1ed9t tr\u1ea1ng th\u00e1i ri\u00eang bi\u1ec7t trong v\u00f2ng \u0111\u1eddi c\u1ee7a m\u1ed9t \u0111\u1ed1i t\u01b0\u1ee3ng, n\u01a1i \u0111\u1ed1i t\u01b0\u1ee3ng th\u1ecfa m\u00e3n c\u00e1c b\u1ea5t bi\u1ebfn c\u1ee5 th\u1ec3, th\u1ef1c hi\u1ec7n c\u00f4ng vi\u1ec7c \u0111ang di\u1ec5n ra, ho\u1eb7c ch\u1edd \u0111\u1ee3i k\u00edch th\u00edch. C\u00e1c chuy\u1ec3n \u0111\u1ed5i tr\u1ea1ng th\u00e1i \u0111\u01b0\u1ee3c k\u00edch ho\u1ea1t b\u1edfi c\u00e1c s\u1ef1 ki\u1ec7n r\u1eddi r\u1ea1c, khi\u1ebfn \u0111\u1ed1i t\u01b0\u1ee3ng v\u01b0\u1ee3t qua c\u00e1c ranh gi\u1edbi t\u1eeb m\u1ed9t c\u1ea5u h\u00ecnh n\u00e0y sang c\u1ea5u h\u00ecnh kh\u00e1c.<\/p>\n<p data-nodeid=\"7368\">M\u1ed7i m\u00e1y tr\u1ea1ng th\u00e1i h\u1ee3p l\u1ec7 \u0111\u1ec1u \u0111\u01b0\u1ee3c neo v\u00e0o b\u1edfi hai n\u00fat ranh gi\u1edbi quan tr\u1ecdng:<\/p>\n<ul data-nodeid=\"7369\">\n<li data-nodeid=\"7370\">\n<p data-nodeid=\"7371\"><strong data-nodeid=\"7485\">Tr\u1ea1ng th\u00e1i gi\u1ea3 Kh\u1edfi \u0111\u1ea7u<\/strong>: \u0110\u01b0\u1ee3c bi\u1ec3u di\u1ec5n b\u1eb1ng m\u1ed9t h\u00ecnh tr\u00f2n \u0111en \u0111\u1eadm. N\u00f3 \u0111\u00f3ng vai tr\u00f2 l\u00e0 \u0111i\u1ec3m v\u00e0o duy nh\u1ea5t, x\u00e1c \u0111\u1ecbnh n\u01a1i th\u1ef1c thi b\u1eaft \u0111\u1ea7u.<\/p>\n<\/li>\n<li data-nodeid=\"7372\">\n<p data-nodeid=\"7373\"><strong data-nodeid=\"7490\">Tr\u1ea1ng th\u00e1i Cu\u1ed1i c\u00f9ng<\/strong>: \u0110\u01b0\u1ee3c bi\u1ec3u di\u1ec5n d\u01b0\u1edbi d\u1ea1ng h\u00ecnh v\u00f2ng tr\u00f2n (h\u00ecnh tr\u00f2n \u0111\u1eadm b\u00ean trong m\u1ed9t v\u00e0nh tr\u00f2n). N\u00f3 \u0111\u00e1nh d\u1ea5u \u0111i\u1ec3m k\u1ebft th\u00fac c\u1ee7a v\u00f2ng \u0111\u1eddi, cho th\u1ea5y \u0111\u1ed1i t\u01b0\u1ee3ng \u0111\u00e3 ho\u00e0n th\u00e0nh m\u1ee5c \u0111\u00edch c\u1ee7a m\u00ecnh v\u00e0 s\u1ebd kh\u00f4ng c\u00f2n x\u1eed l\u00fd c\u00e1c s\u1ef1 ki\u1ec7n n\u1eefa.<\/p>\n<\/li>\n<\/ul>\n<h3 data-nodeid=\"7374\">1.2 C\u00e1c ng\u0103n h\u00e0nh vi n\u1ed9i b\u1ed9<\/h3>\n<p data-nodeid=\"7375\">C\u00e1c tr\u1ea1ng th\u00e1i kh\u00f4ng ch\u1ec9 l\u00e0 nh\u1eefng kho ch\u1ee9a th\u1ee5 \u0111\u1ed9ng; ch\u00fang c\u00f3 th\u1ec3 ch\u1ee9a c\u00e1c h\u00e0nh vi n\u1ed9i b\u1ed9 th\u1ef1c thi v\u00e0o nh\u1eefng th\u1eddi \u0111i\u1ec3m ch\u00ednh x\u00e1c trong v\u00f2ng \u0111\u1eddi:<\/p>\n<ul data-nodeid=\"7376\">\n<li data-nodeid=\"7377\">\n<p data-nodeid=\"7378\"><strong data-nodeid=\"7497\"><code data-backticks=\"1\" data-nodeid=\"7494\">entry \/<\/code><\/strong>: K\u00edch ho\u1ea1t ngay l\u1eadp t\u1ee9c khi v\u01b0\u1ee3t qua v\u00e0o tr\u1ea1ng th\u00e1i. \u0110\u01b0\u1ee3c d\u00f9ng \u0111\u1ec3 kh\u1edfi t\u1ea1o, c\u1eadp nh\u1eadt c\u1edd ho\u1eb7c ph\u00e2n b\u1ed5 t\u00e0i nguy\u00ean.<\/p>\n<\/li>\n<li data-nodeid=\"7379\">\n<p data-nodeid=\"7380\"><strong data-nodeid=\"7502\"><code data-backticks=\"1\" data-nodeid=\"7499\">exit \/<\/code><\/strong>: Th\u1ef1c thi ngay tr\u01b0\u1edbc khi r\u1eddi kh\u1ecfi tr\u1ea1ng th\u00e1i. Th\u01b0\u1eddng d\u00f9ng \u0111\u1ec3 x\u1eed l\u00fd d\u1ecdn d\u1eb9p, ghi nh\u1eadt k\u00fd ho\u1eb7c gi\u1ea3i ph\u00f3ng t\u00e0i nguy\u00ean.<\/p>\n<\/li>\n<li data-nodeid=\"7381\">\n<p data-nodeid=\"7382\"><strong data-nodeid=\"7513\"><code data-backticks=\"1\" data-nodeid=\"7504\">do \/<\/code><\/strong>: \u0110\u1ea1i di\u1ec7n cho m\u1ed9t ho\u1ea1t \u0111\u1ed9ng li\u00ean t\u1ee5c, c\u00f3 th\u1ec3 b\u1ecb ng\u1eaft, ch\u1ea1y su\u1ed1t th\u1eddi gian \u0111\u1ed1i t\u01b0\u1ee3ng t\u1ed3n t\u1ea1i trong tr\u1ea1ng th\u00e1i. Kh\u00e1c v\u1edbi\u00a0<code data-backticks=\"1\" data-nodeid=\"7507\">entry<\/code>\/<code data-backticks=\"1\" data-nodeid=\"7509\">exit<\/code>,\u00a0<code data-backticks=\"1\" data-nodeid=\"7511\">l\u00e0m<\/code>c\u00e1c ho\u1ea1t \u0111\u1ed9ng c\u00f3 th\u1ec3 b\u1ecb t\u1ea1m d\u1eebng ho\u1eb7c b\u1ecb \u01b0u ti\u00ean b\u1edfi c\u00e1c s\u1ef1 ki\u1ec7n \u0111\u1ebfn.<\/p>\n<\/li>\n<\/ul>\n<h3 data-nodeid=\"7383\">1.3 Gi\u1ea3i ph\u1eabu v\u00e0 topology chuy\u1ec3n ti\u1ebfp<\/h3>\n<p data-nodeid=\"7384\">C\u00e1c chuy\u1ec3n ti\u1ebfp l\u00e0 c\u00e1c m\u1ed1i quan h\u1ec7 c\u00f3 h\u01b0\u1edbng \u0111\u01b0\u1ee3c \u0111i\u1ec1u khi\u1ec3n b\u1edfi m\u1ed9t c\u00fa ph\u00e1p nghi\u00eam ng\u1eb7t:<br \/>\n<code data-backticks=\"1\" data-nodeid=\"7519\">k\u00edch ho\u1ea1t [\u0111i\u1ec1u ki\u1ec7n] \/ hi\u1ec7u \u1ee9ng<\/code><\/p>\n<table data-nodeid=\"7386\">\n<thead data-nodeid=\"7387\">\n<tr data-nodeid=\"7388\">\n<th data-nodeid=\"7390\">Th\u00e0nh ph\u1ea7n<\/th>\n<th data-nodeid=\"7391\">M\u1ee5c \u0111\u00edch<\/th>\n<\/tr>\n<\/thead>\n<tbody data-nodeid=\"7394\">\n<tr data-nodeid=\"7395\">\n<td data-nodeid=\"7396\"><strong data-nodeid=\"7525\">K\u00edch ho\u1ea1t<\/strong><\/td>\n<td data-nodeid=\"7397\">S\u1ef1 ki\u1ec7n k\u00edch ho\u1ea1t chuy\u1ec3n ti\u1ebfp (v\u00ed d\u1ee5: l\u1eddi g\u1ecdi ph\u01b0\u01a1ng th\u1ee9c, t\u00edn hi\u1ec7u, h\u1ebft h\u1ea1n th\u1eddi gian).<\/td>\n<\/tr>\n<tr data-nodeid=\"7398\">\n<td data-nodeid=\"7399\"><strong data-nodeid=\"7530\">\u0110i\u1ec1u ki\u1ec7n<\/strong><\/td>\n<td data-nodeid=\"7400\">M\u1ed9t bi\u1ec3u th\u1ee9c logic trong\u00a0<code data-backticks=\"1\" data-nodeid=\"7532\">[d\u1ea5u ngo\u1eb7c vu\u00f4ng]<\/code>. Chuy\u1ec3n ti\u1ebfp ch\u1ec9 ti\u1ebfp t\u1ee5c n\u1ebfu bi\u1ec3u th\u1ee9c \u0111\u01b0\u1ee3c \u0111\u00e1nh gi\u00e1 l\u00e0\u00a0<code data-backticks=\"1\" data-nodeid=\"7534\">\u0111\u00fang<\/code>.<\/td>\n<\/tr>\n<tr data-nodeid=\"7401\">\n<td data-nodeid=\"7402\"><strong data-nodeid=\"7539\">Hi\u1ec7u \u1ee9ng<\/strong><\/td>\n<td data-nodeid=\"7403\">M\u1ed9t h\u00e0nh \u0111\u1ed9ng nguy\u00ean t\u1eed theo sau\u00a0<code data-backticks=\"1\" data-nodeid=\"7541\">\/<\/code>\u00a0m\u00e0 th\u1ef1c thi trong su\u1ed1t h\u00e0nh tr\u00ecnh chuy\u1ec3n ti\u1ebfp, sau khi r\u1eddi kh\u1ecfi ngu\u1ed3n nh\u01b0ng tr\u01b0\u1edbc khi v\u00e0o \u0111\u00edch.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p data-nodeid=\"7404\"><strong data-nodeid=\"7546\">C\u00e1c topology chuy\u1ec3n ti\u1ebfp:<\/strong><\/p>\n<ul data-nodeid=\"7405\">\n<li data-nodeid=\"7406\">\n<p data-nodeid=\"7407\"><strong data-nodeid=\"7555\">B\u00ean ngo\u00e0i<\/strong>: V\u01b0\u1ee3t qua ranh gi\u1edbi tr\u1ea1ng th\u00e1i. K\u00edch ho\u1ea1t c\u1ea3\u00a0<code data-backticks=\"1\" data-nodeid=\"7551\">tho\u00e1t<\/code>\u00a0v\u00e0\u00a0<code data-backticks=\"1\" data-nodeid=\"7553\">v\u00e0o<\/code>\u00a0h\u00e0nh vi.<\/p>\n<\/li>\n<li data-nodeid=\"7408\">\n<p data-nodeid=\"7409\"><strong data-nodeid=\"7566\">B\u00ean trong<\/strong>: X\u1eed l\u00fd m\u1ed9t s\u1ef1 ki\u1ec7n trong khi v\u1eabn \u1edf trong c\u00f9ng m\u1ed9t tr\u1ea1ng th\u00e1i. B\u1ea3o to\u00e0n ho\u1ea1t \u0111\u1ed9ng \u0111ang ho\u1ea1t \u0111\u1ed9ng\u00a0<code data-backticks=\"1\" data-nodeid=\"7560\">l\u00e0m<\/code>\u00a0ho\u1ea1t \u0111\u1ed9ng v\u00e0 b\u1ecf qua\u00a0<code data-backticks=\"1\" data-nodeid=\"7562\">tho\u00e1t<\/code>\/<code data-backticks=\"1\" data-nodeid=\"7564\">v\u00e0o<\/code>\u00a0l\u1ea7n th\u1ef1c thi.<\/p>\n<\/li>\n<\/ul>\n<hr data-nodeid=\"7410\"\/>\n<h2 data-nodeid=\"7411\">2. Tr\u01b0\u1eddng h\u1ee3p nghi\u00ean c\u1ee9u \u00e1p d\u1ee5ng: M\u00f4 h\u00ecnh h\u00f3a c\u00e1c h\u1ec7 th\u1ed1ng \u0111\u1ed9ng<\/h2>\n<p data-nodeid=\"7412\">\u0110\u1ec3 minh h\u1ecda c\u00e1ch c\u00e1c c\u01a1 ch\u1ebf n\u00e0y \u0111\u01b0\u1ee3c chuy\u1ec3n \u0111\u1ed5i th\u00e0nh c\u00e1c m\u00f4 h\u00ecnh s\u1eb5n s\u00e0ng s\u1ea3n xu\u1ea5t, ch\u00fang t\u00f4i xem x\u00e9t hai h\u1ec7 th\u1ed1ng con li\u00ean k\u1ebft v\u1edbi nhau trong m\u1ed9t ki\u1ebfn tr\u00fac ph\u00e2n t\u00e1n hi\u1ec7n \u0111\u1ea1i: b\u1ed9 x\u1eed l\u00fd \u0111\u01a1n h\u00e0ng th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed v\u00e0 b\u1ed9 \u0111i\u1ec1u khi\u1ec3n m\u00f4i tr\u01b0\u1eddng IoT.<\/p>\n<h3 data-nodeid=\"7413\">2.1 T\u00ecnh hu\u1ed1ng A: Chu k\u1ef3 s\u1ed1ng ho\u00e0n th\u00e0nh \u0111\u01a1n h\u00e0ng th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed<\/h3>\n<p data-nodeid=\"7414\">Th\u1ef1c th\u1ec3\u00a0<code data-backticks=\"1\" data-nodeid=\"7571\">\u0110\u01a1n h\u00e0ng<\/code>\u00a0ph\u1ea3i \u0111i qua m\u1ed9t tr\u00ecnh t\u1ef1 nghi\u00eam ng\u1eb7t t\u1eeb t\u1ea1o l\u1eadp \u0111\u1ebfn ho\u00e0n th\u00e0nh, v\u1edbi nh\u00e1nh \u0111i\u1ec1u ki\u1ec7n cho vi\u1ec7c h\u1ee7y b\u1ecf v\u00e0 ghi nh\u1eadt k\u00fd nghi\u00eam ng\u1eb7t \u1edf m\u1ed7i giai \u0111o\u1ea1n. C\u00e1c h\u00e0nh \u0111\u1ed9ng n\u1ed9i b\u1ed9\u00a0<code data-backticks=\"1\" data-nodeid=\"7573\">v\u00e0o<\/code>\/<code data-backticks=\"1\" data-nodeid=\"7575\">tho\u00e1t<\/code>\u00a0h\u00e0nh \u0111\u1ed9ng \u0111\u1ea3m b\u1ea3o c\u00e1c b\u1ea3n ghi ki\u1ec3m to\u00e1n v\u00e0 th\u00f4ng b\u00e1o kho \u0111\u01b0\u1ee3c t\u00e1ch bi\u1ec7t kh\u1ecfi c\u00e1c chuy\u1ec3n ti\u1ebfp tr\u1ea1ng th\u00e1i ch\u00ednh.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/uml.planttext.com\/plantuml\/png\/PPDDRzD048Rl-olcH5ka5b4uzO1AGu5A1Q84qKELmtGzjaTPxuRPTHE3-E_ChfEIK5-yce_7yxwplem99VMTCoPnSWJVl6ElBwb8u9PhieFLyF4yOQ88B-2xe8-SEFXuOimHl3w3aeClQDlSUksJ3ER-vG9EJz-DeAb3InLSW6t9BaEV9g5REKfKPSBvZd0LDl21h4F1meSrfnPkV2BnwE2AMdpa8D74KhwF_cr07ygVri-uq9JaHAYGZa_6z8QJPdr8N0ztADI6Ff8c_vWjyiP_x5tDpdMA-W-ACNBZfsoN95jW5SOuTG-EfcYNsD0awBm-nNtilENLwjcK3NbIfQIEsYNxvclVFHJqKzy4lINdddMormLemOpgtbTZnn6yETjR3ipKPeNgMfBmPhJoKuzIHK1VmNMjgqtHx9kOztNem0MiSCYd7oHSizQy0knJ6uH_qMreE2QsMQevxCkadUZCACxCBNglWVjv2dQfFjKi7LKBPLA7x2PzJA4h3gYQzwwiFV6ZNYcH84KHGH-pAXor52bwFr5q5sk_pY7P2dSuwEbGO2xIqVxvgbUod6VqiwUOydHtwXJxyxUVGoznOSnEHzQKR_K5LEHqAXcU91XpIRxAVz5V\"\/><\/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:NLDDRzD04BrRyd_O4osLMaJXb4DL6WfKAX0bY1wg7ARhiJtAUZVCpZPn4V-TMPkKf2UlvkFDUs_6br609NMkBCf2I1oQxzwHrmzNoEQMQhIzrV3nGa0mcbVc1uEF91HyV9tRZipRCpDapLUmRMw-zi9zMToVBCtfwSM8DNDWiJ8JOrkqgv1a6hgrGy5g13dVWLo5hVc8rW73CCHiI5fpumNPWpDNsC8Z1Ovb4OVwVVJVPO5vjevneHaoKyO1vrZ9ufP4Kpu8rVqTCBOXHSoPFvd4Y7VZFoLNatETGkqZGepK-1dP5NBkgS8OnEx1uGpi2XgS1kNf9Rx0NBIqNX_oQz2ZAaIrqwx8DzzIzp3YxlLDmLjqxh2JlBglsJdMoLVF7KVctTdUSinSFLPSNOemRKSNFoVWAXhmbRckTRMYBkxxbxTrg7zYrj3drqzagabhtXX8qWQc9xmD3KKXEyWjYyFEZBNJdL46VnOMlDV0_KA2NQbRDN67rL9HiGDoqnGbTACFMT87DwnTw56lYZdm80jDYbaQZ886FNgamAOA6x_98Vwdta6lhnSgSvMo---kNkNmdkElX54omJlrY_pv-oyXSLncDZinMLW-xOcfq2anxfzrvB9Bz9N-KNy1\" 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:RLFFQnD15BulxF_mJZOAZLWzvI2bgIIG650NAOGSratO6PhCn6GsDeY7ui63b-GaHOfPIYbLWp-Bi4FfOKB_Z_bFV6-tgOdf8PjbvxtlU-_xljdiAx-deaxRTLn7STLkGP55i6lrB-XRFHOXpCQNiG1c9lYkUbR_2415GvjS2CXvFPl4z9sPcCCjwXrQ_LQ0ubZGlKseQt0l3y_DH4B7n4E2-DVYElKx3LXVVmYpaJcQZMpoHyr6n5S09f7IiycnyfWlc2TDB3AyZJnKcC_XXOabCAiFkikeCB3w8qz7PZ3W8B04g_7fEhYlQgsmlNQT0KrOW93n6hF9L5NCEPB7CYt8uIOA1ueLbY37Rn5k8Nc5IJfvGsFDWNqHxbWzhPhpHLISlHPUVhVwa5TnfM6PvAJU9XstRVAj-zJ4tHfDkXqXkY-tpDSLS7DKGco-WAnencVebCTQSjkSyHjwobQV31TwTb6pJnptrmSYBASoSwltnNNh6jpFmsC_LNKgC05MlqSfvxO7oovVoJqR4mXc1__U2K0kOFGQWTMd8dIT_qNFR5_GYwITExrZui1ZQThk0it_X3ZtHLM6lAzuqC-buLhgd-SeqwW0BoDpgZ8bePugNZG_XTUJ8aJd6WWSKkMZZi_R5GnEmAvj8GrmIZ8CKzMqoHU1BkaFd4R446D4BkY2JF5C7wUtP6Lx3DmO0ZmELXJSYxAxrJDd-9lSg4vJlX9N2sK65c1eFaT5cvn4sOTwkih6Wn9o7ZOoEURRanPqjmgmXukbaHObxijonkOwcotHn7l_5m00\" \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\">\r\n@startuml\r\n\r\ntitle Chu k\u1ef3 s\u1ed1ng \u0111\u01a1n h\u00e0ng tr\u1ef1c tuy\u1ebfn (Tr\u1ea1ng th\u00e1i &amp; Chuy\u1ec3n ti\u1ebfp)\r\n\r\n' 1. V\u00e0o m\u00e1y tr\u1ea1ng th\u00e1i\r\n[*] --&gt; \u0110\u00e3\u0110\u1eb7t\u0110\u01a1n : ho\u00e0nT\u1ea5tThanhTo\u00e1n\r\n\r\n' 2. Khai b\u00e1o h\u1ed9p tr\u1ea1ng th\u00e1i v\u1edbi h\u00e0nh vi n\u1ed9i b\u1ed9\r\nstate \u0110\u00e3\u0110\u1eb7t\u0110\u01a1n {\r\nv\u00e0o : ghiNh\u1eadtK\u00fdT\u1ea1o\u0110\u01a1n()\r\ntho\u00e1t : th\u00f4ngB\u00e1oKho()\r\n}\r\n\r\nstate \u0110angX\u1eedL\u00fd {\r\nv\u00e0o : g\u00e1nNg\u01b0\u1eddiL\u1ea5yH\u00e0ng()\r\ndo : l\u1eafpR\u00e1pN\u1ed9iDungBaoB\u00ec()\r\n}\r\n\r\nstate \u0110\u00e3G\u1eedi {\r\nv\u00e0o : t\u1ea1oS\u1ed1TheoD\u00f5i()\r\n}\r\n\r\nstate \u0110\u00e3H\u1ee7y {\r\nv\u00e0o : kh\u1edfi\u0110\u1ed9ngHo\u00e0nTi\u1ec1n()\r\n}\r\n\r\n' 3. Ma tr\u1eadn \u0111\u1ecbnh tuy\u1ebfn chuy\u1ec3n ti\u1ebfp v\u1edbi \u0111i\u1ec1u ki\u1ec7n v\u00e0 hi\u1ec7u \u1ee9ng\r\n\u0110\u00e3\u0110\u1eb7t\u0110\u01a1n --&gt; \u0110angX\u1eedL\u00fd : thanhTo\u00e1nX\u00e1cTh\u1ef1c \/ \u1ee7yQuy\u1ec1nLogistics()\r\n\r\n\u0110angX\u1eedL\u00fd --&gt; \u0110\u00e3G\u1eedi : qu\u00e9tBaoB\u00ec [H\u00e0ngC\u00f2nTrongKho] \/ g\u1eediEmailKh\u00e1chH\u00e0ng()\r\n\r\n' \u0110\u01b0\u1eddng d\u1eabn l\u1ed7i thay th\u1ebf s\u1eed d\u1ee5ng \u0111i\u1ec1u ki\u1ec7n v\u00e0 b\u1ed1 c\u1ee5c \u0111\u1ecbnh tuy\u1ebfn xu\u1ed1ng r\u00f5 r\u00e0ng\r\n\u0110\u00e3\u0110\u1eb7t\u0110\u01a1n -down-&gt; \u0110\u00e3H\u1ee7y : y\u00eauC\u1ea7uH\u1ee7y [Trong24Gi\u1edd]\r\n\r\n\u0110\u00e3G\u1eedi --&gt; [*] : x\u00e1cNh\u1eadnGiaoH\u00e0ng\r\n\r\n@enduml<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com#plantuml:RLFFQnD15BulxF_mJZOAZLWzvI2bgIIG650NAOGSratO6PhCn6GsDeY7ui63b-GaHOfPIYbLWp-Bi4FfOKB_Z_bFV6-tgOdf8PjbvxtlU-_xljdiAx-deaxRTLn7STLkGP55i6lrB-XRFHOXpCQNiG1c9lYkUbR_2415GvjS2CXvFPl4z9sPcCCjwXrQ_LQ0ubZGlKseQt0l3y_DH4B7n4E2-DVYElKx3LXVVmYpaJcQZMpoHyr6n5S09f7IiycnyfWlc2TDB3AyZJnKcC_XXOabCAiFkikeCB3w8qz7PZ3W8B04g_7fEhYlQgsmlNQT0KrOW93n6hF9L5NCEPB7CYt8uIOA1ueLbY37Rn5k8Nc5IJfvGsFDWNqHxbWzhPhpHLISlHPUVhVwa5TnfM6PvAJU9XstRVAj-zJ4tHfDkXqXkY-tpDSLS7DKGco-WAnencVebCTQSjkSyHjwobQV31TwTb6pJnptrmSYBASoSwltnNNh6jpFmsC_LNKgC05MlqSfvxO7oovVoJqR4mXc1__U2K0kOFGQWTMd8dIT_qNFR5_GYwITExrZui1ZQThk0it_X3ZtHLM6lAzuqC-buLhgd-SeqwW0BoDpgZ8bePugNZG_XTUJ8aJd6WWSKkMZZi_R5GnEmAvj8GrmIZ8CKzMqoHU1BkaFd4R446D4BkY2JF5C7wUtP6Lx3DmO0ZmELXJSYxAxrJDd-9lSg4vJlX9N2sK65c1eFaT5cvn4sOTwkih6Wn9o7ZOoEURRanPqjmgmXukbaHObxijonkOwcotHn7l_5m00\" \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:NLDDRzD04BrRyd_O4osLMaJXb4DL6WfKAX0bY1wg7ARhiJtAUZVCpZPn4V-TMPkKf2UlvkFDUs_6br609NMkBCf2I1oQxzwHrmzNoEQMQhIzrV3nGa0mcbVc1uEF91HyV9tRZipRCpDapLUmRMw-zi9zMToVBCtfwSM8DNDWiJ8JOrkqgv1a6hgrGy5g13dVWLo5hVc8rW73CCHiI5fpumNPWpDNsC8Z1Ovb4OVwVVJVPO5vjevneHaoKyO1vrZ9ufP4Kpu8rVqTCBOXHSoPFvd4Y7VZFoLNatETGkqZGepK-1dP5NBkgS8OnEx1uGpi2XgS1kNf9Rx0NBIqNX_oQz2ZAaIrqwx8DzzIzp3YxlLDmLjqxh2JlBglsJdMoLVF7KVctTdUSinSFLPSNOemRKSNFoVWAXhmbRckTRMYBkxxbxTrg7zYrj3drqzagabhtXX8qWQc9xmD3KKXEyWjYyFEZBNJdL46VnOMlDV0_KA2NQbRDN67rL9HiGDoqnGbTACFMT87DwnTw56lYZdm80jDYbaQZ886FNgamAOA6x_98Vwdta6lhnSgSvMo---kNkNmdkElX54omJlrY_pv-oyXSLncDZinMLW-xOcfq2anxfzrvB9Bz9N-KNy1\" 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=\"7416\"><strong data-nodeid=\"7580\">Ph\u00e2n t\u00edch tr\u01b0\u1eddng h\u1ee3p nghi\u00ean c\u1ee9u:<\/strong><\/p>\n<ul data-nodeid=\"7417\">\n<li data-nodeid=\"7418\">\n<p data-nodeid=\"7419\"><strong data-nodeid=\"7591\">Gi\u1edbi h\u1ea1n chu k\u1ef3 s\u1ed1ng<\/strong>: S\u01a1 \u0111\u1ed3 b\u1eaft \u0111\u1ea7u t\u1ea1i\u00a0<code data-backticks=\"1\" data-nodeid=\"7585\">[*]<\/code>\u00a0v\u00e0 k\u1ebft th\u00fac t\u1ea1i\u00a0<code data-backticks=\"1\" data-nodeid=\"7587\">[*]<\/code>\u00a0ch\u1ec9 sau khi\u00a0<code data-backticks=\"1\" data-nodeid=\"7589\">x\u00e1cNh\u1eadnGiaoH\u00e0ng<\/code>, \u0111\u1ea3m b\u1ea3o m\u1ed9t con \u0111\u01b0\u1eddng th\u00e0nh c\u00f4ng r\u00f5 r\u00e0ng.<\/p>\n<\/li>\n<li data-nodeid=\"7420\">\n<p data-nodeid=\"7421\"><strong data-nodeid=\"7604\">H\u00e0nh vi n\u1ed9i b\u1ed9<\/strong>:\u00a0<code data-backticks=\"1\" data-nodeid=\"7596\">ghiNh\u1eadtK\u00fdT\u1ea1o\u0110\u01a1n()<\/code>\u00a0v\u00e0\u00a0<code data-backticks=\"1\" data-nodeid=\"7598\">notifyWarehouse()<\/code>\u00a0\u0111\u01b0\u1ee3c c\u00f4 l\u1eadp v\u00e0o\u00a0<code data-backticks=\"1\" data-nodeid=\"7600\">entry<\/code>\/<code data-backticks=\"1\" data-nodeid=\"7602\">exit<\/code>, \u0111\u1ea3m b\u1ea3o ch\u00fang \u0111\u01b0\u1ee3c k\u00edch ho\u1ea1t m\u1ed9t c\u00e1ch x\u00e1c \u0111\u1ecbnh b\u1ea5t k\u1ec3 chuy\u1ec3n ti\u1ebfp n\u00e0o k\u00edch ho\u1ea1t tr\u1ea1ng th\u00e1i.<\/p>\n<\/li>\n<li data-nodeid=\"7422\">\n<p data-nodeid=\"7423\"><strong data-nodeid=\"7617\">\u0110i\u1ec1u h\u01b0\u1edbng c\u00f3 \u0111i\u1ec1u ki\u1ec7n<\/strong>: Chuy\u1ec3n ti\u1ebfp t\u1eeb\u00a0<code data-backticks=\"1\" data-nodeid=\"7609\">InFulfillment<\/code>\u00a0sang\u00a0<code data-backticks=\"1\" data-nodeid=\"7611\">Shipped<\/code>\u00a0y\u00eau c\u1ea7u\u00a0<code data-backticks=\"1\" data-nodeid=\"7613\">[StockConfirmed]<\/code>, ng\u0103n ch\u1eb7n vi\u1ec7c giao h\u00e0ng qu\u00e1 s\u1edbm khi ki\u1ec3m tra t\u1ed3n kho th\u1ea5t b\u1ea1i. \u0110i\u1ec1u ki\u1ec7n\u00a0<code data-backticks=\"1\" data-nodeid=\"7615\">[Within24Hours]<\/code>\u00a0tr\u00ean \u0111\u01b0\u1eddng d\u1eabn h\u1ee7y b\u1ecf \u0111\u1ea3m b\u1ea3o ho\u00e0n ti\u1ec1n ch\u1ec9 \u0111\u01b0\u1ee3c k\u00edch ho\u1ea1t trong m\u1ed9t kho\u1ea3ng th\u1eddi gian ch\u00ednh s\u00e1ch nghi\u00eam ng\u1eb7t.<\/p>\n<\/li>\n<\/ul>\n<h3 data-nodeid=\"7424\">2.2 T\u00ecnh hu\u1ed1ng B: B\u1ed9 \u0111i\u1ec1u khi\u1ec3n m\u00f4i tr\u01b0\u1eddng IoT<\/h3>\n<p data-nodeid=\"7425\">C\u00e1c b\u1ed9 \u0111i\u1ec1u khi\u1ec3n ph\u1ea7n c\u1ee9ng y\u00eau c\u1ea7u c\u00e1c thao t\u00e1c n\u1ec1n li\u00ean t\u1ee5c (<code data-backticks=\"1\" data-nodeid=\"7620\">do<\/code>\u00a0c\u00e1c ho\u1ea1t \u0111\u1ed9ng) nh\u01b0ng c\u0169ng ph\u1ea3i x\u1eed l\u00fd c\u00e1c c\u1eadp nh\u1eadt c\u1ea3m bi\u1ebfn t\u1ea7n s\u1ed1 cao m\u00e0 kh\u00f4ng l\u00e0m gi\u00e1n \u0111o\u1ea1n c\u00e1c quy tr\u00ecnh qu\u1ea3n l\u00fd nhi\u1ec7t quan tr\u1ecdng. C\u00e1c chuy\u1ec3n ti\u1ebfp n\u1ed9i b\u1ed9 cung c\u1ea5p hi\u1ec7u qu\u1ea3 c\u1ea7n thi\u1ebft.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/uml.planttext.com\/plantuml\/png\/PLBBRW8n3BpdAtphGqBSaOee50fNYdf17DoikqJD9Yl7eQog_dkzeQYWNhBPPCRZ6MUI15bouqtwSA55nWQIT9vqPMVBZH4dUl3IA18sU-8cAajW0FDmS1n3Gq7Gmom6uUWziJ7R-nqC1cDOLPwCwU5Kzl1b01JE7OoWSgdrsCqoinvjg6blxypt6Rua51VgAqPiAJnZUaL_8CK2t1HL5tBC2LgEbbBgIMZ57Pnq2gcY4Zc7HUQ0bXOOKg7IqOdUM1yJNTKiPLT1IF4UDgm49ow64Imng8S4680EsXDyEjd7BF3kk5SjRGvBOHzhPxNIsSK8HFtDqBitLdSL3879ehVPw-zKUrlhz-J_1kR7V-e9BERYxHJFXPRcoBaj85D2xfE_5dxYsBQgkjqWrrIoXZ5S9Bypvimup-sNkYQq-vvwWORn0_nLsgaPVIrrJVoeqvSfKJz9Cw5GzG_e1m00\"\/><\/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:PLB1JiCm3BrNwZ_uDa2Qk4zY0iPWkuw92zh1fAQBI9F8SSOcnB_ZT0oAk3HoyfxVywklao1BxbnTfJVh8p9saEJWIBzipV6fhiIANZrs2eRrbhWBIXGOmzplB0VVaHTqC0jUE3X7N4ZF5niOZwUmR1oLkb2eh-2ZhfJ11xY4ngRey33Bp7grfYwUdTVLvozXGIZMjqDEYEGVC3sXsr51ZtfbwtF82I87GoaL2XgnEok7kcg2qZZx-ymU3TsZJuL8UolwO5n8D6nOMYwza88Th5dHLcpm4rYWL_y9q0Fjr0wyMzc6BF1gkIZs3Y_xjYwqrjJLoVu4H6UReRClh6CrnGyPT2OxBM_LrqhFdzb7CD__qqzWCFUJ7QCPg6cCd6CFggi-unBzN_4x3Z6gylCQkQK-QvZ28FbDKJvnJh_kcxmYDDj27k1XUWM_lJOwaYvDsnBVw0h8BL4yXdbDlj5D-W80\" 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:RL8zQzn04Eq5-W_JEJ4SxWqvd3lZZzQO431Nh5V3QhdLIgn6mIAa22dIncMAGCxWnc18m9M5SQ73_qF_n3Cwdos3cnrcTj_Cc_TsfoGLgCfS79LpwmiLL0ObrGxv35QlhkA8B75f-SjspVSAvYd77nwyn9y4o_Ek-GsKjZVUG6Pz2YEOI6bv_XgGjJSMA3pywve_taZZayqPZ4PZE4mSIivy2FiCliOHUWerR45YoyAfUbg5mALZp8ftx-FesmlW01LP7Zx0v0NwVLL-KkuBokiDECYxsyKJMtvxrZNNuDexSBQzya1TSwdZACaP6og_LmMlDEufNmeQpopnXNPvYSEkqdUQLdM_7jdkzhu0p_qjdFAv3P_NGp9E2Sgk-GzpKKt4-Cl2z9hDsskTGhhYvt9ZDVHhRCdOE5fljmt4gq-LiwU1jqw4AMhbTEKudJ3Z8uxFqhp1pCY85JSmxKKDnhOBpv98tG-6iajICUBgmiPHxuWOzPhBRiYBWecS7AjWi7S6nZ3mQIP4rfYrqK_W8rGw5V3WFOm_m4kl6M_8tz0O31yT1feW5YlLTz0d_3SV0G00\" \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\nskinparam style strictuml\r\n\r\ntitle \u0110i\u1ec1u khi\u1ec3n nhi\u1ec7t \u0111\u1ed9 th\u00f4ng minh - B\u1ed9 \u0111i\u1ec1u khi\u1ec3n m\u00f4i tr\u01b0\u1eddng\r\n\r\n[*] --&gt; Idle\r\n\r\nstate Idle {\r\nentry \/ displayCurrentTemp()\r\n}\r\n\r\nstate Heating {\r\nentry \/ openGasValve()\r\n' Ho\u1ea1t \u0111\u1ed9ng x\u1eed l\u00fd li\u00ean t\u1ee5c\r\ndo \/ runFurnaceFans()\r\nexit \/ closeGasValve()\r\n\r\n' Chuy\u1ec3n ti\u1ebfp n\u1ed9i b\u1ed9: X\u1eed l\u00fd m\u1ed9t s\u1ef1 ki\u1ec7n m\u00e0 kh\u00f4ng k\u00edch ho\u1ea1t logic entry\/exit\r\nHeating : tempCalibrated \/ recalculateBurnRate()\r\n}\r\n\r\n' Chuy\u1ec3n ti\u1ebfp ngo\u1ea1i b\u1ed9 g\u00e2y gi\u00e1n \u0111o\u1ea1n entry\/exit tr\u1ea1ng th\u00e1i\r\nIdle --&gt; Heating : tempDropped [TargetTemp &gt; CurrentTemp]\r\n\r\nHeating --&gt; Idle : tempReached [CurrentTemp &gt;= TargetTemp] \/ triggerAlertBeep()\r\n\r\n@enduml<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com#plantuml:RL8zQzn04Eq5-W_JEJ4SxWqvd3lZZzQO431Nh5V3QhdLIgn6mIAa22dIncMAGCxWnc18m9M5SQ73_qF_n3Cwdos3cnrcTj_Cc_TsfoGLgCfS79LpwmiLL0ObrGxv35QlhkA8B75f-SjspVSAvYd77nwyn9y4o_Ek-GsKjZVUG6Pz2YEOI6bv_XgGjJSMA3pywve_taZZayqPZ4PZE4mSIivy2FiCliOHUWerR45YoyAfUbg5mALZp8ftx-FesmlW01LP7Zx0v0NwVLL-KkuBokiDECYxsyKJMtvxrZNNuDexSBQzya1TSwdZACaP6og_LmMlDEufNmeQpopnXNPvYSEkqdUQLdM_7jdkzhu0p_qjdFAv3P_NGp9E2Sgk-GzpKKt4-Cl2z9hDsskTGhhYvt9ZDVHhRCdOE5fljmt4gq-LiwU1jqw4AMhbTEKudJ3Z8uxFqhp1pCY85JSmxKKDnhOBpv98tG-6iajICUBgmiPHxuWOzPhBRiYBWecS7AjWi7S6nZ3mQIP4rfYrqK_W8rGw5V3WFOm_m4kl6M_8tz0O31yT1feW5YlLTz0d_3SV0G00\" \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:PLB1JiCm3BrNwZ_uDa2Qk4zY0iPWkuw92zh1fAQBI9F8SSOcnB_ZT0oAk3HoyfxVywklao1BxbnTfJVh8p9saEJWIBzipV6fhiIANZrs2eRrbhWBIXGOmzplB0VVaHTqC0jUE3X7N4ZF5niOZwUmR1oLkb2eh-2ZhfJ11xY4ngRey33Bp7grfYwUdTVLvozXGIZMjqDEYEGVC3sXsr51ZtfbwtF82I87GoaL2XgnEok7kcg2qZZx-ymU3TsZJuL8UolwO5n8D6nOMYwza88Th5dHLcpm4rYWL_y9q0Fjr0wyMzc6BF1gkIZs3Y_xjYwqrjJLoVu4H6UReRClh6CrnGyPT2OxBM_LrqhFdzb7CD__qqzWCFUJ7QCPg6cCd6CFggi-unBzN_4x3Z6gylCQkQK-QvZ28FbDKJvnJh_kcxmYDDj27k1XUWM_lJOwaYvDsnBVw0h8BL4yXdbDlj5D-W80\" 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=\"7427\"><strong data-nodeid=\"7625\">Ph\u00e2n t\u00edch tr\u01b0\u1eddng h\u1ee3p nghi\u00ean c\u1ee9u:<\/strong><\/p>\n<ul data-nodeid=\"7428\">\n<li data-nodeid=\"7429\">\n<p data-nodeid=\"7430\"><strong data-nodeid=\"7634\">Ho\u1ea1t \u0111\u1ed9ng li\u00ean t\u1ee5c<\/strong>:\u00a0<code data-backticks=\"1\" data-nodeid=\"7630\">do \/ runFurnaceFans()<\/code>\u00a0ch\u1ea1y li\u00ean t\u1ee5c trong khi \u1edf tr\u1ea1ng th\u00e1i\u00a0<code data-backticks=\"1\" data-nodeid=\"7632\">\u0110un n\u00f3ng<\/code>, m\u00f4 h\u00ecnh h\u00f3a m\u1ed9t qu\u00e1 tr\u00ecnh v\u1eadt l\u00fd di\u1ec5n ra cho \u0111\u1ebfn khi b\u1ecb ng\u1eaft.<\/p>\n<\/li>\n<li data-nodeid=\"7431\">\n<p data-nodeid=\"7432\"><strong data-nodeid=\"7645\">Hi\u1ec7u qu\u1ea3 chuy\u1ec3n ti\u1ebfp n\u1ed9i b\u1ed9<\/strong>: Vi\u1ec7c\u00a0<code data-backticks=\"1\" data-nodeid=\"7639\">tempCalibrated \/ recalculateBurnRate()<\/code>\u00a0s\u1ef1 ki\u1ec7n \u0111\u01b0\u1ee3c x\u1eed l\u00fd n\u1ed9i b\u1ed9. B\u1ed9 \u0111i\u1ec1u nhi\u1ec7t t\u00ednh to\u00e1n l\u1ea1i t\u1ed1c \u0111\u1ed9 \u0111\u1ed1t ch\u00e1y m\u00e0 kh\u00f4ng \u0111\u00f3ng van kh\u00ed (<code data-backticks=\"1\" data-nodeid=\"7641\">tho\u00e1t<\/code>) hay m\u1edf l\u1ea1i n\u00f3 (<code data-backticks=\"1\" data-nodeid=\"7643\">v\u00e0o<\/code>), ng\u0103n ch\u1eb7n hi\u1ec7n t\u01b0\u1ee3ng xung \u0111\u1ed9t ph\u1ea7n c\u1ee9ng nguy hi\u1ec3m.<\/p>\n<\/li>\n<li data-nodeid=\"7433\">\n<p data-nodeid=\"7434\"><strong data-nodeid=\"7658\">Chuy\u1ec3n tr\u1ea1ng th\u00e1i \u0111\u01b0\u1ee3c b\u1ea3o v\u1ec7<\/strong>: Vi\u1ec7c\u00a0<code data-backticks=\"1\" data-nodeid=\"7650\">[Nhi\u1ec7t \u0111\u1ed9 m\u1ee5c ti\u00eau &gt; Nhi\u1ec7t \u0111\u1ed9 hi\u1ec7n t\u1ea1i]<\/code>\u00a0v\u00e0\u00a0<code data-backticks=\"1\" data-nodeid=\"7652\">[Nhi\u1ec7t \u0111\u1ed9 hi\u1ec7n t\u1ea1i &gt;= Nhi\u1ec7t \u0111\u1ed9 m\u1ee5c ti\u00eau]<\/code>\u00a0c\u00e1c \u0111i\u1ec1u ki\u1ec7n b\u1ea3o v\u1ec7 \u0111\u1ea3m b\u1ea3o h\u1ec7 th\u1ed1ng ch\u1ec9 chuy\u1ec3n \u0111\u1ed5i gi\u1eefa\u00a0<code data-backticks=\"1\" data-nodeid=\"7654\">Ng\u01b0ng ho\u1ea1t \u0111\u1ed9ng<\/code>\u00a0v\u00e0\u00a0<code data-backticks=\"1\" data-nodeid=\"7656\">\u0110un n\u00f3ng<\/code>\u00a0khi ng\u01b0\u1ee1ng nhi\u1ec7t \u0111\u1ed9ng l\u1ef1c h\u1ecdc \u0111\u01b0\u1ee3c v\u01b0\u1ee3t qua m\u1ed9t c\u00e1ch h\u1ee3p l\u1ec7.<\/p>\n<\/li>\n<\/ul>\n<hr data-nodeid=\"7435\"\/>\n<h2 data-nodeid=\"7436\">3. C\u00e1c th\u1ef1c h\u00e0nh t\u1ed1t trong k\u1ef9 thu\u1eadt<\/h2>\n<p data-nodeid=\"7437\">Thi\u1ebft k\u1ebf c\u00e1c m\u00e1y tr\u1ea1ng th\u00e1i \u1ed5n \u0111\u1ecbnh \u0111\u00f2i h\u1ecfi s\u1ef1 k\u1ef7 lu\u1eadt. C\u00e1c h\u01b0\u1edbng d\u1eabn sau \u0111\u00e2y ng\u0103n ng\u1eeba nh\u1eefng sai l\u1ea7m ph\u1ed5 bi\u1ebfn trong m\u00f4 h\u00ecnh h\u00f3a v\u00e0 c\u1ea3i thi\u1ec7n \u0111\u1ed9 d\u1ef1 \u0111o\u00e1n c\u1ee7a h\u1ec7 th\u1ed1ng:<\/p>\n<h3 data-nodeid=\"7438\">1. \u00c1p d\u1ee5ng c\u00e1c \u0111i\u1ec1u ki\u1ec7n b\u1ea3o v\u1ec7 lo\u1ea1i tr\u1eeb l\u1eabn nhau<\/h3>\n<p data-nodeid=\"7439\">Khi nhi\u1ec1u chuy\u1ec3n ti\u1ebfp chia s\u1ebb c\u00f9ng m\u1ed9t s\u1ef1 ki\u1ec7n k\u00edch ho\u1ea1t t\u1eeb m\u1ed9t tr\u1ea1ng th\u00e1i duy nh\u1ea5t, c\u00e1c \u0111i\u1ec1u ki\u1ec7n b\u1ea3o v\u1ec7 c\u1ee7a ch\u00fang ph\u1ea3i ho\u00e0n to\u00e0n kh\u00f4ng ch\u1ed3ng l\u1ea5n. C\u00e1c \u0111i\u1ec1u ki\u1ec7n b\u1ea3o v\u1ec7 ch\u1ed3ng l\u1ea5n s\u1ebd t\u1ea1o ra t\u00ednh kh\u00f4ng x\u00e1c \u0111\u1ecbnh, khi\u1ebfn \u0111\u1ed9ng c\u01a1 th\u1ef1c thi ph\u1ea3i ch\u1ecdn ng\u1eabu nhi\u00ean m\u1ed9t con \u0111\u01b0\u1eddng. V\u00ed d\u1ee5:\u00a0<code data-backticks=\"1\" data-nodeid=\"7663\">[h\u00e0ng t\u1ed3n kho &gt; 0]<\/code>\u00a0so v\u1edbi\u00a0<code data-backticks=\"1\" data-nodeid=\"7665\">[h\u00e0ng t\u1ed3n kho == 0]<\/code>\u00a0\u0111\u1ea3m b\u1ea3o m\u1ed9t con \u0111\u01b0\u1eddng h\u1ee3p l\u1ec7 duy nh\u1ea5t.<\/p>\n<h3 data-nodeid=\"7440\">2. T\u00e1ch bi\u1ec7t\u00a0<code data-backticks=\"1\" data-nodeid=\"7668\">do<\/code>Ho\u1ea1t \u0111\u1ed9ng t\u1eeb c\u00e1c h\u00e0nh \u0111\u1ed9ng t\u1ee9c th\u00ec<\/h3>\n<p data-nodeid=\"7441\"><code data-backticks=\"1\" data-nodeid=\"7670\">v\u00e0o<\/code>v\u00e0<code data-backticks=\"1\" data-nodeid=\"7672\">ra<\/code>c\u00e1c h\u00e0nh vi ph\u1ea3i th\u1ef1c thi m\u1ed9t c\u00e1ch nguy\u00ean t\u1eed v\u00e0 kh\u00f4ng b\u1ecb gi\u00e1n \u0111o\u1ea1n. D\u00e0nh ch\u00fang cho kh\u1edfi t\u1ea1o tr\u1ea1ng th\u00e1i, c\u1eadp nh\u1eadt c\u1edd ho\u1eb7c d\u1ecdn d\u1eb9p \u0111\u1ed3ng b\u1ed9. C\u00e1c quy tr\u00ecnh k\u00e9o d\u00e0i, b\u1ed9 l\u1eafng nghe s\u1ef1 ki\u1ec7n ho\u1eb7c v\u00f2ng l\u1eb7p ki\u1ec3m tra ph\u1ea3i thu\u1ed9c v\u1ec1 ho\u00e0n to\u00e0n trong c\u00e1c kh\u1ed1i\u00a0<code data-backticks=\"1\" data-nodeid=\"7674\">l\u00e0m \/<\/code>c\u00e1c ng\u0103n ri\u00eang, n\u01a1i ch\u00fang c\u00f3 th\u1ec3 b\u1ecb ng\u1eaft ho\u1eb7c \u01b0u ti\u00ean b\u1edfi c\u00e1c k\u00edch ho\u1ea1t c\u00f3 \u0111\u1ed9 \u01b0u ti\u00ean cao m\u1ed9t c\u00e1ch an to\u00e0n.<\/p>\n<h3 data-nodeid=\"7442\">3. Tr\u00e1nh hi\u1ec7n t\u01b0\u1ee3ng chuy\u1ec3n ti\u1ebfp &#8216;m\u00ec \u0103n li\u1ec1n&#8217; th\u00f4ng qua nh\u00f3m ph\u00e2n c\u1ea5p<\/h3>\n<p data-nodeid=\"7443\">M\u1ed9t m\u1ea1ng l\u01b0\u1edbi d\u00e0y \u0111\u1eb7c c\u00e1c chuy\u1ec3n ti\u1ebfp ch\u00e9o nhau cho th\u1ea5y ranh gi\u1edbi \u0111\u01b0\u1ee3c x\u00e1c \u0111\u1ecbnh kh\u00f4ng \u0111\u00fang. N\u1ebfu nhi\u1ec1u tr\u1ea1ng th\u00e1i chia s\u1ebb c\u00f9ng m\u1ed9t h\u00e0nh tr\u00ecnh l\u1ed7i ho\u1eb7c h\u1ee7y b\u1ecf, h\u00e3y bao b\u1ecdc ch\u00fang trong m\u1ed9t\u00a0<strong data-nodeid=\"7686\">Tr\u1ea1ng th\u00e1i h\u1ee3p th\u00e0nh<\/strong>. \u0110i\u1ec1u n\u00e0y gi\u1ea3m thi\u1ec3u s\u1ef1 l\u1ed9n x\u1ed9n v\u1ec1 m\u1eb7t th\u1ecb gi\u00e1c, c\u1ee7ng c\u1ed1 thi\u1ebft k\u1ebf theo m\u00f4-\u0111un v\u00e0 gi\u00fap \u0111\u01b0\u1eddng \u0111i th\u1ef1c thi ch\u00ednh tr\u1edf n\u00ean d\u1ec5 nh\u1eadn bi\u1ebft ngay l\u1eadp t\u1ee9c.<\/p>\n<h3 data-nodeid=\"7444\">4. T\u1ed1i \u01b0u b\u1ed1 c\u1ee5c s\u01a1 \u0111\u1ed3 v\u00e0 \u0111\u1ed9 r\u00f5 r\u00e0ng v\u1ec1 c\u00fa ph\u00e1p<\/h3>\n<ul data-nodeid=\"7445\">\n<li data-nodeid=\"7446\">\n<p data-nodeid=\"7447\"><strong data-nodeid=\"7696\">Tu\u00e2n th\u1ee7 nghi\u00eam ng\u1eb7t c\u00fa ph\u00e1p<\/strong>: Lu\u00f4n \u0111\u1ecbnh d\u1ea1ng c\u00e1c chuy\u1ec3n ti\u1ebfp theo d\u1ea1ng\u00a0<code data-backticks=\"1\" data-nodeid=\"7694\">k\u00edch ho\u1ea1t [\u0111i\u1ec1u ki\u1ec7n] \/ hi\u1ec7u \u1ee9ng<\/code>. Lo\u1ea1i b\u1ecf c\u00e1c th\u00e0nh ph\u1ea7n kh\u00f4ng s\u1eed d\u1ee5ng m\u1ed9t c\u00e1ch s\u1ea1ch s\u1ebd thay v\u00ec \u0111\u1ec3 l\u1ea1i c\u00e1c d\u1ea5u g\u1ea1ch ch\u00e9o treo hay d\u1ea5u ngo\u1eb7c tr\u1ed1ng.<\/p>\n<\/li>\n<li data-nodeid=\"7448\">\n<p data-nodeid=\"7449\"><strong data-nodeid=\"7709\">Ki\u1ec3m so\u00e1t lu\u1ed3ng theo h\u01b0\u1edbng<\/strong>: S\u1eed d\u1ee5ng c\u00e1c ch\u1ec9 th\u1ecb b\u1ed1 c\u1ee5c (v\u00ed d\u1ee5,\u00a0<code data-backticks=\"1\" data-nodeid=\"7701\">-ph\u1ea3i-&gt;<\/code>,\u00a0<code data-backticks=\"1\" data-nodeid=\"7703\">-xu\u1ed1ng-&gt;<\/code>) \u0111\u1ec3 \u0111\u1ecbnh h\u01b0\u1edbng \u0111\u01b0\u1eddng \u0111i ch\u00ednh &#8216;h\u1ea1nh ph\u00fac&#8217; theo chi\u1ec1u d\u1ecdc ho\u1eb7c ngang, \u0111\u1ecbnh tuy\u1ebfn c\u00e1c ngo\u1ea1i l\u1ec7 v\u00e0 tr\u1ea1ng th\u00e1i l\u1ed7i ra v\u00f9ng vi\u1ec1n.<\/p>\n<\/li>\n<li data-nodeid=\"7450\">\n<p data-nodeid=\"7451\"><strong data-nodeid=\"7718\">Bi\u1ec3u th\u1ee9c \u0111i\u1ec1u ki\u1ec7n ng\u1eafn g\u1ecdn<\/strong>: Gi\u1eef c\u00e1c \u0111i\u1ec1u ki\u1ec7n ki\u1ec3u boolean ng\u1eafn g\u1ecdn v\u00e0 mang t\u00ednh chuy\u00ean ng\u00e0nh. Thay th\u1ebf ng\u00f4n ng\u1eef t\u1ef1 nhi\u00ean d\u00e0i d\u00f2ng b\u1eb1ng c\u00e1c \u0111\u1ecbnh danh ch\u00ednh x\u00e1c (v\u00ed d\u1ee5,\u00a0<code data-backticks=\"1\" data-nodeid=\"7714\">[C\u00f3TokenH\u1ee3pL\u1ec7]<\/code>thay v\u00ec\u00a0<code data-backticks=\"1\" data-nodeid=\"7716\">[N\u1ebfu d\u1ecbch v\u1ee5 x\u00e1c th\u1ef1c x\u00e1c nh\u1eadn phi\u00ean \u0111ang ho\u1ea1t \u0111\u1ed9ng v\u00e0 \u0111\u01b0\u1ee3c \u1ee7y quy\u1ec1n]<\/code>).<\/p>\n<\/li>\n<\/ul>\n<hr data-nodeid=\"7452\"\/>\n<h2 data-nodeid=\"7453\">K\u1ebft lu\u1eadn<\/h2>\n<p data-nodeid=\"7454\">S\u01a1 \u0111\u1ed3 M\u00e1y tr\u1ea1ng th\u00e1i kh\u00f4ng ch\u1ec9 l\u00e0 t\u00e0i li\u1ec7u tham kh\u1ea3o; ch\u00fang l\u00e0 b\u1ea3n v\u1ebd th\u1ef1c thi cho h\u00e0nh vi h\u1ec7 th\u1ed1ng \u0111\u1ed9ng. B\u1eb1ng c\u00e1ch x\u00e1c \u0111\u1ecbnh nghi\u00eam ng\u1eb7t c\u00e1c tr\u1ea1ng th\u00e1i, h\u00e0nh vi n\u1ed9i b\u1ed9 v\u00e0 quy t\u1eafc chuy\u1ec3n ti\u1ebfp, c\u00e1c k\u1ef9 s\u01b0 c\u00f3 th\u1ec3 lo\u1ea1i b\u1ecf s\u1ef1 m\u01a1 h\u1ed3 t\u1ea1i th\u1eddi \u0111i\u1ec3m ch\u1ea1y, \u00e1p d\u1ee5ng c\u00e1c r\u00e0ng bu\u1ed9c kinh doanh \u1edf t\u1ea7ng m\u00f4 h\u00ecnh h\u00f3a, v\u00e0 t\u1ea1o ra c\u00e1c h\u1ec7 th\u1ed1ng ph\u1ea3n \u1ee9ng m\u1ed9t c\u00e1ch d\u1ef1 \u0111o\u00e1n \u0111\u01b0\u1ee3c tr\u01b0\u1edbc c\u00e1c lu\u1ed3ng s\u1ef1 ki\u1ec7n ph\u1ee9c t\u1ea1p.<\/p>\n<p class=\"\" data-nodeid=\"7455\">C\u00e1c nghi\u00ean c\u1ee9u tr\u01b0\u1eddng h\u1ee3p \u0111\u01b0\u1ee3c tr\u00ecnh b\u00e0y cho th\u1ea5y c\u00e1ch c\u00e1c m\u00e1y tr\u1ea1ng th\u00e1i UML 2.0 m\u1edf r\u1ed9ng t\u1eeb c\u00e1c lu\u1ed3ng c\u00f4ng vi\u1ec7c kinh doanh c\u1ea5p cao \u0111\u1ebfn c\u00e1c v\u00f2ng \u0111i\u1ec1u khi\u1ec3n ph\u1ea7n c\u1ee9ng c\u1ea5p th\u1ea5p. Khi k\u1ebft h\u1ee3p v\u1edbi thi\u1ebft k\u1ebf \u0111i\u1ec1u ki\u1ec7n ki\u1ec3m so\u00e1t nghi\u00eam ng\u1eb7t, ph\u00e2n v\u00f9ng h\u00e0nh vi ph\u00f9 h\u1ee3p v\u00e0 ki\u1ebfn tr\u00fac tr\u1ef1c quan s\u1ea1ch s\u1ebd, m\u00f4 h\u00ecnh h\u00f3a tr\u1ea1ng th\u00e1i tr\u1edf th\u00e0nh m\u1ed9t c\u00f4ng c\u1ee5 m\u1ea1nh m\u1ebd \u0111\u1ec3 thu h\u1eb9p kho\u1ea3ng c\u00e1ch gi\u1eefa c\u00e1c y\u00eau c\u1ea7u tr\u1eebu t\u01b0\u1ee3ng v\u00e0 tri\u1ec3n khai x\u00e1c \u0111\u1ecbnh. Th\u00e0nh th\u1ea1o nh\u1eefng c\u01a1 ch\u1ebf n\u00e0y \u0111\u1ea3m b\u1ea3o r\u1eb1ng m\u1ed7i \u0111\u1ed1i t\u01b0\u1ee3ng trong h\u1ec7 th\u1ed1ng c\u1ee7a b\u1ea1n \u0111\u1ec1u bi\u1ebft ch\u00ednh x\u00e1c m\u00ecnh \u0111ang l\u00e0m g\u00ec, t\u1ea1i sao l\u1ea1i l\u00e0m \u0111i\u1ec1u \u0111\u00f3, v\u00e0 ch\u00ednh x\u00e1c n\u01a1i n\u00f3 c\u1ea7n \u0111i ti\u1ebfp theo.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Gi\u1edbi thi\u1ec7u C\u00e1c h\u1ec7 th\u1ed1ng ph\u1ea7n m\u1ec1m hi\u1ec7n \u0111\u1ea1i hi\u1ebfm khi l\u00e0 t\u0129nh. C\u00e1c \u0111\u1ed1i t\u01b0\u1ee3ng, th\u00e0nh ph\u1ea7n v\u00e0 d\u1ecbch v\u1ee5 li\u00ean t\u1ee5c thay \u0111\u1ed5i, ph\u1ea3n \u1ee9ng v\u1edbi \u0111\u1ea7u v\u00e0o ng\u01b0\u1eddi d\u00f9ng, tin nh\u1eafn m\u1ea1ng, t\u00edn hi\u1ec7u ph\u1ea7n c\u1ee9ng v\u00e0 b\u1ed9 \u0111\u1ebfm th\u1eddi gian n\u1ed9i b\u1ed9. Trong khi m\u00f4 h\u00ecnh h\u00f3a c\u1ea5u tr\u00fac xu\u1ea5t s\u1eafc [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":11672,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"no","_lmt_disable":"","footnotes":""},"categories":[36],"tags":[],"class_list":["post-11671","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>M\u00f4 h\u00ecnh h\u00f3a H\u00e0nh vi \u0110\u1ed9ng: M\u1ed9t Nghi\u00ean c\u1ee9u Tr\u01b0\u1eddng H\u1ee3p To\u00e0n di\u1ec7n v\u1ec1 M\u00e1y tr\u1ea1ng th\u00e1i UML 2.0 - 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\/modeling-dynamic-behavior-a-comprehensive-case-study-in-uml-2-0-state-machines\/\" \/>\n<meta property=\"og:locale\" content=\"vi_VN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"M\u00f4 h\u00ecnh h\u00f3a H\u00e0nh vi \u0110\u1ed9ng: M\u1ed9t Nghi\u00ean c\u1ee9u Tr\u01b0\u1eddng H\u1ee3p To\u00e0n di\u1ec7n v\u1ec1 M\u00e1y tr\u1ea1ng th\u00e1i UML 2.0 - Visual Paradigm Blog\" \/>\n<meta property=\"og:description\" content=\"Gi\u1edbi thi\u1ec7u C\u00e1c h\u1ec7 th\u1ed1ng ph\u1ea7n m\u1ec1m hi\u1ec7n \u0111\u1ea1i hi\u1ebfm khi l\u00e0 t\u0129nh. C\u00e1c \u0111\u1ed1i t\u01b0\u1ee3ng, th\u00e0nh ph\u1ea7n v\u00e0 d\u1ecbch v\u1ee5 li\u00ean t\u1ee5c thay \u0111\u1ed5i, ph\u1ea3n \u1ee9ng v\u1edbi \u0111\u1ea7u v\u00e0o ng\u01b0\u1eddi d\u00f9ng, tin nh\u1eafn m\u1ea1ng, t\u00edn hi\u1ec7u ph\u1ea7n c\u1ee9ng v\u00e0 b\u1ed9 \u0111\u1ebfm th\u1eddi gian n\u1ed9i b\u1ed9. Trong khi m\u00f4 h\u00ecnh h\u00f3a c\u1ea5u tr\u00fac xu\u1ea5t s\u1eafc [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.visual-paradigm.com\/vn\/modeling-dynamic-behavior-a-comprehensive-case-study-in-uml-2-0-state-machines\/\" \/>\n<meta property=\"og:site_name\" content=\"Visual Paradigm Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-05-22T02:33:08+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-30T06:53:38+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0fc0566262b.png\" \/><meta property=\"og:image\" content=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0fc0566262b.png\" \/>\n\t<meta property=\"og:image:width\" content=\"915\" \/>\n\t<meta property=\"og:image:height\" content=\"511\" \/>\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_6a0fc0566262b.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=\"6 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\/modeling-dynamic-behavior-a-comprehensive-case-study-in-uml-2-0-state-machines\/\",\"url\":\"https:\/\/blog.visual-paradigm.com\/vn\/modeling-dynamic-behavior-a-comprehensive-case-study-in-uml-2-0-state-machines\/\",\"name\":\"M\u00f4 h\u00ecnh h\u00f3a H\u00e0nh vi \u0110\u1ed9ng: M\u1ed9t Nghi\u00ean c\u1ee9u Tr\u01b0\u1eddng H\u1ee3p To\u00e0n di\u1ec7n v\u1ec1 M\u00e1y tr\u1ea1ng th\u00e1i UML 2.0 - Visual Paradigm Blog\",\"isPartOf\":{\"@id\":\"https:\/\/blog.visual-paradigm.com\/vn\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/blog.visual-paradigm.com\/vn\/modeling-dynamic-behavior-a-comprehensive-case-study-in-uml-2-0-state-machines\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/blog.visual-paradigm.com\/vn\/modeling-dynamic-behavior-a-comprehensive-case-study-in-uml-2-0-state-machines\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blog.visual-paradigm.com\/vn\/wp-content\/uploads\/sites\/13\/2026\/05\/img_6a0fc0566262b.png\",\"datePublished\":\"2026-05-22T02:33:08+00:00\",\"dateModified\":\"2026-05-30T06:53:38+00:00\",\"author\":{\"@id\":\"https:\/\/blog.visual-paradigm.com\/vn\/#\/schema\/person\/a649c442f11a53040710ddec750926c6\"},\"breadcrumb\":{\"@id\":\"https:\/\/blog.visual-paradigm.com\/vn\/modeling-dynamic-behavior-a-comprehensive-case-study-in-uml-2-0-state-machines\/#breadcrumb\"},\"inLanguage\":\"vi\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.visual-paradigm.com\/vn\/modeling-dynamic-behavior-a-comprehensive-case-study-in-uml-2-0-state-machines\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"vi\",\"@id\":\"https:\/\/blog.visual-paradigm.com\/vn\/modeling-dynamic-behavior-a-comprehensive-case-study-in-uml-2-0-state-machines\/#primaryimage\",\"url\":\"https:\/\/blog.visual-paradigm.com\/vn\/wp-content\/uploads\/sites\/13\/2026\/05\/img_6a0fc0566262b.png\",\"contentUrl\":\"https:\/\/blog.visual-paradigm.com\/vn\/wp-content\/uploads\/sites\/13\/2026\/05\/img_6a0fc0566262b.png\",\"width\":915,\"height\":511},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.visual-paradigm.com\/vn\/modeling-dynamic-behavior-a-comprehensive-case-study-in-uml-2-0-state-machines\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/blog.visual-paradigm.com\/vn\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"M\u00f4 h\u00ecnh h\u00f3a H\u00e0nh vi \u0110\u1ed9ng: M\u1ed9t Nghi\u00ean c\u1ee9u Tr\u01b0\u1eddng H\u1ee3p To\u00e0n di\u1ec7n v\u1ec1 M\u00e1y tr\u1ea1ng th\u00e1i UML 2.0\"}]},{\"@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":"M\u00f4 h\u00ecnh h\u00f3a H\u00e0nh vi \u0110\u1ed9ng: M\u1ed9t Nghi\u00ean c\u1ee9u Tr\u01b0\u1eddng H\u1ee3p To\u00e0n di\u1ec7n v\u1ec1 M\u00e1y tr\u1ea1ng th\u00e1i UML 2.0 - 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\/modeling-dynamic-behavior-a-comprehensive-case-study-in-uml-2-0-state-machines\/","og_locale":"vi_VN","og_type":"article","og_title":"M\u00f4 h\u00ecnh h\u00f3a H\u00e0nh vi \u0110\u1ed9ng: M\u1ed9t Nghi\u00ean c\u1ee9u Tr\u01b0\u1eddng H\u1ee3p To\u00e0n di\u1ec7n v\u1ec1 M\u00e1y tr\u1ea1ng th\u00e1i UML 2.0 - Visual Paradigm Blog","og_description":"Gi\u1edbi thi\u1ec7u C\u00e1c h\u1ec7 th\u1ed1ng ph\u1ea7n m\u1ec1m hi\u1ec7n \u0111\u1ea1i hi\u1ebfm khi l\u00e0 t\u0129nh. C\u00e1c \u0111\u1ed1i t\u01b0\u1ee3ng, th\u00e0nh ph\u1ea7n v\u00e0 d\u1ecbch v\u1ee5 li\u00ean t\u1ee5c thay \u0111\u1ed5i, ph\u1ea3n \u1ee9ng v\u1edbi \u0111\u1ea7u v\u00e0o ng\u01b0\u1eddi d\u00f9ng, tin nh\u1eafn m\u1ea1ng, t\u00edn hi\u1ec7u ph\u1ea7n c\u1ee9ng v\u00e0 b\u1ed9 \u0111\u1ebfm th\u1eddi gian n\u1ed9i b\u1ed9. Trong khi m\u00f4 h\u00ecnh h\u00f3a c\u1ea5u tr\u00fac xu\u1ea5t s\u1eafc [&hellip;]","og_url":"https:\/\/blog.visual-paradigm.com\/vn\/modeling-dynamic-behavior-a-comprehensive-case-study-in-uml-2-0-state-machines\/","og_site_name":"Visual Paradigm Blog","article_published_time":"2026-05-22T02:33:08+00:00","article_modified_time":"2026-05-30T06:53:38+00:00","og_image":[{"url":"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0fc0566262b.png","type":"","width":"","height":""},{"width":915,"height":511,"url":"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0fc0566262b.png","type":"image\/png"}],"author":"Admin","twitter_card":"summary_large_image","twitter_image":"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/05\/img_6a0fc0566262b.png","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Admin","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"6 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/blog.visual-paradigm.com\/vn\/modeling-dynamic-behavior-a-comprehensive-case-study-in-uml-2-0-state-machines\/","url":"https:\/\/blog.visual-paradigm.com\/vn\/modeling-dynamic-behavior-a-comprehensive-case-study-in-uml-2-0-state-machines\/","name":"M\u00f4 h\u00ecnh h\u00f3a H\u00e0nh vi \u0110\u1ed9ng: M\u1ed9t Nghi\u00ean c\u1ee9u Tr\u01b0\u1eddng H\u1ee3p To\u00e0n di\u1ec7n v\u1ec1 M\u00e1y tr\u1ea1ng th\u00e1i UML 2.0 - Visual Paradigm Blog","isPartOf":{"@id":"https:\/\/blog.visual-paradigm.com\/vn\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blog.visual-paradigm.com\/vn\/modeling-dynamic-behavior-a-comprehensive-case-study-in-uml-2-0-state-machines\/#primaryimage"},"image":{"@id":"https:\/\/blog.visual-paradigm.com\/vn\/modeling-dynamic-behavior-a-comprehensive-case-study-in-uml-2-0-state-machines\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.visual-paradigm.com\/vn\/wp-content\/uploads\/sites\/13\/2026\/05\/img_6a0fc0566262b.png","datePublished":"2026-05-22T02:33:08+00:00","dateModified":"2026-05-30T06:53:38+00:00","author":{"@id":"https:\/\/blog.visual-paradigm.com\/vn\/#\/schema\/person\/a649c442f11a53040710ddec750926c6"},"breadcrumb":{"@id":"https:\/\/blog.visual-paradigm.com\/vn\/modeling-dynamic-behavior-a-comprehensive-case-study-in-uml-2-0-state-machines\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.visual-paradigm.com\/vn\/modeling-dynamic-behavior-a-comprehensive-case-study-in-uml-2-0-state-machines\/"]}]},{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/blog.visual-paradigm.com\/vn\/modeling-dynamic-behavior-a-comprehensive-case-study-in-uml-2-0-state-machines\/#primaryimage","url":"https:\/\/blog.visual-paradigm.com\/vn\/wp-content\/uploads\/sites\/13\/2026\/05\/img_6a0fc0566262b.png","contentUrl":"https:\/\/blog.visual-paradigm.com\/vn\/wp-content\/uploads\/sites\/13\/2026\/05\/img_6a0fc0566262b.png","width":915,"height":511},{"@type":"BreadcrumbList","@id":"https:\/\/blog.visual-paradigm.com\/vn\/modeling-dynamic-behavior-a-comprehensive-case-study-in-uml-2-0-state-machines\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blog.visual-paradigm.com\/vn\/"},{"@type":"ListItem","position":2,"name":"M\u00f4 h\u00ecnh h\u00f3a H\u00e0nh vi \u0110\u1ed9ng: M\u1ed9t Nghi\u00ean c\u1ee9u Tr\u01b0\u1eddng H\u1ee3p To\u00e0n di\u1ec7n v\u1ec1 M\u00e1y tr\u1ea1ng th\u00e1i UML 2.0"}]},{"@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":"vpjick","_links":{"self":[{"href":"https:\/\/blog.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/posts\/11671","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=11671"}],"version-history":[{"count":0,"href":"https:\/\/blog.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/posts\/11671\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/media\/11672"}],"wp:attachment":[{"href":"https:\/\/blog.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/media?parent=11671"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/categories?post=11671"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/tags?post=11671"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}