Do mỗi "hoạt động" có thể được thể hiện bằng một "tâche" độc lập hoặc một "tâche" có mối quan hệ trước sau với một hoặc nhiều "tâches" khác, nên phương pháp thiết kế phải có khả năng tạo
Trang 1Ngô Khánh Hiếu
Các hệ thời gian thực – Phương pháp DARTS
Tổng quan về phương pháp DARTS(1/2)
- Hệ thời gian thực (hay hệ điều khiển) là hệ mà ở đó nhiều "hoạt động"
(activités) có thể được thực hiện đồng thời/song song Do mỗi "hoạt động" có
thể được thể hiện bằng một "tâche" độc lập hoặc một "tâche" có mối quan hệ
trước sau với một hoặc nhiều "tâche(s)" khác, nên phương pháp thiết kế phải
có khả năng tạo ra từ kết quả của quá trình phân tích mô hình các "tâches"
của hệ thời gian thực với các công cụ giúp giải quyết các vấn đề về sự quan
hệ giữa các "tâches"
- Là một phương pháp được đưa ra bởi Hassan Gomaa, phương pháp
DARTS (Design Approach for Real-Time Systems) là một phương pháp thiết
kế các hệ thời gian thực (các hệ điều khiển): nó cung cấp một trình tự giúp
cấu trúc hệ thời gian thự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"
Trang 2Ngô Khánh Hiếu
Tổng quan về phương pháp DARTS(2/2)
- Ký hiệu của các phần tử trong các biểu đồ DARTS:
Các hệ thời gian thực – Phương pháp DARTS
Một số khái niệm trong phương pháp DARTS(1/4)
- Tâche: trong một biểu đồ DARTS, mỗi "tâche" được thể hiện bằng một hì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ỳ (được kích hoạt bởi một đồng hồ thời gian thực, Horloge
temps réel – HTR), hoặc là một "tâche" không có chu kỳ
(được kích hoạt bởi ngắt, Interruption, hoặc bởi
"Chien-de-garde" hay "Watch-dog")
Tâche mềm (Tâche logicielle): được hiểu là "tâche" mà sự
vận hành của nó được kích hoạt bởi một "tâche" khác (có
thể là một "tâche" cứng hoặc một "tâche" mềm khác)
"Tâche" mềm sẽ hưởng "rythme" (xung, nhịp) của tâche
kích hoạt nó
Trang 3Ngô Khánh Hiếu
Một số khái niệm trong phương pháp DARTS(2/4)
- Synchronisation: đây là mối quan hệ trước sau (không có sự trao đổi dữ
liệu) giữa hai "tâches", được gọi lầ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ận hành củ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ện kích hoạt
nó được tạo ra từ "tâche émetteur"
Synchronisation giữa hai tâches
Có rất nhiều công cụ cho phép triển khai
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ệt giữa
trường hợp có nhớ (mémorisation) và
không có nhớ (non mémorisation) đối
với Evénement
Các hệ thời gian thực – Phương pháp DARTS
Một số khái niệm trong phương pháp DARTS(3/4)
- Communication synchrone: đây là mối quan hệ trước sau (có sự trao đổi
dữ liệu) giữa hai "tâches", được gọi lần lượt là "tâche producteur" và "tâche
consommateur" Trong mối quan hệ này, "tâche producteur" là tạo ra và gởi
một dữ 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ương phá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
Trang 4Ngô Khánh Hiếu
Một số khái niệm trong phương pháp DARTS(4/4)
- Communication asynchrone: đây là một dạ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"
Các hệ thời gian thực – Phương pháp DARTS
Trình tự áp dụng phương pháp DARTS(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ương pháp SA
Trang 5Ngô Khánh Hiếu
Trình tự áp dụng phương pháp DARTS(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ời gian 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ời gian 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"?
Các hệ thời gian thực – Phương pháp DARTS
Trình tự áp dụng phương pháp DARTS(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)
Trang 6Ngô Khánh Hiếu
Trình tự áp dụng phương pháp DARTS(4/5)
(3) Xác định các phương thứ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)
Các hệ thời gian thực – Phương pháp DARTS
Trình tự áp dụng phương pháp DARTS(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")
Trang 7Ngô Khánh Hiếu
Ưu điểm của phương pháp DARTS
(1) DARTS là một phương phá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ương phá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ời gian của các hệ thời gian thực (validation
temporelle)
Các hệ thời gian thự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ời gian của
các ứng dụng thời gian thực
Mô hình "Task Interactions" của MAST
Trang 8Ngô Khánh Hiếu
Điểm bất lợi của phương pháp DARTS
DARTS là một phương pháp thiết kế phù hợp cho các hệ 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ương phá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ương pháp đối tượng
(méthode objet)
Các hệ thời gian thực – Phương pháp DARTS
Ứng dụng phương pháp DARTS
Áp dụng phương pháp DARTS để 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ệu DARTS 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?
Trang 9Ngô Khánh Hiếu
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
Các hệ thời gian thực – Phương pháp DARTS
LabVIEW v à phương pháp DARTS (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ương phá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
Trang 10Ngô Khánh Hiếu
LabVIEW v à phương pháp DARTS (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
Các hệ thời gian thực – Phương pháp DARTS
LabVIEW v à phương pháp DARTS (3/6)
(2) Mô hình "tâche contrôle" DARTS trong LabVIEW
"Tâche contrôle apériodique" của LabVIEW
Trang 11Ngô Khánh Hiếu
LabVIEW v à phương pháp DARTS (4/6)
(3) Mô hình "Mailbox" DARTS trong LabVIEW
Các hệ thời gian thực – Phương pháp DARTS
LabVIEW v à phương pháp DARTS (5/6)
(4) Mô hình "Synchronisation" DARTS trong LabVIEW
Trang 12Ngô Khánh Hiếu
LabVIEW v à phương pháp DARTS (6/6)
(5) Mô hình "Module de données" DARTS trong LabVIEW
Các hệ thời gian thực – Phương pháp DARTS
Thư viện DARTSVIEW
DARTSVIEW là thư viện các phần tử của phương pháp DARTS được
thiết kế trên môi trường lập trình đồ họa LabVIEW
Trang 13Ngô Khánh Hiếu
Ứng dụng DARTSVIEW: "Task Interactions"