1. Trang chủ
  2. » Công Nghệ Thông Tin

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

24 606 1
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Các hệ thời gian thực – Phương pháp SA-RT
Tác giả Ngô Khánh Hiếu
Thể loại Bài giảng
Định dạng
Số trang 24
Dung lượng 702,29 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Nhờ đó, hệ điều khiển sẽ đượ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ới mỗi cấp độ phân tích nói một cách khác, hệ là một sự p

Trang 1

Ngô Khánh Hiếu

Tổng quan về phương pháp SA-RT(1/3)

▪ SA-RT (Structured Analysis for Real-Time Systems) là một phương pháp phân tích

dựa trên tính năng và sự hoạt động của các ứng dụng của hệ điều khiển thông qua

các thể hiện dưới dạng đồ họa (graphiques) và dạng ký tự (textes) để trả lời cho

câu hỏi "Hệ làm gì?"

▪ Việc mô 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ủa hệ điều khiển trở

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ểu thức diễn đạt (cú pháp đồ họa) đã được định nghĩa

▪ Phương pháp SA-RT không cho phép thực hiện việc kiểm tra các đặc tính của ứng

dụng hệ điều khiển nếu chỉ dựa trên các mô tả của nó Điều này đã dẫn đến nhiều

nghiên cứu về sự kết hợp phươ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ó được khả năng mô phỏng (simulation)

và kiểm tra (vérification) các đặc tính của hệ từ SA-RT

Trang 2

Ngô Khánh Hiếu

Tổng quan về phương pháp SA-RT(2/3)

▪ Không có một nguyên tắc hay một sự 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ều sự triển khai/áp dụng

phương pháp SA-RT với các mức độ quan trọng nhiều, ít khác nhau, cũng như các

mở rộng riêng biệt của nó Phương pháp DARTS của Gomaa, hay phương pháp

Statecharts của Harel… là hai trong nhiều phương pháp mà ở đó ta có thể tìm thấy

được sự triển khai và mở rộng của phương pháp SA-RT

▪ Nền tản của phương pháp SA-RT là phân chia theo cấu trúc (Structuration), và sự

mô tả dưới dạng các dòng dữ liệu (flots de données), các dòng điều khiển (flots de

contrôle) Nhờ đó, hệ điều khiển sẽ đượ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ới mỗi cấp độ

phân tích (nói một cách khác, hệ là một sự phân tích theo thứ tự cấp bậc có liên

kết giữa các cấ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ủa hệ sẽ được thể hiện bởi

sự truyền các dòng dữ liệu/dòng điều khiển

Tổng quan về phương pháp SA-RT(3/3)

▪ Cùng dựa trên nền tản này, ta có thể liệt kê một số phương pháp phân tích-thiết kế

trước phươ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)

Trang 3

Ngô Khánh Hiếu

Phương pháp JSD (Jackson System Development) (1/9)

▪ JSD là phương pháp phân tích và phát triển hệ điều khiển hướng đối tượng do

Michael A Jackson và John Comeron xây đựng năm 1983

▪ Nền tản cơ bản của phương pháp JSD là sự mô phỏng/thể hiện "cái thực" của hệ

điều khiển trước khi khảo sát tính năng của nó

▪ Các "entités", tượng trưng bởi các hình chữ nhật, được dùng để thể hiện các đối

tượng thực của hệ "Entité composite" là "entité" có thể phân chia thành một hay

nhiều "entité" thành phần Các dữ liệu (événements) được thể hiện bằng các

đường thẳng Các "entités" sẽ được sắp xếp theo thứ tự thời gian của các dữ liệu

nhận được trên sơ đồ cấu trúc "entité" (Diagramme Entité Structure)

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ủa một "entité composite" thành một hay

nhiều "entité" thành phần mà ở đó chúng được sắp xếp theo thứ tự từ trái sang

phải tương ứng với phần tử thực hiệ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ựa chọn: được đặc trưng bởi ký hiệu "o" ở góc trên bên phải của mỗi

"entité" thành phần, mô tả một sự lựa chọn một thành phần trong số nhiều

thành phần của một "entité composite"

- Cấu trúc lặp: được đặc trưng bởi ký hiệu "*" ở góc trên bên phải của mỗi

"entité" thành phần, thể hiện một sự lặp lại từ một đến nhiều lần việc thực

hiện/tính toán của một hay nhiều "entité" thành phần trong "entité composite"

Trang 4

Ngô Khánh Hiếu

Phương pháp JSD (Jackson System Development) (3/9)

Sơ đồ cấu trúc "entité" của một hệ thống sưởi bằng dầu mazout

Phương pháp JSD (Jackson System Development) (4/9)

Mô hình "tâche" JSP của hệ thống sưởi bằng dầu mazout

▪ Từ sơ đồ cấu trúc "entité" việc phân chia thành các "tâches" sẽ được tiến hành sao

