Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 13 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
13
Dung lượng
615,73 KB
Nội dung
1
1
Ngô Khánh Hiếu
Các hệ thờigianthực–Phương pháp DARTS
2
Ngô Khánh Hiếu
Các hệ thờigianthực–Phương pháp DARTS
Tổng quan về phươngphápDARTS (1/2)
-Hệ thờigianthực (hay hệ điềukhiển) là hệ mà ở đó nhiều"hoạt động"
(activités) có thể đượcthựchiện đồng thời/song song. Do mỗi "hoạt động" có
thể đượcthể hiệnbằng một "tâche" độclậphoặc một "tâche" có mối quan hệ
trướcsauvớimộthoặc nhiều "tâche(s)" khác, nên phươngpháp thiết kế phải
có khả năng tạo ra từ kết qu
ả củaquátrìnhphântíchmôhìnhcác"tâches"
củahệ thờigianthựcvớicáccôngcụ giúp giải quyết các vấn đề về sự quan
hệ giữa các "tâches".
- Là mộtphương pháp được đưa ra bởi Hassan Gomaa, phương pháp
DARTS (Design Approach for Real-Time Systems) là mộtphương pháp thiết
kế cáchệ thờigianthực(cáchệ điềukhiển): nó cung cấp mộttrìnhtự giúp
cấu trúc hệ thờigianthực thành các "tâches" song song, cũng như một cơ
chế cho phép định nghĩ
a mối quan hệ giữa các "tâches".
2
3
Ngô Khánh Hiếu
Các hệ thờigianthực–Phương pháp DARTS
Tổng quan về phươngphápDARTS (2/2)
-Kýhiệucủacácphần tử trong các biểu đồ DARTS:
4
Ngô Khánh Hiếu
Các hệ thờigianthực–Phương pháp DARTS
Mộtsố khái niệm trong phươngphápDARTS (1/4)
- Tâche: trong mộtbiểu đồ DARTS, mỗi "tâche" đượcthể hiệnbằng mộthình
bình hành. Nó có thể là một trong hai loại sau:
Tâche cứng (Tâche matérielle)
: đây là một "tâche" có chu
kỳ (đượckíchhoạt bởimột đồng hồ thờigianthực, Horloge
temps réel – HTR), hoặc là một"tâche" khôngcóchu kỳ
(đượckíchhoạt bởingắt, Interruption, hoặc bởi "Chien-de-
garde" hay "Watch-dog").
Tâche mềm (Tâche logicielle)
: đượchiểu là "tâche" mà sự
vận hành củanó đượckíchhoạt bởimột "tâche" khác (có
thể là một "tâche" cứng hoặc một "tâche" mềmkhác).
"Tâche" mềm sẽ hưởng "rythme" (xung, nhịp) của tâche
kích hoạt nó.
3
5
Ngô Khánh Hiếu
Các hệ thờigianthực–Phương pháp DARTS
Mộtsố khái niệm trong phươngphápDARTS (2/4)
- Synchronisation: đây là mối quan hệ trước sau (không có sự trao đổidữ
liệu) giữa hai "tâches", đượcgọilần lượt là "tâche émetteur" và "tâche
récepteur". Trong mối quan hệ này, "tâche émetteur" là "tâche" tạo ra dữ kiện
(événement) để kích hoạt sự vậnhànhcủa "tâche récepteur", trong khi đó
"tâche récepteur" lúc đầu sẽ ở trạng thái nghỉ cho đến khi dữ kiệnkíchhoạt
nó đượctạo ra từ "tâche émetteur".
Synchronisation giữa hai tâches
Có rất nhiềucôngcụ cho phép triểnkhai
mối quan hệ synchronisation, trong số
này hai công cụ tiêu biểu thường thấy
là: Sémaphore và Evénement.
DARTS không cho phép phân biệtgiữa
trường hợpcónhớ (mémorisation) và
không có nhớ (non mémorisation) đối
với Evénement.
6
Ngô Khánh Hiếu
Các hệ thờigianthực–Phương pháp DARTS
Mộtsố khái niệm trong phươngphápDARTS (3/4)
- Communication synchrone: đây là mối quan hệ trướcsau(cósự trao đổi
dữ liệu) giữa hai "tâches", đượcgọilần lượt là "tâche producteur" và "tâche
consommateur". Trong mối quan hệ này, "tâche producteur" là tạora vàgởi
mộtdữ liệu (message) đến "tâche consommateur" để kích hoạt "tâche" này.
Trong khi đó "tâche consommateur" sẽ "synchrone" với "rythme" của "tâche
producteur".
Trong phươngpháp DARTS, mối quan hệ communication synchrone có thể
là một trong các kiểu sau:
+ Communication synchrone faiblement couplée
+ Communication synchrone faiblement couplée à écrasement
+ Communication synchrone fortement couplée
+ Communication synchrone faiblement couplée à prioríté
+ Communication synchrone faiblement couplée multiple de type OU
4
7
Ngô Khánh Hiếu
Các hệ thờigianthực–Phương pháp DARTS
Mộtsố khái niệm trong phươngphápDARTS (4/4)
- Communication asynchrone: đây là mộtdạng mối quan hệ communication
mà ở đó "rythmes" của "tâche producteur" và "rythmes" của "tâche
consommateur" được bảo toàn.
Kiểu trao đổi dữ liệu này thường thấy ở DARTS qua các module dữ liệu với
hai hoạt động trao đổi đặc trưng là "Đọc" và "Nhận".
8
Ngô Khánh Hiếu
Các hệ thờigianthực–Phương pháp DARTS
Trình tự áp dụng phươngphápDARTS (1/5)
(1) hệ đầu tiên sẽ được phân chia thành các quá trình chức năng
(processus fonctionnels), các dòng dữ liệu sẽ được dùng để giao tiếp
giữa các quá trình chức năng (*).
(*) Biểu đồ dòng dữ liệu thu được giống phươngpháp SA
5
9
Ngô Khánh Hiếu
Các hệ thờigianthực–Phương pháp DARTS
Trình tự áp dụng phươngphápDARTS (2/5)
(2) Từ biểu đồ dòng dữ liệu, các "tâches" sẽ được xác định tùy thuộc vào
các "rythmes" của hệ thống.
Các nguyên tắc xác định "tâche" từ biểu đồ dòng dữ liệu:
¾ căn cứ vào dòng dữ liệu nhập/xuất
¾ các chức năng đáp ứng trong thờigian tới hạn
¾ các quá trình tính toán
¾ các liên hệ về chức năng giữa các processus
¾ các liên hệ về thờigian giữa các processus (tính đồng thời…)
¾ các quá trình tính toán có chu k
ỳ
Tại sao phải xác
định "tâches" dựa
vào "rythmes"?
10
Ngô Khánh Hiếu
Các hệ thờigianthực–Phương pháp DARTS
Trình tự áp dụng phươngphápDARTS (3/5)
(2) Từ biểu đồ dòng dữ liệu, các "tâches" sẽ được xác định tùy thuộc vào
các "rythmes" của hệ thống (tt)
6
11
Ngô Khánh Hiếu
Các hệ thờigianthực–Phương pháp DARTS
Trình tự áp dụng phươngphápDARTS (4/5)
(3) Xác định cácphươngthức giao tiếp giữa các "tâches" đã được xác định
ở bước (2).
(4) Các "modules" sẽ được tích hợp vào các
"tâches" tương ứng nếu một "module"
được sử dụng độc quyền bởi một "tâche".
(vd., Device Interface Module – DIM; Data
abstration modules - DAM; State Transition
Modules - STM; Function Driver Modules).
12
Ngô Khánh Hiếu
Các hệ thờigianthực–Phương pháp DARTS
Trình tự áp dụng phươngphápDARTS (5/5)
State Transition Module (STM) – “Contrôle"
Sơ đồ cấu trúc hệ thống DARTS cho ta một cái nhìn rõ ràng
không chỉ ở khía cạnh tĩnh của hệ (thông qua các "modules"),
mà còn ở khía cạnh động của hệ (thông qua các "tâches").
7
13
Ngô Khánh Hiếu
Các hệ thờigianthực–Phương pháp DARTS
Ưu điểm củaphương pháp DARTS
(1) DARTS là một phươngpháp thiết kế dựa trên nền tản multitâche
(parallèle) Æ phù hợp cho quá trình phân tích thiết kế trên vi xử lý.
(2) DARTS là một phươngpháp thiết kế dựa trên nền tản dòng dữ liệu
(l’architecture à flots de données) nên,
¾ phù hợp cho nhiều lĩnh vực khác nhau
¾ phù hợp trong việc giảng dạy các kiến thức nền tản cơ bản liên
quan đến lập trình multitâche
¾ gần với nhiều modèles
được sử dụng trong việc phân tích đáp ứng
ràng buộc thờigian của cáchệthờigianthực (validation
temporelle).
14
Ngô Khánh Hiếu
Các hệ thờigianthực–Phương pháp DARTS
MAST: công cụ "validation temporelle"
MAST (Modeling and Analysis Suite for Real-Time Application) là một
chương trình mở cho phép thực hiện các phân tích đáp ứng thờigian của
các ứng dụng thờigian thực.
Mô hình "Task
Interactions" của
MAST
8
15
Ngô Khánh Hiếu
Các hệ thờigianthực–Phương pháp DARTS
Điểm bất lợi củaphương pháp DARTS
DARTS là một phươngpháp thiết kế phù hợp cho cáchệ tập trung
(systèmes embarqués centralisés) có quy mô nhỏ, vì vậy trong trường hợp
tính phức tạp của hệ gia tăng, DARTS bộc lộ các vấn đề sau:
(1) bùng nổ trạng thái và bùng nổ chuyển đổi trạng thái
Æ nên sử dụng Statecharts hay một phươngpháp khác để mô tả đặc
tính hành xử (l’aspect comportemental) của hệ
(2) xuất hiện yếu tố không xác
định (indéterminisme) trong chuyển đổi trạng
thái khi hệ ở một trạng thái xác định
(3) bùng nổ số lượng "tâches"
Æ hướng đến việc sử dụng DARTS trong phươngpháp đối tượng
(méthode objet)
16
Ngô Khánh Hiếu
Các hệ thờigianthực–Phương pháp DARTS
Ứng dụng phươngpháp DARTS
Áp dụng phươngphápDARTS để thiết kế hệ thống an toàn của mỏ khoáng
sản, anh/chị hãy đưa ra:
(1) Biểu đồ dòng dữ liệuDARTS của hệ thống an toàn mỏ
(2) Biểu đồ cấu trúc hệ thống DARTS của hệ thống an toàn mỏ
(3) Từ kết quả của câu (2), theo anh/chị hệ thống an toàn mỏ khoáng sản
cần bao nhiêu "rythmes" để hoạt động?
9
17
Ngô Khánh Hiếu
Các hệ thờigianthực–Phương pháp DARTS
Giới thiệu về LabVIEW
LabVIEW (Laboratory Virtual Instrument Engineering Workbench) là một
môi trường lập trình của các ứng dụng dựa trên ngôn ngữ G.
18
Ngô Khánh Hiếu
Các hệ thờigianthực–Phương pháp DARTS
LabVIEW và phươngphápDARTS (1/6)
Thư viện "Synchronisation" của LabVIEW
Là một ngôn ngữ lập trình đồ họa hỗ trở "mulitâche" và phát triển dựa
trên nền tản dòng dữ liệu, LabVIEW có thể được coi là một công cụ kết
hợp phù hợp của phươngpháp DARTS.
(*) các mô hình đưa ra trong bài giảng này được thực hiện trên LabVIEW version 7.1
10
19
Ngô Khánh Hiếu
Các hệ thờigianthực–Phương pháp DARTS
LabVIEW và phươngphápDARTS (2/6)
(1) Mô hình "tâche" DARTS trong LabVIEW
"Tâche matérielle périodique" của LabVIEW
"Tâche matérielle apériodique" của LabVIEW
"Tâche logicielle" của LabVIEW
20
Ngô Khánh Hiếu
Các hệ thờigianthực–Phương pháp DARTS
LabVIEW và phươngphápDARTS (3/6)
(2) Mô hình "tâche contrôle" DARTS trong LabVIEW
"Tâche contrôle apériodique" của LabVIEW
[...].. .Các hệthờigianthực – PhươngphápDARTS LabVIEW và phươngphápDARTS (4/6) (3) Mô hình "Mailbox" DARTS trong LabVIEW Ngô Khánh Hiếu 21 Các hệthờigianthực – PhươngphápDARTS LabVIEW và phươngphápDARTS (5/6) (4) Mô hình "Synchronisation" DARTS trong LabVIEW Ngô Khánh Hiếu 22 11 Các hệthờigianthực – PhươngphápDARTS LabVIEW và phươngphápDARTS (6/6) (5) Mô hình "Module de données" DARTS. .. DARTS (6/6) (5) Mô hình "Module de données" DARTS trong LabVIEW Ngô Khánh Hiếu 23 Các hệthờigianthực – PhươngphápDARTS Thư viện DARTSVIEW DARTSVIEW là thư viện các phần tử của phươngphápDARTS được thiết kế trên môi trường lập trình đồ họa LabVIEW Ngô Khánh Hiếu 24 12 Các hệthờigianthực – PhươngphápDARTS Ứng dụng DARTSVIEW: "Task Interactions" Ngô Khánh Hiếu 25 13 . Hiếu
Các hệ thờigianthực Phương pháp DARTS
2
Ngô Khánh Hiếu
Các hệ thờigianthực Phương pháp DARTS
Tổng quan về phương pháp DARTS (1/2)
-Hệ thờigianthực. Hiếu
Các hệ thờigianthực Phương pháp DARTS
Tổng quan về phương pháp DARTS (2/2)
-Kýhiệucủacácphần tử trong các biểu đồ DARTS:
4
Ngô Khánh Hiếu
Các hệ thờigianthực–Phương