Tải bản đầy đủ (.pdf) (24 trang)

Tài liệu Các hệ thời gian thực – Phương pháp SA-RT pdf

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (702.29 KB, 24 trang )

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


đượcsự triển khai và mở rộng củaphương pháp SA-RT.
▪ Nềntản củaphương pháp SA-RT là phân chia theo cấu trúc (Structuration), và sự
mô tả dướidạng các dòng dữ liệu (flots de données), các dòng điềukhiển (flots de
contrôle). Nhờ đó, hệ điềukhiểnsẽ được phân tích thành từng phần tử (éléments)
hoặc nhóm các phần tử theo chức năng (blocs fonctionnels) ứng vớimỗi cấp độ
phân tích (nói một cách khác, hệ là mộtsự phân tích theo thứ tự cấp bậc có liên
kết giữacáccấp độ phân tích khác nhau – décomposition hiérarchique cohérente
entre les différents niveaux d’analyse); sự
vận hành củahệ sẽ đượcthể hiệnbởi
sự truyền các dòng dữ liệu/dòng điềukhiển.
Các hệ thờigianthực–Phương pháp SA-RT
Ngô Khánh Hiếu
4
Tổng quan về phương pháp SA-RT (3/3)
▪ Cùng dựatrênnềntản này, ta có thể liệtkêmộtsố phương pháp phân tích-thiết kế
trướcphương pháp SA-RT như phương pháp JSD (Jackson System Development),
phương pháp SA-DT (Structured Analysis Design Technics), phương pháp SD
(Structured Design), và phương pháp SA (Structured Analysis).
3
Các hệ thờigianthực–Phương pháp SA-RT
Ngô Khánh Hiếu
5
Phương pháp JSD (Jackson System Development) (1/9)
▪ JSD là phương pháp phân tích và phát triểnhệ điềukhiển hướng đối tượng do
Michael A. Jackson và John Comeron xây đựng năm 1983.
▪ Nềntản cơ bản củaphương pháp JSD là sự mô phỏng/thể hiện "cái thực" củahệ
điềukhiển trướckhi khảo sát tính năng củanó.
▪ Các "entités", tượng trưng bởi các hình chữ nhật, được dùng để thể hiệncác đối
tượng thựccủahệ. "Entité composite" là "entité" có thể phân chia thành mộthay
nhiều "entité" thành phần. Các dữ liệu (événements) đượcthể hiệnbằng các

đườ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

lựachọn
Cấu trúc lặp
Các hệ thờigianthực–Phương pháp SA-RT
Ngô Khánh Hiếu
8
Phương pháp JSD (Jackson System Development) (4/9)
Mô hình "tâche" JSP củahệ thống sưởibằng dầu mazout
▪ Từ sơ đồ cấu trúc "entité" việc phân chia thành các "tâches" sẽ đượctiến hành sao
cho mỗi "entité" sẽ tương ứng vớimột "tâche" cùng vớiduynhất các biến đầu vào
của nó.
Tâche tương ứng với entité
"Contrôle Chauffage"
5
Các hệ thờigianthực–Phương pháp SA-RT
Ngô Khánh Hiếu
9
Phương pháp JSD (Jackson System Development) (5/9)
▪ Tiếp theo, sự liên lạc/giao tiếp giữa các "tâches" sẽ được định nghĩa. Có hai hình
thứcgiaotiếp chính trong phương pháp JSP:
- Giao tiếp bằng dòng dữ liệu (Communication par flots de données): được đặc
trưng bằng một vòng tròn, đây là hình thứcgiaotiếp giữa "tâche" cho (tâche
productrice) và "tâche" nhận (tâche consommatrice) mà ở đó "tâche" cho gởi
mộtdữ liệu đến "tâche" nhận.
- Giao tiếp bằng vecteur trạng thái (L’inspection d’un vecteur-état): được đặc
trưng bằng mộtbiểu tượng hình kim cương, đây là hình thứcgiaotiếp giữacác
"tâches" mà ở đó việccậpnhật vecteur trạng thái chỉ có thể đượcthựchiệnbởi
"tâche" nắm giữ vecteur trạng thái đó, trong khi đó các "tâches" còn lại chỉ có
thể đọ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

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

