1
Các hệ thờigianthực–Phương pháp SA-RT
Ngô Khánh Hiếu
1
Các hệ thờigianthực–Phương pháp SA-RT
Ngô Khánh Hiếu
2
Tổng quan về phương pháp SA-RT (1/3)
▪ SA-RT (Structured Analysis for Real-Time Systems) là mộtphương pháp phân tích
dựatrêntính năng và sự hoạt động củacácứng dụng củahệ điềukhiển thông qua
các thể hiện dướidạng đồ họa (graphiques) và dạng ký tự (textes) để trả lờicho
câu hỏi"Hệ làm gì?".
▪ Việcmôtả bằng phương pháp SA-RT làm cho các giai đoạn "thu thập thông tin"
(Cahier des charges), và "xác định yêu cầu" (Spécifications) củahệ điềukhiểntrở
nên "formelles" theo nghĩa mà ở đó phương pháp luận(tất cả các dữ liệu để phân
tích) và biểuthứcdiễn đạt (cú pháp đồ họa) đã được định nghĩa.
▪ Phương pháp SA-RT không cho phép thựchiệnviệckiểm tra các đặc tính của ứng
dụng hệ điềukhiểnnếu chỉ dựatrêncácmôtả của nó. Điềunày đã dẫn đến nhiều
nghiên cứuvề sự kết hợpphương pháp SA-RT với các phương pháp "formelles",
tiêu biểu là "Réseaux de Petri", để có thể có đượckhả năng mô phỏng (simulation)
và kiểm tra (vérification) các đặc tính củahệ từ SA-RT.
2
Các hệ thờigianthực–Phương pháp SA-RT
Ngô Khánh Hiếu
3
Tổng quan về phương pháp SA-RT (2/3)
▪ Không có một nguyên tắc hay mộtsự chuẩn hóa nào được đặt ra cho phương
pháp SA-RT và việc ứng dụng nó. Tuy vậy, đã có rất nhiềusự triểnkhai/ápdụng
phương pháp SA-RT vớicácmức độ quan trọng nhiều, ít khác nhau, cũng như các
mở rộng riêng biệtcủa nó. Phương pháp DARTS của Gomaa, hay phương pháp
Statecharts của Harel… là hai trong nhiềuphương pháp mà ở đó ta có thể tìm thấy
đường thẳng. Các "entités" sẽ đượcsắp xếp theo thứ tự thờigiancủacácdữ liệu
nhận được trên sơ đồ cấu trúc "entité" (Diagramme Entité Structure).
Các hệ thờigianthực–Phương pháp SA-RT
Ngô Khánh Hiếu
6
Phương pháp JSD (Jackson System Development) (2/9)
▪ Có 3 dạng cấu trúc cơ bản trong sơ đồ cấu trúc "entité" JSD:
- Cấu trúc tuần tự: là sự phân chia củamột "entité composite" thành mộthay
nhiều "entité" thành phần mà ở đó chúng đượcsắp xếp theo thứ tự từ trái sang
phải tương ứng vớiphần tử thựchiện/tính toán đầu tiên đến phần tử thực
hiện/tính toán sau cùng.
- Cấu trúc lựachọn: được đặc trưng bởikýhiệu"
o
" ở góc trên bên phải củamỗi
"entité" thành phần, mô tả mộtsự lựachọnmột thành phần trong số nhiều
thành phần củamột "entité composite".
- Cấu trúc lặp: được đặc trưng bởikýhiệu"
*
" ở góc trên bên phải củamỗi
"entité" thành phần, thể hiệnmộtsự lặp lại từ một đến nhiềulần việcthực
hiện/tính toán củamột hay nhiều "entité" thành phần trong "entité composite".
4
Các hệ thờigianthực–Phương pháp SA-RT
Ngô Khánh Hiếu
7
Phương pháp JSD (Jackson System Development) (3/9)
Sơ đồ cấu trúc "entité" củamộthệ thống sưởibằng dầu mazout
Cấu trúc
tuần tự
Cấu trúc
10
Phương pháp JSD (Jackson System Development) (6/9)
Sơ đồ giao tiếp giữa các "tâches" JSP củahệ thống sưởibằng dầu mazout
Giao tiếp bằng vecteur trạng thái
Giao tiếp bằng dòng dữ liệu
Tâche nắm
giữ vecteur
trạng thái
"Etat
Ventilateur"
6
Các hệ thờigianthực–Phương pháp SA-RT
Ngô Khánh Hiếu
11
Phương pháp JSD (Jackson System Development) (7/9)
▪ Ở giai đoạn triển khai (Implémentation) của vòng phát triểncủahệ điềukhiển, từ
sơ đồ giao tiếp giữa các "tâches", Jackson đưa ra khái niệm"chương trình ngược"
(inversion-programme). Theo đó:
- mỗi "tâche" nhậndữ liệu đầu vào từ bên ngoài sẽ đượctriển khai bằng một
chương trình (procédure) đượcgọibởi "tâche" trung tâm (l’ordonnanceur),
- việcgiaotiếp giữa các "tâches" bằng dòng dữ liệusẽ đượctriển khai thành việc
gọimột hàm (fonction), được khai báo trên "tâche" nhận (tâche consommatrice),
từ "tâche" cho (tâche productrice) vớimột tham số dùng để chứadữ liệucần
giao tiếp,
- việcgiaotiếp giữa các "tâches" bằng vecteur trạng thái sẽ đượctriển khai thành
việcgọimột hàm (fonction) từ một "objet passif" vớimột tham số thuộckiểuxuất
(out) để thựchiệnviệc đọcdữ liệutừ vecteur trạng thái.
Các hệ thờigianthực–Phương pháp SA-RT
Ngô Khánh Hiếu
12
đổi khi chúng được hình thành từ các "modules" đơn giản, độclập".
▪ Khái niệm "module" trong phương pháp SD đượchiểulà mộttậphợpcáclệnh liên
tục (instructions contigues) củamộtchương trình mà tên củanócóthể đượcgọi
bởi các thành phần khác trong hệ điềukhiển. Mỗi "module" sẽ có các tham chiếu
riêng đến tậphợp các biến cụcbộ mà nó quản lý.
▪ Phương pháp SD hỗ trợ cáckýhiệu đồ họa (notations graphiques) cho phép mô tả
hệ điềukhiển dướidạng các "biểu đồ cấu trúc" (graphes structurels).
8
Các hệ thờigianthực–Phương pháp SA-RT
Ngô Khánh Hiếu
15
Phương pháp SD (Structured Design) (2/4)
Đồ thị cấu trúc tiêu biểucủaSD
A là module gọi module B,
B là module phụ thuộcvàoA,
Module B nhận một tham số đầu vào X (được đặt
tên trong A), và trả lại một tham số đầu ra Y (được
đặt tên trong A).
▪ Các modules trong đồ thị cấu trúc SD chủ yếu là các modules chức năng (modules
fonctionnels), mặc dù rằng mộtsố trong chúng là các modules "đóng gói dữ liệu"
(modules d’encapsulation de données).
▪ SD không đưa ra bất kỳ chỉ dẫn nào cho việc phân hóa hệ điềukhiển thành các
"tâches" song song (tâches concurrentes). Vì thế, hệ điềukhiểntrongphương
pháp SD đượccấu trúc thành một "tâche" duy nhất mà ở đó mối liên kết giữacác
modules đã đượcthiết lập rõ ràng.
Các hệ thờigianthực–Phương pháp SA-RT
Ngô Khánh Hiếu
16
Phương pháp SD (Structured Design) (3/4)
▪ Giao tiếp không đồng bộ (communication asynchrone) giữa các "tâches" song song
fonctionnels".
10
Các hệ thờigianthực–Phương pháp SA-RT
Ngô Khánh Hiếu
19
Phương pháp SA (Structured Analysis) (2/13)
▪ Phương pháp SA bao gồm ba thành phần chính sau: mộtbiểu đồ bốicảnh dữ liệu
(Diagramme de Contexte de Données – DCD) cùng một hay nhiềubiểu đồ dòng dữ
liệu (Diagramme de Flots de Données – DFD); mộttự điểndữ liệu (Dictionnaire de
Données); và mộtsự mô tả ngắn gọncácyêucầu chức năng cho mỗi "processus
primitif" (đượchiểu là quá trình mà ta không thể phân chia tiếp và thể hiện dưới
dạng các DFD của các quá trình thành phần).
- Biểu đồ bốicảnh dữ liệu (Diagramme de Contexte de Données): thể hiệncác
biên giớihạn giữahệ điềukhiểnvàmôi trường bên ngoài, thông qua việcxác
định các "entités" bên ngoài mà hệ điềukhiểncần phải giao tiếp/tương tác.
Hệ điềukhiển đượcthể hiệnbằng một "processus" duy nhất nhằm trưng bày
mục đích chính củanó (đó là một vòng tròn chứa đựng bên trong mộtnhãn
xác định vai trò trung tâm củahệ).
Các hệ thờigianthực–Phương pháp SA-RT
Ngô Khánh Hiếu
20
Phương pháp SA (Structured Analysis) (3/13)
Theo đó các dòng dữ liệucóchiều hướng vào "processus" trung tâm chính là
các dữ liệunhậncủahệ; còn các dòng dữ liệu đi ra từ "processus" trung tâm
chính là các dữ liệuxuất.
Khái niệm “dòng dữ liệu” trong phương pháp SA đượchiểu theo nghĩa rộng
hơn, nó có thể bao hàm tất cả kiểu "quá trình" (processus) tác động lên tất cả
các kiểu "đối tượng" (objet).
Mỗi dòng dữ liệu trong mộtbiểu đồ bốicảnh dữ liệu đượcth
ể hiệnbằng một
12
Các hệ thờigianthực–Phương pháp SA-RT
Ngô Khánh Hiếu
23
Phương pháp SA (Structured Analysis) (6/13)
Vì "processus" trung tâm trong biểu đồ bốicảnh dữ liệu (DCD) được đánh số
thứ tự là 0 (thông thường ta không ghi số thứ tự này trên "processus" trung
tâm), nên các "processus" trong biểu đồ DFD cấp 1 sẽ được đánh số là 1, 2,
3…; các "processus" trong các biểu đồ DFD ở cấp 2 sẽ được đánh số lần lượt
là 1.1, 1.2…, 2.1, 2.2…; và cứ thế.
Biểu đồ dòng dữ liệu
(DFD) cấp 1 củahệ
thống sưởibằng dầu
mazout
Các hệ thờigianthực–Phương pháp SA-RT
Ngô Khánh Hiếu
24
Phương pháp SA (Structured Analysis) (7/13)
Biểu đồ dòng dữ liệu
(DFD) cấp 2 củahệ
thống sưởibằng dầu
mazout
13
Các hệ thờigianthực–Phương pháp SA-RT
Ngô Khánh Hiếu
25
Phương pháp SA (Structured Analysis) (8/13)
- Tự điểndữ liệu (Dictionnaire de Données): tậphợp ý nghĩa (sémantique) và
cấu trúc (structure) củadữ liệu đượcthể hiện trong hệ. Nó cung cấp định nghĩa
chính xác củamỗi dòng dữ liệu, cũng như củatất cả vùng lưu trữ dữ liệu.
hoàn thiệnviệcmôtả chi tiết các "processus primitifs" của các DFD dướidạng
các định nghĩa, nhằm làm rõ việc hình thành các dòng dữ liệuxuất từ các dòng
dữ liệunhập. Trong PSPEC, ta có thể khai bào và dùng các biến cụcbộ để nối
kết các hàm lại với nhau. Đồng thời, đưa thêm các dòng chú giải để giúp hiểu
rõ hơn ứng xử (comportement) của các "processus primitifs" này.
Các hệ thờigianthực–Phương pháp SA-RT
Ngô Khánh Hiếu
28
Phương pháp SA (Structured Analysis) (11/13)
PSPEC của "Mesurer Température" trong hệ thống sưởibằng dầu mazout
15
Các hệ thờigianthực–Phương pháp SA-RT
Ngô Khánh Hiếu
29
Phương pháp SA (Structured Analysis) (12/13)
- SA là mộtphương pháp dựatrênmôhìnhcác"processus". Hệ điềukhiển được
chia làm hai phần: mộtphần bao gồm các dòng dữ liệu và các "processus", phần
còn lại bao gồm các "entités" tượng trưng cho các phần tử thựctế bên ngoài (biểu
đồ bốicảnh dữ liệu (DCD) cho ta thấy rõ nhận định này).
- Tậphợp các biểu đồ dòng dữ liệu (DFDs) cho ta một cái nhìn tĩnh về sự vận hành/
chức năng củahệ (fonctionnement statique du système) mà ở đó các "processus"
sẽ đượckíchhoạt bởi các dòng dữ liệu (flots de données) độclập, và gần như tức
thời (hypothèse synchrone).
- Khác vớiphương pháp JSP, phương pháp SA đưa ra cơ chế "trừu tượng hóa dữ
liệu" (le mécanisme d’abstraction de données). Các biểu đồ dòng dữ liệusắp xếp
theo cấp bậc được phân chia sao cho mỗi "processus" cha sẽ là một "mô hình
trừu tượng" của các "processus" con và dòng dữ liệucon của nó. Tuy vậy, khi sự
phân chia này cáng đạt đến cấp độ chi tiết hóa thì DFD có khả năng trở thành một
mạng lướikhổng lồ của các "processus" đượcnốikết bởi các dòng dữ
liệucủa
không có thể" (activant/désactivant) hoặc kích hoạt (déclenchant) các "processus"
chức năng thông qua các "événements" đã định trước.
▪ "Spécification" củaphương pháp SA-RT bao gồmmộtbiểu đồ bốicảnh dữ liệu
(diagramme de contexte de données), một nhóm các biểu đồ dòng dữ liệu/dòng điều
khiểnsắp xếp theo trậttự cấp bậc (diagrammes flots de données/flots de contrôle
hiérarchique), và mộtbiểu đồ chuyển đổitrạng thái (diagramme état-transition).
Các hệ thờigianthực–Phương pháp SA-RT
Ngô Khánh Hiếu
32
Phương pháp SA-RT (Structured Analysis for Real-Time Systems) (2/14)
Các phẩn tử trong các biểu đồ củaphương pháp SA-RT
▪ "Processus" điềukhiểnthể hiện tính logic củasự điềuphối các "processus" chức
năng. Các dòng điềukhiển (flots de contrôle) truyềntải các "événements" cho phép
quyết định trựctiếp hoặc gián tiếp việc tính toán của các "processus" biến đổidữ
liệu (processus de transformation de données). Vì vậy, các tín hiệu điềukhiểnluôn
là các giá trị rờirạc.
17
Các hệ thờigianthực–Phương pháp SA-RT
Ngô Khánh Hiếu
33
Phương pháp SA-RT (Structured Analysis for Real-Time Systems) (3/14)
▪ Giống như trong phương pháp SA, các biểu đồ dòng điềukhiển (DFDs) trong phương
pháp SA-RT đượctạo ra từ biểu đồ bốicảnh dữ liệu (DCD) theo quy tắc sau:
- Chỉ có duy nhất hoặc không có "processus" điềukhiểnnàoở cấp độ biểu đồ:
biểu đồ phân tích sơ bộ (diagramme préliminaire) hoặc biểu đồ phân chia
(diagramme de décomposition).
- Các dòng dữ liệu (flots de données) chỉ đượcxử lý trong các "processus
primitifs". Các dòng điềukhiểnchỉ trong các "processus de contrôle", chúng giữ
vai trò là giao diệngiữa "processus de contrôle" và các "processus" chức năng.
▪ Trong trường hợpbiểu đồ dòng dữ liệucóchứamột "processus de contrôle" thì để
"processus primitifs" tùy vào các điềukiện
dựa trên các dòng dữ liệu mà chúng nhận
đượcsẽ tạo ra các dòng điềukhiển(flots
d’événements). Các dòng này không xuất
hiệnnhư là các dòng xuất trong biểu đồ
dòng dữ liệu (DFD), mà ở bên trong
"processus de contrôle" tương ứng với
biểu đồ dòng điềukhiển (DFC). Điềunày
đồng thờidẫn
đến những hiệuchỉnh trong
việcmôtả các "processus primitifs" của
PSPEC, và việckiểm tra tính tương thích
các dòng nhập/xuất đòi hỏicần phải xem
xét cả biểu đồ DFD và biểu đồ DFC.
Các hệ thờigianthực–Phương pháp SA-RT
Ngô Khánh Hiếu
36
Phương pháp SA-RT (Structured Analysis for Real-Time Systems) (6/14)
Biểu đồ dòng điềukhiển (DFC) củahệ thống sưởibằng dầu mazout
19
Các hệ thờigianthực–Phương pháp SA-RT
Ngô Khánh Hiếu
37
Phương pháp SA-RT (Structured Analysis for Real-Time Systems) (7/14)
Biểu đồ phân tích sơ bộ SA-RT củahệ thống sưởibằng dầu mazout
Các hệ thờigianthực–Phương pháp SA-RT
Ngô Khánh Hiếu
38
Phương pháp SA-RT (Structured Analysis for Real-Time Systems) (8/14)
▪ Biểu đồ SA-RT sơ bộ (Diagramme préliminaire SA-RT) cho ta một cái nhìn rất rõ
hiện hành và các nhập trước đó.
▪ Trong mộtbiểu đồ chuyển đổitrạng thái, ta chỉ rõ tất cả các trạng thái củahệ trong
suốt quá trình hoạt động của nó. Các trạng thái sẽ đượcthể hiệnbằng các hình
chữ nhật cùng với nhãn là tên củatrạng thái đó. Ở mộtthời điểm, hệ thống phải
luôn đượcbảo đảm là nằm trong một trong số các trạng thái của nó. Sự chuyển đổi
từ tr
ạng thái hiện hành sang mộttrạng thái khác đượcdiễntả bằng mộtmũitênvới
chiềumũitên hướng về trạng thái sắp tới.
Các hệ thờigianthực–Phương pháp SA-RT
Ngô Khánh Hiếu
40
Phương pháp SA-RT (Structured Analysis for Real-Time Systems) (10/14)
▪ Các dữ kiện (événements) gây ra sự chuyển đổitrạng thái, cùng với các hành động
(actions) đượcthựchiện khi trạng thái mới đượcxáclập được ghi trựctiếp trên mũi
tên chuyển đổitrạng thái. Cả hai sẽ đượcngăn cách bằng một đường ngang như
hình minh họa dưới đây.
▪ Ở mộttrạng thái nếu "événements" gây ra
chuyển đổitrạng thái xuất hiệnthìhệ sẽ tiến
hành chuyển đổitrạng thái từ trạng thái hiện
hành sang trạng thái khác theo trình tự sau: (1)
chuyểntrạng thái hiệnhànhtừ chế độ ON sang
chế độ OFF; (2) chuyểntrạng thái sắp tớitừ
chế độ OFF sang chế độ ON; (3) thựchiệncác
"action" tương ứng cho sự chuyển đổitrạng
thái này.
21
Các hệ thờigianthực–Phương pháp SA-RT
Ngô Khánh Hiếu
41
Phương pháp SA-RT
Ngô Khánh Hiếu
43
Phương pháp SA-RT (Structured Analysis for Real-Time Systems) (13/14)
Ràng buộcvề thờigian đáp ứng nhập/xuất
Khi điềukiện chuyểntrạng thái đạt
được, gán thờigianvề giá trị 0
Các hệ thờigianthực–Phương pháp SA-RT
Ngô Khánh Hiếu
44
Phương pháp SA-RT (Structured Analysis for Real-Time Systems) (14/14)
▪ Trong trường hợpcáchệ điềukhiểnlớn, các hệ điềukhiểnhệ phứctạp thì việcthiết
lậpbiểu đồ chuyển đổitrạng thái củaphương pháp SA-RT có thể dẫn đến vấn đề
bùng nổ trạng thái (le problème de l’explosion des états) mà ở đó các biểu đồ
chuyển đổitrạng thái trở nên không phù hợp, thậm chí không thể, so vớimôtả động
của Statecharts hoặc mô tả
động dướidạng các bảng chuyển đổitrạng thái.
▪ Trường hợp có nhiều "événements" cùng xuất hiện đồng thời ở mộttrạng thái (mỗi
"événement" gây ra mộtsự chuyển đổitrạng thái từ trạng thái hiện hành), sự lựa
chọntrạng thái tiếp theo (hay "événement" trong số các "événements") là không xác
định (non-déterministe). Là mộtphương pháp phân tích nên SA-RT không đưa ra
một cơ chế nào để giải quyết vấn đề "non-déterministe".
▪ Sự liên kết giữa "processus de contrôle" với các "processus fonctionnels" trong SA-
RT là liên kết "synchrone faiblement couplée" đượcthựchiện thông qua các dòng
điềukhiển (flots d’événement). Tuy nhiên, giao tiếp "synchrone fortement couplée"
giữa các "processus fonctionnels" có thể đượcthựchiệnbằng các dòng dữ liệurời
rạc (flots de données discrets).
23
Các hệ thờigianthực–Phương pháp SA-RT
Ngô Khánh Hiếu
45
túi nướcnằm trong khoảng cho phép.
- 1 giao diệnngườisự dụng giúp hiểnthị các
thông số, các cảnh báo, các tình huống
khẩ
n cấp đến ngườigiámsát.
24
Các hệ thờigianthực–Phương pháp SA-RT
Ngô Khánh Hiếu
47
Ứng dụng phương pháp SA-RT (3/4)
Hệ thống an toàn củamỏ khoáng sản (3/4)
Việc khai thác mỏ bắt buộcphải đượctiến hành trong điều
kiện an toàn cao nhất. Do đó, trong suốt quá trình vận hành,
hệ thống an toàn phải đảm bảo các nguyên tắc cơ bản sau:
- Nguyên tắc 1: bơm phải đảm bảo chỉ đượchoạt động khi
mực nước trong túi nước vượt quá giá trị cao nhất cho phép
(LS > HLS), và nó sẽ ngưng hoạt động ngay khi mực nước
xuống dướigiátr
ị thấp nhất cho phép (LS < LLS).
- Nguyên tắc 2: hệ thống báo động nguy hiểmphải đượckíchhoạt ngay khi hệ phát
hiệnra nồng độ méthane đã đạt mứcgiớihạn chophép(giátrị giớihạn này đượcgọi
là MS_L1), nhằm có thể tiến hành các hoạt động sơ tán trong trường hợpkhẩn.
- Nguyên tắc 3: bơm bắt buộcphải ngắt khi nồng độ méthane trong không khí vượt
quá giá trị gi
ớihạn cao nhất cho phép (đượcgọilà MS_L2) nhằm tránh nguy cơ hầm
mỏ phát nổ.
Các hệ thờigianthực–Phương pháp SA-RT
Ngô Khánh Hiếu
48
Ứng dụng phương pháp SA-RT (4/4)