Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 24 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
24
Dung lượng
702,29 KB
Nội dung
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ươngphápSA-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ươngphápSA-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ươngphá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ươngphápSA-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ápSA-RT với cácphươngphá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ươngphápSA-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ápSA-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ươngphá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ápSA-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ươngphápSA-RT (3/3)
▪ Cùng dựatrênnềntản này, ta có thể liệtkêmộtsố phươngpháp phân tích-thiết kế
trướcphương phápSA-RT như phươngpháp JSD (Jackson System Development),
phương pháp SA-DT (Structured Analysis Design Technics), phươngpháp SD
(Structured Design), và phươngphá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ươngphá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ươngphá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ươngphá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ươngphá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ươngphá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ươngphá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ươngphá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ươngphá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ươngphá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ờigian 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ươngpháp thiết kế khác, tiêu biểulà phươngphá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ươngphá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ươngphá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ươngphá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ươngphá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.
[...]... 43 Các hệthờigianthực – PhươngphápSA-RTPhươngphápSA-RT (Structured Analysis for Real-Time Systems) (13/14) Ràng buộc về thờigian đáp ứng nhập/xuất Khi điều kiện chuyển trạng thái đạt được, gán thờigian về giá trị 0 Ngô Khánh Hiếu Cáchệthờigianthực–PhươngphápSA-RT 44 PhươngphápSA-RT (Structured Analysis for Real-Time Systems) (14/14) ▪ Trong trường hợp cáchệ điều khiển lớn, các hệ. .. 2.2…; và cứ thế Biểu đồ dòng dữ liệu (DFD) cấp 1 của hệ thống sưởi bằng dầu mazout Ngô Khánh Hiếu 24 Cáchệthờigianthực–PhươngphápSA-RTPhươngpháp SA (Structured Analysis) (7/13) Biểu đồ dòng dữ liệu (DFD) cấp 2 của hệ thống sưởi bằng dầu mazout Ngô Khánh Hiếu 12 25 Cáchệthờigianthực–PhươngphápSA-RTPhươngpháp SA (Structured Analysis) (8/13) - Tự điển dữ liệu (Dictionnaire de Données):.. .Các hệthờigianthực–PhươngphápSA-RT 21 Phươngpháp SA (Structured Analysis) (4/13) Biểu đồ bối cảnh dữ liệu (DCD) của hệ thống sưởi bằng dầu mazout Ngô Khánh Hiếu Cáchệthờigianthực–PhươngphápSA-RT 22 Phươngphá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ệu nhập/xuất trong... việc kiểm tra tính tương thích các dòng nhập/xuất đòi hỏi cần phải xem xét cả biểu đồ DFD và biểu đồ DFC Ngô Khánh Hiếu Cáchệthờigianthực–PhươngphápSA-RT 36 PhươngphápSA-RT (Structured Analysis for Real-Time Systems) (6/14) Biểu đồ dòng điều khiển (DFC) của hệ thống sưởi bằng dầu mazout Ngô Khánh Hiếu 18 Các hệthờigianthực – PhươngphápSA-RT 37 PhươngphápSA-RT (Structured Analysis for... làm cho phươngphápSA-RT thích ứng hơn với các yêu cầu của hệ điều khiển hoặc hệthờigianthực ▪ Các biểu đồ chuyển đổi trạng thái của phươngphápSA-RT cho phép tả mô tả cụ thể khía cạnh ứng xử của hệ một cách "động" (une manière dynamique) so với cácphươngpháp SA, JSP… Hơn nữa, việc thể hiện các ràng buộc về thờigian có thể được lồng vào trong biểu đồ chuyển đổi trạng thái ở dạng thờigian đáp... trong hệ thống sưởi bằng dầu mazout Ngô Khánh Hiếu 14 Các hệthờigianthực – PhươngphápSA-RT 29 Phươngpháp SA (Structured Analysis) (12/13) - SA là một phươngpháp dựa trên mô hình các "processus" Hệ điều khiển được chia làm hai phần: một phầ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ực tế bên ngoài (biểu đồ bối cảnh dữ liệu (DCD)... trạng thái SA-RT của processus de contrôle "Contrôle Chauffage" của hệ thống sưởi bằng dầu mazout Ngô Khánh Hiếu Các hệthờigianthực – PhươngphápSA-RT 42 PhươngphápSA-RT (Structured Analysis for Real-Time Systems) (12/14) ▪ SA-RT là một phươngphá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ủa hệ ta không chỉ thấy các "processus... "processus" biến đổi dữ liệu (processus de transformation de données) Vì vậy, các tín hiệu điều khiển luôn là các giá trị rời rạc Ngô Khánh Hiếu 16 33 Các hệthờigianthực – PhươngphápSA-RTPhươngphápSA-RT (Structured Analysis for Real-Time Systems) (3/14) ▪ Giống như trong phươngpháp SA, các biểu đồ dòng điều khiển (DFDs) trong phươngphápSA-RT được tạo ra từ biểu đồ bối cảnh dữ liệu (DCD) theo quy... từ một nhóm các dòng dữ liệu nguyên bản Ngô Khánh Hiếu Cáchệthờigianthực–PhươngphápSA-RT 26 Phươngphá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ệu hoặc liên tục, hoặc rời rạc Các thuộc tính của các dòng liên tục thường chỉ bao gồm một ít sự diễn giải (définition) về dữ liệu, và đơn vị sử dụng (unité) Riêng các dòng rời... của các DFD dưới dạng các định nghĩa, nhằm làm rõ việc hình thành các dòng dữ liệu xuất từ các dòng dữ liệu nhập Trong PSPEC, ta có thể khai bào và dùng các biến cục bộ để 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 Ngô Khánh Hiếu Cáchệthờigianthực–PhươngphápSA-RT 28 Phươngpháp SA (Structured Analysis) . 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. 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ô