Phương pháp JSD (Jackson System Development) (8/9)
Mô hình triển khai dựatrên"chương trình ngược" củahệ thống sưởibằng dầu mazout
7
Các hệ thờigianthực–Phương pháp SA-RT
Ngô Khánh Hiếu
13
Phương pháp JSD (Jackson System Development) (9/9)
▪ Mộtsố nhậnxétvề phương pháp JSD:
- đây là mộtphương pháp phân tích và thiết kế hướng đối tượng nên việcxác
định chính xác các đối tượng cần cho hệở giai đoạn đầu sẽ có ảnh hưởng rất
nhiều đến kết quả thiết kế. Mộtsự thay đổinhỏ các đối tượng thựccủahệở
giai đoạn phân tích ban đầu sẽ dẫn đến việchiệuchỉnh rất vất vả và mất nhiề
u
thờigianở mô hình các "tâches JSP",
- sự thể hiệndữ liệudạng tuần tự trong sơ đồ giao tiếp các "tâches JSP" là
chưa đủ để có thể mô tả chính xác và hiệuquả khía cạnh động củahệ. Thêm
nữa, JSP không đưa ra bất kỳ hướng dẫn nào để mô tả cấu trúc bên trong
"tâche". Do đó, sự phân biệtgiữa "tâche" và "fonction" trong sơ đồ giao tiếp
các "tâches JSP" là không rõ ràng,
- cáckýhiệumàphương pháp JSD đưa ra cho các "tâches" không cho phép
phân biệt "tâche" nào là "tâche" có chu kỳ đượckíchhoạt bởicác đồng hồ…;
"tâche" nào là "tâche" không có chu kỳ đượckíchhoạt bởi "tâche" khác.
Các hệ thờigianthực–Phương pháp SA-RT
Ngô Khánh Hiếu
14
Phương pháp SD (Structured Design) (1/4)
▪ SD là phương pháp triển khai được dùng cho giai đoạn triển khai (Implémentation)
trong vòng phát triểncủahệ điềukhiển.
▪ Nềntản củaphương pháp SD dựa trên ý tưởng của M. Constantine năm 1979, khi
đó ông đã đưa ra nhận định rằng: "các hệ điềukhiểnsẽ dễ dàng triểnkhaivàthay

đổ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

sẽ đượctriển khai trong phương pháp SD bằng việcgọi các hàm, hoặc việcgởi
các lệnh điềukhiển được liên kết vớimột module từ một module khác.
Đồ thị cấu trúc SD củahệ thống sưởibằng dầu mazout
9
Các hệ thờigianthực–Phương pháp SA-RT
Ngô Khánh Hiếu
17
Phương pháp SD (Structured Design) (4/4)
▪ Phương pháp SD chứng tỏ cho ta thấy làm thế nào mộtvấn đề liên quan đến tính
song song và đồng thờilại có thể đượcgiải quyết bằng mộtphương pháp thiết kế
không hỗ trợ sự song song (une méthode de conception sans concurrence).
▪ Mặc dù việc ứng dụng phương pháp SD cho việc phát triểnhệ điềukhiểnlà bổ ích,
nhưng SD lại hạn chế tính song song, nhất là các đặc tính về thời gian nên việc
ứng dụng nó đốivớisự phát triểnhêthờigianthựctỏ ra không thích hợpsovới
các phương pháp thiết kế khác, tiêu biểulà phương pháp DARTS của Gomaa.
Các hệ thờigianthực–Phương pháp SA-RT
Ngô Khánh Hiếu
18
Phương pháp SA (Structured Analysis) (1/13)
▪ SA là phương pháp phân tích do Tom Demarco đưa ra đầu tiên năm 1978, sau đó
được E. Yourdon hoàn thiện năm 1979.
▪ SA phát triểndựatrênnềntản là sự phân tích cấu trúc hóa (analyse structurée) của
hệ điềukhiển. Qua đó, hệ đượcmôtả dướihìnhthức các "quá trình chức năng"
(processus fonctionnels) mộtcách độclậpvớigiai đoạn triển khai (Implémentation)
trong vòng phát triểncủa nó.
▪ Trong phương pháp SA, ta phân chia hệ thành tậphợp các biểu đồ dòng dữ liệu
đượcsắp xếp có thứ bậc (un ensemble de diagrammes flots de données
hiérarchiques), nhờ đó chophépthể hiệntừng bướcsự hình thành các dòng dữ
liệuxuất (flots de données de sortie) từ các dòng dữ liệunhập (flots de données
d’entrée). Sự chuyển đổi các dòng dữ liệu này tiến hành trên các "processus

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