cho mỗi "entité" sẽ tương ứng với một "tâche" cùng với duy nhất các biến đầu vào

của nó

Tâche tương ứng với entité

"Contrôle Chauffage"

Trang 5

Ngô Khánh Hiếu

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ức giao tiế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ức giao tiếp giữa "tâche" cho (tâche

productrice) và "tâche" nhận (tâche consommatrice) mà ở đó "tâche" cho gởi

một dữ 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ột biểu tượng hình kim cương, đây là hình thức giao tiếp giữa các

"tâches" mà ở đó việc cập nhật vecteur trạng thái chỉ có thể được thực hiện bởi

"tâche" nắm giữ vecteur trạng thái đó, trong khi đó các "tâches" còn lại chỉ có

thể đọc dữ liệu từ vecteur trạng thái

Phương pháp JSD (Jackson System Development) (6/9)

Sơ đồ giao tiếp giữa các "tâches" JSP của hệ thống sưởi bằ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"

Trang 6

Ngô Khánh Hiếu

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ển của hệ điều khiể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ận dữ liệu đầu vào từ bên ngoài sẽ được triển khai bằng một

chương trình (procédure) được gọi bởi "tâche" trung tâm (l’ordonnanceur),

- việc giao tiếp giữa các "tâches" bằng dòng dữ liệu sẽ được triển khai thành việc

gọi mộ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ới một tham số dùng để chứa dữ liệu cần

giao tiếp,

- việc giao tiếp giữa các "tâches" bằng vecteur trạng thái sẽ được triển khai thành

việc gọi một hàm (fonction) từ một "objet passif" với một tham số thuộc kiểu xuất

(out) để thực hiện việc đọc dữ liệu từ vecteur trạng thái

Phương pháp JSD (Jackson System Development) (8/9)

Mô hình triển khai dựa trên "chương trình ngược" của hệ thống sưởi bằng dầu mazout

Trang 7

Ngô Khánh Hiếu

Phương pháp JSD (Jackson System Development) (9/9)

▪ Một số nhận xét về phương pháp JSD:

- đây là một phương pháp phân tích và thiết kế hướng đối tượng nên việc xá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ột sự thay đổi nhỏ các đối tượng thực của hệ ở

giai đoạn phân tích ban đầu sẽ dẫn đến việc hiệu chỉnh rất vất vả và mất nhiều

thời gian ở mô hình các "tâches JSP",

- sự thể hiện dữ liệu dạ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ệu quả khía cạnh động của hệ 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ệt giữa "tâche" và "fonction" trong sơ đồ giao tiếp

các "tâches JSP" là không rõ ràng,

- các ký hiệu mà 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ỳ được kích hoạt bởi các đồng hồ…;

"tâche" nào là "tâche" không có chu kỳ được kích hoạt bởi "tâche" khác

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ển của hệ điều khiển

▪ Nền tản của phươ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ều khiển sẽ dễ dàng triển khai và thay

đổi khi chúng được hình thành từ các "modules" đơn giản, độc lập"

▪ Khái niệm "module" trong phương pháp SD được hiểu là một tập hợp các lệnh liên

tục (instructions contigues) của một chương trình mà tên của nó có thể được gọi

bởi các thành phần khác trong hệ điều khiển Mỗi "module" sẽ có các tham chiếu

riêng đến tập hợp các biến cục bộ mà nó quản lý

▪ Phương pháp SD hỗ trợ các ký hiệu đồ họa (notations graphiques) cho phép mô tả

hệ điều khiển dưới dạng các "biểu đồ cấu trúc" (graphes structurels)

Trang 8

Ngô Khánh Hiếu

Phương pháp SD (Structured Design) (2/4)

Đồ thị cấu trúc tiêu biểu của SD

A là module gọi module B,

B là module phụ thuộc vào A,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ột số 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ều khiển thành các

"tâches" song song (tâches concurrentes) Vì thế, hệ điều khiển trong phương

pháp SD được cấu trúc thành một "tâche" duy nhất mà ở đó mối liên kết giữa các

modules đã được thiết lập rõ ràng

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ẽ được triển khai trong phương pháp SD bằng việc gọi các hàm, hoặc việc gởi

các lệnh điều khiển được liên kết với một module từ một module khác

Đồ thị cấu trúc SD của hệ thống sưởi bằng dầu mazout

Trang 9

Ngô Khánh Hiếu

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ột vấn đề liên quan đến tính

song song và đồng thời lại có thể được giải quyết bằng một phươ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ển hệ điều khiển là 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ó đối với sự phát triển hê thời gian thực tỏ ra không thích hợp so với

các phương pháp thiết kế khác, tiêu biểu là phương pháp DARTS của Gomaa

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ển dựa trên nền tản là sự phân tích cấu trúc hóa (analyse structurée) của

