13
1 1 Ngô Khánh Hiếu Các hthi gian thc – Phương pháp DARTS 2 Ngô Khánh Hiếu Các hthi gian thc – Phương pháp DARTS Tng quan vphương pháp DARTS (1/2) - Hthi gian thc (hay hđiu khin) là hđó nhiu "hot động" (activités) có thđược thc hin đồng thi/song song. Do mi "hot động" có thđược thhinbng mt "tâche" độclp hoc mt "tâche" có mi quan htrước sau vimt hoc nhiu "tâche(s)" khác, nên phương pháp thiết kế phi có khnăng to ra tkết quca quá trình phân tích mô hình các "tâches" cahthi gian thcvi các công cgiúp gii quyết các vn đề vsquan hgia các "tâches". - Là mt phương pháp được đưa ra bi Hassan Gomaa, phương pháp DARTS (Design Approach for Real-Time Systems) là mt phương pháp thiết kế các hthi gian thc (các hđiu khin): nó cung cp mt trình tgiúp cu trúc hthi gian thc thành các "tâches" song song, cũng như mt cơ chế cho phép định nghĩa mi quan hgia các "tâches".

Bai 3 - Phuong Phap DARTS

Embed Size (px)

DESCRIPTION

Control

Citation preview

Page 1: Bai 3 - Phuong Phap DARTS

1

1Ngô Khánh Hiếu

Các hệ thời gian thực – Phương pháp DARTS

2Ngô 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ự quanhệ giữa các "tâches".

- Là một phương pháp được đưa ra bởi Hassan Gomaa, phương phápDARTS (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úpcấ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".

Page 2: Bai 3 - Phuong Phap DARTS

2

3Ngô 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 (2/2)

- Ký hiệu của các phần tử trong các biểu đồ DARTS:

4Ngô Khánh Hiếu

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ìnhbì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ó.

Page 3: Bai 3 - Phuong Phap DARTS

3

5Ngô Khánh Hiếu

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 (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 khaimố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) đốivới Evénement.

6Ngô Khánh Hiếu

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 đổidữ 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ởimộ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

Page 4: Bai 3 - Phuong Phap DARTS

4

7Ngô Khánh Hiếu

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 (4/4)

- Communication asynchrone: đây là một dạng mối quan hệ communicationmà ở đó "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".

8Ngô Khánh Hiếu

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

Page 5: Bai 3 - Phuong Phap DARTS

5

9Ngô Khánh Hiếu

Các hệ thời gian thực – Phương pháp DARTS

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

10Ngô Khánh Hiếu

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)

Page 6: Bai 3 - Phuong Phap DARTS

6

11Ngô Khánh Hiếu

Các hệ thời gian thực – Phương pháp DARTS

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).

12Ngô Khánh Hiếu

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").

Page 7: Bai 3 - Phuong Phap DARTS

7

13Ngô Khánh Hiếu

Các hệ thời gian thực – Phương pháp DARTS

Ư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).

14Ngô Khánh Hiếu

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

Page 8: Bai 3 - Phuong Phap DARTS

8

15Ngô Khánh Hiếu

Các hệ thời gian thực – Phương pháp DARTS

Đ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)

16Ngô Khánh Hiếu

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?

Page 9: Bai 3 - Phuong Phap DARTS

9

17Ngô Khánh Hiếu

Các hệ thời gian thự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.

18Ngô Khánh Hiếu

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

Page 10: Bai 3 - Phuong Phap DARTS

10

19Ngô Khánh Hiếu

Các hệ thời gian thực – Phương pháp DARTS

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

20Ngô Khánh Hiếu

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

Page 11: Bai 3 - Phuong Phap DARTS

11

21Ngô Khánh Hiếu

Các hệ thời gian thực – Phương pháp DARTS

LabVIEW và phương pháp DARTS (4/6)

(3) Mô hình "Mailbox" DARTS trong LabVIEW

22Ngô Khánh Hiếu

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

Page 12: Bai 3 - Phuong Phap DARTS

12

23Ngô Khánh Hiếu

Các hệ thời gian thực – Phương pháp DARTS

LabVIEW và phương pháp DARTS (6/6)

(5) Mô hình "Module de données" DARTS trong LabVIEW

24Ngô Khánh Hiếu

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.

Page 13: Bai 3 - Phuong Phap DARTS

13

25Ngô Khánh Hiếu

Các hệ thời gian thực – Phương pháp DARTS

Ứng dụng DARTSVIEW: "Task Interactions"