mũi tên cùng với tên dùng để diễn đạt dữ liệu theo cách tổng quát.
Tất cả các dữ liệunhận/xuất củahệ đều đượcthể hiệntrênbiểu đồ bốicảnh
dữ liệubằng các dòng dữ liệu, chúng cũng chính là các giao diệngiữa
"processus" trung tâm với các "entités" bên ngoài.
11
Các hệ thờigianthực–Phương pháp SA-RT
Ngô Khánh Hiếu
21
Phương pháp SA (Structured Analysis) (4/13)
Biểu đồ bốicảnh dữ liệu (DCD) 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
22
Phương pháp SA (Structured Analysis) (5/13)
- Biểu đồ dòng dữ liệu (Diagramme de Flots de Données): phân tích "processus"
trung tâm duy nhất và các dòng dữ liệunhập/xuất trong biểu đồ bốicảnh dữ
liệu (DCD) thành các "sous-processus" và các dòng dữ liệunhập/xuất con
(sous-flots) nhằm mục đích chi tiết hóa chức năng củahệ.
Biểu đồ DFD chỉ chứa các "processus", các dòng dữ liệu, và các vùng lưu trữ
(zones de stockage). Trong đó, cáckýhiệucủa "processus" và dòng dữ liệu
thì giống như trong biểu đồ DCD, còn vùng lưu trữ thì đượckýhiệubởihai
đường thẳng song song và một tên riêng
ở giữa để chỉ tên củadữ liệu được
lưu trữ (nó rất giống với khái niệm "vecteur" trạng thái củaphương pháp JSP).
Ở mộtcấp độ xác định, tấtcả các biểu đồ DFD cùng cấp hoặc ở cấp độ sâu
hơn, đều là "con" của "processus" ở cấp độ cao hơn kế cận chúng.
Ở mỗicấp độ trong biểu đồ DFD, tấtcả các "processus" đều được gán một
thuộc tính là tên, dùng để mô tả chức năng của nó, cùng vớimộtsố thứ tự
đượchìnhthànhtừ hai số: mộtcủa "processus" cha, mộtlà số thứ tự củanó
trong biểu đồ DFD ở cấp đó.

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.

Trong các biểu đồ DFD,
các dòng dữ liệuthuộc
một trong hai kiểu cơ bản
sau: dòng dữ liệu nguyên
bản (flot primitif), là dòng
dữ liệuchỉ chứa các giá
trị nộitại và các thuộc
tính của nó; dòng dữ liệu
không nguyên bản (flot
non primitif), là dòng dữ
liệu được hình thành từ
một nhóm các dòng dữ
liệunguyênbản.
Các hệ thờigianthực–Phương pháp SA-RT
Ngô Khánh Hiếu
26
Phương pháp SA (Structured Analysis) (9/13)
Các dòng dữ liệu nguyên bản (flots primitifs) trong các biểu đồ DFD là các dòng
dữ liệuhoặc liên tục, hoặc rờirạc. Các thuộc tính của các dòng liên tục thường
chỉ bao gồmmộtítsự diễngiải (définition) về dữ liệu, và đơn vị sử dụng (unité).
Riêng các dòng rờirạc thì có thêm mộtthuộc tính nữa đó là tên gọicủa các giá
trị của nó. Tuy vậy, còn mộtsố thuộc tính nữa không thuộcphần "spécification",
nhưng đượ
c gán để cho phần "conception" như tần số củadữ liệu…
14
Các hệ thờigianthực–Phương pháp SA-RT
Ngô Khánh Hiếu
27
Phương pháp SA (Structured Analysis) (10/13)
- Sự mô tả ngắn gọn cho "processus" (Mini-Spécification de Processus, PSPEC):

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