hệ điều khiển Qua đó, hệ được mô tả dưới hình thức các "quá trình chức năng"

(processus fonctionnels) một cách độc lập với giai đoạn triển khai (Implémentation)

trong vòng phát triển của nó

▪ Trong phương pháp SA, ta phân chia hệ thành tập hợp các biểu đồ dòng dữ liệu

được sắp xếp có thứ bậc (un ensemble de diagrammes flots de données

hiérarchiques), nhờ đó cho phép thể hiện từng bước sự hình thành các dòng dữ

liệu xuất (flots de données de sortie) từ các dòng dữ liệu nhậ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"

Trang 10

Ngô Khánh Hiếu

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ột biểu đồ bối cảnh dữ liệu

(Diagramme de Contexte de Données – DCD) cùng một hay nhiều biểu đồ dòng dữ

liệu (Diagramme de Flots de Données – DFD); một tự điển dữ liệu (Dictionnaire de

Données); và một sự mô tả ngắn gọn các yêu cầu chức năng cho mỗi "processus

primitif" (được hiể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ối cảnh dữ liệu (Diagramme de Contexte de Données): thể hiện các

biên giới hạn giữa hệ điều khiển và môi trường bên ngoài, thông qua việc xác

định các "entités" bên ngoài mà hệ điều khiển cần phải giao tiếp/tương tác

Hệ điều khiển được thể hiện bằng một "processus" duy nhất nhằm trưng bày

mục đích chính của nó (đó là một vòng tròn chứa đựng bên trong một nhãn

xác định vai trò trung tâm của hệ)

Phương pháp SA (Structured Analysis) (3/13)

Theo đó các dòng dữ liệu có chiều hướng vào "processus" trung tâm chính là

các dữ liệu nhận của hệ; còn các dòng dữ liệu đi ra từ "processus" trung tâm

chính là các dữ liệu xuất

Khái niệm “dòng dữ liệu” trong phương pháp SA được hiể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ột biểu đồ bối cảnh dữ liệu được thể hiện bằ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ệu nhận/xuất của hệ đều được thể hiện trên biểu đồ bối cảnh

dữ liệu bằng các dòng dữ liệu, chúng cũng chính là các giao diện giữa

"processus" trung tâm với các "entités" bên ngoài

Trang 11

Ngô Khánh Hiếu

Phương phá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

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ệu nhập/xuất trong biểu đồ bối cảnh dữ

liệu (DCD) thành các "sous-processus" và các dòng dữ liệu nhập/xuất con

(sous-flots) nhằm mục đích chi tiết hóa chức năng của hệ

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ác ký hiệu của "processus" và dòng dữ liệu

thì giống như trong biểu đồ DCD, còn vùng lưu trữ thì được ký hiệu bởi hai

đường thẳng song song và một tên riêng ở giữa để chỉ tên của dữ liệu được

lưu trữ (nó rất giống với khái niệm "vecteur" trạng thái của phương pháp JSP)

Ở một cấp độ xác định, tất cả 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ỗi cấp độ trong biểu đồ DFD, tất cả 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ới một số thứ tự

được hình thành từ hai số: một của "processus" cha, một là số thứ tự của nó

trong biểu đồ DFD ở cấp đó

Trang 12

Ngô Khánh Hiếu

Phương pháp SA (Structured Analysis) (6/13)

Vì "processus" trung tâm trong biểu đồ bối cả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ủa hệ thống sưởi bằng dầu mazout

Phương phá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ày đăng: 19/01/2014, 20:20

HÌNH ẢNH LIÊN QUAN

Sơ đồ cấu trúc "entité" của một hệ thống sưởi bằng dầu mazout - Tài liệu Các hệ thời gian thực – Phương pháp SA-RT pdf
Sơ đồ c ấu trúc "entité" của một hệ thống sưởi bằng dầu mazout (Trang 4)
Sơ đồ giao tiếp giữa các "tâches" JSP của hệ thống sưởi bằng dầu mazout - Tài liệu Các hệ thời gian thực – Phương pháp SA-RT pdf
Sơ đồ giao tiếp giữa các "tâches" JSP của hệ thống sưởi bằng dầu mazout (Trang 5)
Sơ đồ giao tiếp giữa các "tâches", Jackson đưa ra khái niệm "chương trình ngược" - Tài liệu Các hệ thời gian thực – Phương pháp SA-RT pdf
Sơ đồ giao tiếp giữa các "tâches", Jackson đưa ra khái niệm "chương trình ngược" (Trang 6)
Đồ thị cấu trúc tiêu biểu của SD - Tài liệu Các hệ thời gian thực – Phương pháp SA-RT pdf
th ị cấu trúc tiêu biểu của SD (Trang 8)
Hình minh họa dưới đây. - Tài liệu Các hệ thời gian thực – Phương pháp SA-RT pdf
Hình minh họa dưới đây (Trang 20)

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w