logo

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


Các hệ thời gian thực – Phương pháp SA-RT 1 Ngô Khánh Hiếu Các hệ thời gian thực – Phương pháp SA-RT 2 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. Ngô Khánh Hiếu 1 Các hệ thời gian thực – Phương pháp SA-RT 3 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. Ngô Khánh Hiếu Các hệ thời gian thực – Phương pháp SA-RT 4 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). Ngô Khánh Hiếu 2 Các hệ thời gian thực – Phương pháp SA-RT 5 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). Ngô Khánh Hiếu Các hệ thời gian thực – Phương pháp SA-RT 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ủ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". Ngô Khánh Hiếu 3 Các hệ thời gian thực – Phương pháp SA-RT 7 Phương pháp JSD (Jackson System Development) (3/9) Cấu trúc tuần tự Cấu trúc lựa chọn Cấu trúc lặp Sơ đồ cấu trúc "entité" của một hệ thống sưởi bằng dầu mazout Ngô Khánh Hiếu Các hệ thời gian thực – Phương pháp SA-RT 8 Phương pháp JSD (Jackson System Development) (4/9) ▪ 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" Mô hình "tâche" JSP của hệ thống sưởi bằng dầu mazout Ngô Khánh Hiếu 4 Các hệ thời gian thực – Phương pháp SA-RT 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ứ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. Ngô Khánh Hiếu Các hệ thời gian thực – Phương pháp SA-RT 10 Phương pháp JSD (Jackson System Development) (6/9) Giao tiếp bằng vecteur trạng thái Tâche nắm giữ vecteur trạng thái "Etat Ventilateur" Giao tiếp bằng dòng dữ liệu Sơ đồ giao tiếp giữa các "tâches" JSP của hệ thống sưởi bằng dầu mazout Ngô Khánh Hiếu 5 Các hệ thời gian thực – Phương pháp SA-RT 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ể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. Ngô Khánh Hiếu Các hệ thời gian thực – Phương pháp SA-RT 12 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 Ngô Khánh Hiếu 6 Các hệ thời gian thực – Phương pháp SA-RT 13 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. Ngô Khánh Hiếu Các hệ thời gian thực – Phương pháp SA-RT 14 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). Ngô Khánh Hiếu 7 Các hệ thời gian thực – Phương pháp SA-RT 15 Phương pháp SD (Structured Design) (2/4) 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). Đồ thị cấu trúc tiêu biểu của SD ▪ 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. Ngô Khánh Hiếu Các hệ thời gian thực – Phương pháp SA-RT 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ẽ đượ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 Ngô Khánh Hiếu 8 Các hệ thời gian thực – Phương pháp SA-RT 17 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. Ngô Khánh Hiếu Các hệ thời gian thực – Phương pháp SA-RT 18 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". Ngô Khánh Hiếu 9 Các hệ thời gian thực – Phương pháp SA-RT 19 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ệ). Ngô Khánh Hiếu Các hệ thời gian thực – Phương pháp SA-RT 20 Phương pháp SA (Structured Analysis) (3/13) 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. 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. Ngô Khánh Hiếu 10 Các hệ thời gian thực – Phương pháp SA-RT 21 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 Ngô Khánh Hiếu Các hệ thời gian thực – Phương pháp SA-RT 22 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 đó. Ngô Khánh Hiếu 11 Các hệ thời gian thực – Phương pháp SA-RT 23 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 Ngô Khánh Hiếu Các hệ thời gian thực – Phương pháp SA-RT 24 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ô Khánh Hiếu 12 Các hệ thời gian thực – Phương pháp SA-RT 25 Phương pháp SA (Structured Analysis) (8/13) - Tự điển dữ liệu (Dictionnaire de Données): tập hợp ý nghĩa (sémantique) và cấu trúc (structure) của dữ liệu được thể hiện trong hệ. Nó cung cấp định nghĩa chính xác của mỗi dòng dữ liệu, cũng như của tất cả vùng lưu trữ dữ liệu. Trong các biểu đồ DFD, các dòng dữ liệu thuộc một trong hai kiểu cơ bản sau: dòng dữ liệu nguyên bản (flot primitif), là dòng dữ liệu chỉ chứa các giá trị nội tại và các thuộc tính của nó; dòng dữ liệu không nguyên bản (flot non primitif), là dòng dữ liệu được hình thành từ một nhóm các dòng dữ liệu nguyên bản. Ngô Khánh Hiếu Các hệ thời gian thực – Phương pháp SA-RT 26 Phương phá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 rạc thì có thêm một thuộc tính nữa đó là tên gọi của các giá trị của nó. Tuy vậy, còn một số thuộc tính nữa không thuộc phần "spécification", nhưng được gán để cho phần "conception" như tần số của dữ liệu… Ngô Khánh Hiếu 13 Các hệ thời gian thực – Phương pháp SA-RT 27 Phương pháp SA (Structured Analysis) (10/13) - Sự mô tả ngắn gọn cho "processus" (Mini-Spécification de Processus, PSPEC): hoàn thiện việc mô tả chi tiết các "processus primitifs" 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ác hệ thời gian thực – Phương pháp SA-RT 28 Phương pháp SA (Structured Analysis) (11/13) PSPEC của "Mesurer Température" trong hệ thống sưởi bằng dầu mazout Ngô Khánh Hiếu 14 Các hệ thời gian thực – Phương pháp SA-RT 29 Phương pháp SA (Structured Analysis) (12/13) - SA là một phương phá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) cho ta thấy rõ nhận định này). - Tập hợp các biểu đồ dòng dữ liệu (DFDs) cho ta một cái nhìn tĩnh về sự vận hành/ chức năng của hệ (fonctionnement statique du système) mà ở đó các "processus" sẽ được kích hoạt bởi các dòng dữ liệu (flots de données) độc lập, và gần như tức thời (hypothèse synchrone). - Khác với phương pháp JSP, phương pháp SA đưa ra cơ chế "trừu tượng hóa dữ liệu" (le mécanisme d’abstraction de données). Các biểu đồ dòng dữ liệu sắp xếp theo cấp bậc được phân chia sao cho mỗi "processus" cha sẽ là một "mô hình trừu tượng" của các "processus" con và dòng dữ liệu con của nó. Tuy vậy, khi sự phân chia này cáng đạt đến cấp độ chi tiết hóa thì DFD có khả năng trở thành một mạng lưới khổng lồ của các "processus" được nối kết bởi các dòng dữ liệu của chúng. Ta gọi hiện tượng này là "hiện tượng bùng nổ dòng dữ liệu". Ngô Khánh Hiếu Các hệ thời gian thực – Phương pháp SA-RT 30 Phương pháp SA (Structured Analysis) (13/13) - Thực tế cho thấy đối với các hệ lớn, việc áp dụng mô hình "processus" của phương pháp SA sẽ làm cho việc mô tả hệ trở nên rất phức tạp, thậm chí là không thể. Và trong những trường hợp như vậy, việc mô tả bằng đặc tính động tỏ bằng các biểu đồ trạng thái (diagramme état-transition) hoặc các biểu đồ "statecharts" tỏ ra thích hợp hơn. - Lưu trữ dữ liệu (stockage de données) là một dạng triển khai khác của vùng lưu trữ dữ liệu mà ta đã gặp ở phương pháp JSP với các "vecteur" trạng thái: dữ liệu lưu trữ có thể đươc đọc rất nhiều lần bởi các "processus" nhận cho tới khi nó được cập nhật bằng một dữ liệu mới từ "processus" gởi. - Phương pháp SA chỉ hướng đến việc xác định các yêu cầu trong giai đoạn "spécification" của vòng phát triển của hệ điều khiển. Nó không phải là một phương pháp dành cho giai đoạn thiết kế (conception) và triển khai (implémentation). Ngô Khánh Hiếu 15 Các hệ thời gian thực – Phương pháp SA-RT 31 Phương pháp SA-RT (Structured Analysis for Real-Time Systems) (1/14) ▪ Nhằm khắc phục các nhược điểm của phương pháp SA, Ward và Mellor năm 1986; Hatley và Pirbhai năm 1987 đã đưa ra hai phiên bản khác nhau của phương pháp SA-RT (Structured Analysis for Real-time Systems), một phương pháp "spécification" được phát triển dựa trên mô hình "processus" của phương pháp SA. ▪ Nguyên tắc của phương pháp SA-RT là trước tiên phân chia hệ điều khiển thành các "processus" chức năng (processus fonctionnels), và mô tả sự trao đổi thông tin dưới dạng các dòng dữ liệu. Sau đó, một "processus" điều khiển (processus de contrôle) giữ vai trò là "nhạc trưởng" (chief d’orchestre) bằng cách làm "có thể/ không có thể" (activant/désactivant) hoặc kích hoạt (déclenchant) các "processus" chức năng thông qua các "événements" đã định trước. ▪ "Spécification" của phương pháp SA-RT bao gồm một biểu đồ bối cảnh dữ liệu (diagramme de contexte de données), một nhóm các biểu đồ dòng dữ liệu/dòng điều khiển sắp xếp theo trật tự cấp bậc (diagrammes flots de données/flots de contrôle hiérarchique), và một biểu đồ chuyển đổi trạng thái (diagramme état-transition). Ngô Khánh Hiếu Các hệ thời gian thực – Phương pháp SA-RT 32 Phương pháp SA-RT (Structured Analysis for Real-Time Systems) (2/14) Các phẩn tử trong các biểu đồ của phương pháp SA-RT ▪ "Processus" điều khiển thể hiện tính logic của sự điều phối các "processus" chức năng. Các dòng điều khiển (flots de contrôle) truyền tải các "événements" cho phép quyết định trực tiếp hoặc gián tiếp việc tính toán của các "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 Các hệ thời gian thực – Phương pháp SA-RT 33 Phương pháp SA-RT (Structured Analysis for Real-Time Systems) (3/14) ▪ Giống như trong phương pháp SA, các biểu đồ dòng điều khiển (DFDs) trong phương pháp SA-RT được tạo ra từ biểu đồ bối cảnh dữ liệu (DCD) theo quy tắc sau: - Chỉ có duy nhất hoặc không có "processus" điều khiển nào ở cấp độ biểu đồ: biểu đồ phân tích sơ bộ (diagramme préliminaire) hoặc biểu đồ phân chia (diagramme de décomposition). - Các dòng dữ liệu (flots de données) chỉ được xử lý trong các "processus primitifs". Các dòng điều khiển chỉ trong các "processus de contrôle", chúng giữ vai trò là giao diện giữa "processus de contrôle" và các "processus" chức năng. ▪ Trong trường hợp biểu đồ dòng dữ liệu có chứa một "processus de contrôle" thì để có thể hiểu được đầy đủ biểu đồ dòng dữ liệu này nhất thiết phải có một sự mô tả của "processus de contrôle", được gọi là CSPEC. Ngô Khánh Hiếu Các hệ thời gian thực – Phương pháp SA-RT 34 Phương pháp SA-RT (Structured Analysis for Real-Time Systems) (4/14) ▪ CSPEC thể hiện khía cạnh ứng xử của ứng dụng. Vai trò của nó trước hết cũng giống như PSPEC: làm thế nào các "xuất" được tạo ra từ các "nhập". Điểm khác nhau là cách mà chúng tác động, và vai trò của chúng trong cấu trúc tổng thể của hệ điều khiển. CSPEC bảo đảm sự liên kết giữa biểu đồ dòng điều khiển (DFC) với biểu đồ dòng dữ liệu (DFD). ▪ Mô hình các yêu cầu của SA-RT có thể xem như là một vòng lặp có hiệu lực về trước (boucle de rétroaction/ Mô hình các yêu cầu của phương pháp SA-RT feedback). Ngô Khánh Hiếu 17 Các hệ thời gian thực – Phương pháp SA-RT 35 Phương pháp SA-RT (Structured Analysis for Real-Time Systems) (5/14) ▪ Trong một biểu đồ dòng dữ liệu ứng với một cấp độ phân tích xác định, các "processus primitifs" tùy vào các điều kiện dựa trên các dòng dữ liệu mà chúng nhận được sẽ tạo ra các dòng điều khiển (flots d’événements). Các dòng này không xuất hiện như là các dòng xuất trong biểu đồ dòng dữ liệu (DFD), mà ở bên trong "processus de contrôle" tương ứng với biểu đồ dòng điều khiển (DFC). Điều này đồng thời dẫn đến những hiệu chỉnh trong việc mô tả các "processus primitifs" của PSPEC, và 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ác hệ thời gian thực – Phương pháp SA-RT 36 Phương pháp SA-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ời gian thực – Phương pháp SA-RT 37 Phương pháp SA-RT (Structured Analysis for Real-Time Systems) (7/14) Biểu đồ phân tích sơ bộ SA-RT của hệ thống sưởi bằng dầu mazout Ngô Khánh Hiếu Các hệ thời gian thực – Phương pháp SA-RT 38 Phương pháp SA-RT (Structured Analysis for Real-Time Systems) (8/14) ▪ Biểu đồ SA-RT sơ bộ (Diagramme préliminaire SA-RT) cho ta một cái nhìn rất rõ về sự gắn kết giữa mô hình điều khiển (modèle de contrôle) với mô hình các quá trình (modèle des processus) ở giai đoạn xác định các yêu cầu của hệ. "Le processus de contrôle, appelé «Contrôle Chauffage», est le contrôleur du système. Il dirige le fonctionnement de tous les processus fonctionnels grâce à des flots d’événement appropriés. Donc les processus d’acquisition sont activés ou désactivés par des événements «Enable/Disable» (ou E/D), et les processus de commande sont déclenchés par des événements «Trigger» (ou T). D’autre part chacun des processus d’acquisition après qu’il scrute l’état du bord des appareils de chauffage, envoie un flot d’événement au contrôleur. Selon ces flots d’événement, la CSPEC du «Contrôle Chauffage» va modifier la réponse de processus de données en accord avec les conditions passées et présentes à l’intérieur et à l’extérieur du système. C’est-à-dire l’automate de «Contrôle Chauffage». Les stockages de données qui font des interfaces entre des processus primitifs dans le DFD de la méthode SA, sont remplacés par les conditions sur les données vers le processus de contrôle «Contrôle Chauffage». Un stockage d’événements, nommé «Différence_Temp», est utilisé. Ce stockage permet de mémoriser un événement généré par le processus «Calcul Différence» de façon à ce que son occurrence soit utilisée plusieurs fois par le contrôleur. Dans ce cas-là, en fonction de la différence entre «T_Courante» et «T_Désirée», l’événement stocké dans ce stockage sera soit «Trop Haute», soit «Trop Basse»." Ngô Khánh Hiếu 19 Các hệ thời gian thực – Phương pháp SA-RT 39 Phương pháp SA-RT (Structured Analysis for Real-Time Systems) (9/14) ▪ Từ biểu đồ SA-RT sơ bộ (Diagramme préliminaire SA-RT) ta thấy cái còn thiếu là một mô tả "đặc tính" điều khiển của "processus de contrôle" (đó chính là processus de contrôle: Contrôle Chauffage trong biểu đồ SA-RT sơ bộ). Việc mô tả này trong phương pháp SA-RT sẽ được thực hiện thông qua biểu đồ chuyển đổi trạng thái (Diagramme Etat-Transition hoặc State-Transition Diagram). ▪ Biểu đồ chuyển đổi trạng thái là một dạng thể hiện rất quen thuộc của một "machine séquentielle" (mô hình tự hành tuần tự), có thể được hiểu là một mô hình của các trạng thái mà ở đó các xuất (sorties) được xác định dựa vào cả các nhập hiện hành và các nhập trước đó. ▪ Trong một biểu đồ chuyển đổi trạng thái, ta chỉ rõ tất cả các trạng thái của hệ trong suốt quá trình hoạt động của nó. Các trạng thái sẽ được thể hiện bằng các hình chữ nhật cùng với nhãn là tên của trạng thái đó. Ở một thời điểm, hệ thống phải luôn được bảo đảm là nằm trong một trong số các trạng thái của nó. Sự chuyển đổi từ trạng thái hiện hành sang một trạng thái khác được diễn tả bằng một mũi tên với chiều mũi tên hướng về trạng thái sắp tới. Ngô Khánh Hiếu Các hệ thời gian thực – Phương pháp SA-RT 40 Phương pháp SA-RT (Structured Analysis for Real-Time Systems) (10/14) ▪ Các dữ kiện (événements) gây ra sự chuyển đổi trạng thái, cùng với các hành động (actions) được thực hiện khi trạng thái mới được xác lập được ghi trực tiếp trên mũi tên chuyển đổi trạng thái. Cả hai sẽ được ngăn cách bằng một đường ngang như hình minh họa dưới đây. ▪ Ở một trạng thái nếu "événements" gây ra chuyển đổi trạng thái xuất hiện thì hệ sẽ tiến hành chuyển đổi trạng thái từ trạng thái hiện hành sang trạng thái khác theo trình tự sau: (1) chuyển trạng thái hiện hành từ chế độ ON sang chế độ OFF; (2) chuyển trạng thái sắp tới từ chế độ OFF sang chế độ ON; (3) thực hiện các "action" tương ứng cho sự chuyển đổi trạng thái này. Ngô Khánh Hiếu 20
DMCA.com Protection Status Copyright by webtailieu.net