chúng. Ta gọihiện tượng này là "hiện tượng bùng nổ dòng dữ liệu".
Các hệ thờigianthực–Phương pháp SA-RT
Ngô Khánh Hiếu
30
Phương pháp SA (Structured Analysis) (13/13)
- Thựctế cho thấy đốivớicáchệ lớn, việcápdụng mô hình "processus" của
phương pháp SA sẽ làm cho việcmôtả hệ trở nên rất phứctạp, thậm chí là không
thể. Và trong những trường hợpnhư vậy, việcmôtả bằng đặc tính động tỏ bằng
các biểu đồ trạng thái (diagramme état-transition) hoặc các biểu đồ "statecharts" tỏ
ra thích hợp hơn.
- Lưu trữ dữ liệu (stockage de données) là mộtdạng triển khai khác của vùng lưu
trữ dữ liệumà ta đã gặp ở phương pháp JSP với các "vecteur" trạng thái: dữ liệu
lưu trữ có thể đươc đọcrất nhiềulần bởi các "processus" nhậnchotới khi nó
đượccậpnhậtbằng mộtdữ liệumớitừ "processus" gởi.
- Phương pháp SA chỉ hướng đến việcxác định các yêu cầu trong giai đoạn
"spécification" của vòng phát triểncủahệ điềukhiển. Nó không phải là mộtphương
pháp dành cho giai đoạn thiết kế (conception) và triển khai (implémentation).
16
Các hệ thờigianthực–Phương pháp SA-RT
Ngô Khánh Hiếu
31
Phương pháp SA-RT (Structured Analysis for Real-Time Systems) (1/14)
▪ Nhằm khắc phục các nhược điểmcủaphương pháp SA, Ward và Mellor năm
1986; Hatley và Pirbhai năm 1987 đã đưa ra hai phiên bản khác nhau củaphương
pháp SA-RT (Structured Analysis for Real-time Systems), mộtphương pháp
"spécification" được phát triểndựatrênmôhình"processus" củaphương pháp SA.
▪ Nguyên tắc củaphương pháp SA-RT là trước tiên phân chia hệ điềukhiển thành
các "processus" chức năng (processus fonctionnels), và mô tả sự trao đổi thông tin
dướidạng các dòng dữ liệu. Sau đó, một "processus" điềukhiển (processus de
contrôle) giữ vai trò là "nhạc trưởng" (chief d’orchestre) bằng cách làm "có thể/

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ì để

có thể hiểu được đầy đủ biểu đồ dòng dữ liệunàynhất thiết phải có mộtsự mô tả
của "processus de contrôle", đượcgọi là CSPEC.
Các hệ thờigianthực–Phương pháp SA-RT
Ngô Khánh Hiếu
34
Phương pháp SA-RT (Structured Analysis for Real-Time Systems) (4/14)
▪ CSPEC thể hiệnkhíacạnh ứng xử
của ứng dụng. Vai trò củanó trước
hết cũng giống như PSPEC: làm thế
nào các "xuất" đượctạo ra từ các
"nhập". Điểm khác nhau là cách mà
chúng tác động, và vai trò của
chúng trong cấu trúc tổng thể của
hệ điềukhiển. CSPEC bảo đảm sự
liên kết giữabiểu đồ dòng điều
khiển (DFC) vớibiểu đồ dòng dữ
liệ
u (DFD).
Mô hình các yêu cầu củaphương pháp SA-RT
▪ Mô hình các yêu cầu của SA-RT có
thể xem như là một vòng lặp có hiệu
lựcvề trước (boucle de rétroaction/
feedback).
18
Các hệ thờigianthực–Phương pháp SA-RT
Ngô Khánh Hiếu
35
Phương pháp SA-RT (Structured Analysis for Real-Time Systems) (5/14)
▪ Trong mộtbiểu đồ dòng dữ liệu ứng với
mộtcấp độ phân tích xác định, các

"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õ

về sự gắn kết giữamôhình điềukhiển (modèle de contrôle) với mô hình các quá
trình (modèle des processus) ở giai đoạn xác định các yêu cầu củahệ.
"Le processus de contrôle, appelé «Contrôle Chauffage», est le contrôleur du système. Il dirige le
fonctionnement de tous les processus fonctionnels grâce à des flots d’événement appropriés. Donc
les processus d’acquisition sont activés ou désactivés par des événements «Enable/Disable» (ou
E/D), et les processus de commande sont déclenchés par des événements «Trigger» (ou T).
D’autre part chacun des processus d’acquisition après qu’il scrute l’état du bord des appareils de
chauffage, envoie un flot d’événement au contrôleur. Selon ces flots d’événement, la CSPEC du
«Contrôle Chauffage» va modifier la réponse de processus de données en accord avec les
conditions passées et présentes à l’intérieur et à l’extérieur du système. C’est-à-dire l’automate de
«Contrôle Chauffage». Les stockages de données qui font des interfaces entre des processus
primitifs dans le DFD de la méthode SA, sont remplacés par les conditions sur les données vers le
processus de contrôle «Contrôle Chauffage». Un stockage d’événements, nommé
«Différence_Temp», est utilisé. Ce stockage permet de mémoriser un événement généré par le
processus «Calcul Différence» de façon à ce que son occurrence soit utilisée plusieurs fois par le
contrôleur. Dans ce cas-là, en fonction de la différence entre «T_Courante» et «T_Désirée»,
l’événement stocké dans ce stockage sera soit «Trop Haute», soit «Trop Basse»."
20
Các hệ thờigianthực–Phương pháp SA-RT
Ngô Khánh Hiếu
39
Phương pháp SA-RT (Structured Analysis for Real-Time Systems) (9/14)
▪ Từ biểu đồ SA-RT sơ bộ (Diagramme préliminaire SA-RT) ta thấy cái còn thiếu là
mộtmôtả "đặc tính" điềukhiểncủa "processus de contrôle" (đó chính là processus
de contrôle: Contrôle Chauffage trong biểu đồ SA-RT sơ bộ). Việcmôtả này trong
phương pháp SA-RT sẽ đượcthựchiện thông qua biểu đồ chuyển đổitrạng thái
(Diagramme Etat-Transition hoặc State-Transition Diagram).
▪ Biểu đồ chuyển đổitrạng thái là mộtdạng thể hiệnrất quen thuộccủamột
"machine séquentielle" (mô hình tự hành tuần tự), có thể đượchiểulà mộtmôhình
củacáctrạng thái mà ở đó các xuất (sorties) đượcxác định dựavàocả các nhập

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

(Structured Analysis
for Real-Time Systems)
(11/14)
Biểu đồ biến đổitrạng
thái SA-RT của
processus de contrôle
"Contrôle Chauffage"
củahệ thống sưởi
bằng dầu mazout
Các hệ thờigianthực–Phương pháp SA-RT
Ngô Khánh Hiếu
42
Phương pháp SA-RT (Structured Analysis for Real-Time Systems) (12/14)
▪ SA-RT là mộtphương pháp phân tích hệ dựa trên khái niệm "tương tác" (concept de
la rétroaction). Vì vậy, trong mô hình các yêu cầu SA-RT củahệ ta không chỉ thấy
các "processus primitifs" mà còn thấy cách mà các "processus primitifs" này tạo ra
các phản ứng được điềukhiểnnhờ vào một "processus de contrôle" tùy vào các
điềukiện trướcvàhiệntại ở bên trong và ở bên ngoài củahệ. Do đó, nếu ở phương
pháp SA, các "processus fonctionnels" trong biểu đồ dòng dữ liệu (DFD) đượckích
hoạt thông qua các dòng dữ liệucủa chúng, thì cách mà các "processus
fonctionnels" đượckíchhoạt b
ằng các dữ kiện "événements" làm cho phương pháp
SA-RT thích ứng hơn vớicácyêucầu củahệ điềukhiểnhoặc hệ thờigianthực.
▪ Các biểu đồ chuyển đổitrạng thái củaphương pháp SA-RT cho phép tả mô tả cụ
thể khía cạnh ứng xử củahệ một cách "động" (une manière dynamique) so vớicác
phương pháp SA, JSP… Hơn nữa, việcthể hiện các ràng buộcvề thờigiancóthể
đượclồng vào trong biểu đồ chuyển đổitrạng thái ở dạng thời gian đáp ứng nhập-
xuất (la forme de temps de réponse entrée-sortie).
22
Các hệ thờigianthực–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

Ứng dụng phương pháp SA-RT (1/4)
Hệ thống an toàn củamỏ khoáng sản (1/4)
Khía cạnh an toàn là mộtvấn đề rất quan trọng trong việc khai thác mỏ khoáng sản
nằm dưới lòng đất vớisự hiệndiệncủa con người. Trong ví dụ này, phạm vi khảo sát
đượcgiớihạn ở hệ thống bảo đảm an toàn liên quan chủ yếu đến sự điềukhiểncủa
hai dòng lưu chất:
- Nước: lượng nướctừ các nguồnsuối/nướcngầm sẽ đượcdẫn ra ngoài thông qua
tổ hợpcácống dẫn tập trung về một nơi, đượcgọi là "túi nước" (puisard). Mực
nước trong "puisard" sẽ liên tục đượckiểm soát nhờ vào các bơm để giữ cho nó
luôn nằm trong khoảng 2 mứcgiátrị cho phép (mực nướcthấp, mực nước cao).
- Không khí: việc thông gió cho hầm mỏ đượcthựchiệnliêntục trong quá trình khai
thác do rất có thể xảy ra các trường hợptiếp cậnvớ
i các túi gaz như khí méthane.
Các khí gaz này rất độc nên giải pháp tốtnhất là tiến hành sơ tán ra khỏikhuvực
có túi khí bị vỡ hoặc cả hầm mỏ (lưu ý rằng ta không biết trước đượcthể tích túi
khí gaz là bao nhiêu). Mặc khác, khi nồng độ khí méthane tăng cao, bắt buộcphải
tắt/ ngưng tất cả sự khai thác/sản xuất có phát tia lửanhư động cơ…
Các hệ thờigianthực–Phương pháp SA-RT
Ngô Khánh Hiếu
46
Ứng dụng phương pháp SA-RT (2/4)
Hệ thống an toàn củamỏ khoáng sản (2/4)
Hệ điềukhiểnsẽ bao gồmcácphần tử sau:
-1 cảm biến (analog) mực nướcvới hai giá
trị tớihạn: mực nướcthấp (LLS, Low Level
Sensor), và mực nước cao (HLS, High
Level Sensor).
-1 cảm biến (analog) nồng độ khí méthane
trong không khí.
-1 bơm dùng để điềuchỉnh mực nước trong

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)

Hệ thống an toàn củamỏ khoáng sản (4/4)
(1) Thiết lậpbiểu đồ bốicảnh dữ liệu SA-RT cho hệ thống
an toàn mỏ khoáng sản, với quá trình chính có tên gọi
là "Điềukhiển an toàn mỏ", các đối tượng bên ngoài là
"Cảm biến mực nước", "Cảm biến méthane", "Bơm",
và "Cảnh báo".
(2) Từ biểu đồ bốicảnh dữ liệu ở câu (1), hãy thiết lập
biểu đồ dòng dữ liệu SA-RT, và biểu đồ chuyển đổi
trạ
ng thái cho hệ thống an toàn mỏ khoáng sản.
(3) Để người điềukhiểncóthể quan sát đượccáctrạng thái hiện hành củahệ
thống an toàn mỏ, ta thêm vào một đối tượng có tên gọilà "Hiểnthị trạng thái"
vào sơ đồ bốicảnh dữ liệu ở câu (1), hãy đưa ra sơ đồ dòng dữ liệu SA-RT
củahệ thống an toàn mỏ trong trường hợpnày.

×