CHƯƠNG 3. MÔ HÌNH PHÂN TÍCH, THIẾT KẾ VÀ THỰC THI CỦA HỆ THỐNG ĐIỀU KHIỂN CHO Q-UAV BẰNG CÔNG NGHỆ HƯỚNG ĐỐI TƯỢNG
3.1. Mô hình hóa và quy trình phát triển tái lặp trực quan cho hệ thống điều khiển nhúng trong thời gian thực
3.1.1. Mô hình hóa trực quan
Mô hình hóa là cách đặc tả một bài toán thông qua việc sử dụng các mô hình. Mô hình dùng để hiểu rõ bài toán, trao đổi thông tin giữa những người hoặc hệ thông liên quan như chuyên gia, người phân tích, người thiết kế, nhà đầu tư và người sử dụng cuối. Mô hình giúp cho việc xác định các yêu cầu nghiệp vụ tốt hơn, thiết kế rõ ràng hơn và khả năng bảo trì hệ thống cao hơn.
Để xây dựng một hệ thống phức tạp, người phát triển hệ thống thường trừu tượng hóa những khung nhìn khác nhau của hệ thống, xây dựng các mô hình bằng cách sử dụng các ký hiệu một cách trực quan và kiểm tra xem các mô hình có thoả mãn các yêu cầu nghiệp vụ của hệ thống hay chưa và dần dần thêm vào các chi tiết để có thể chuyển đổi từ mô hình sang một công nghệ cụ thể [12].
Mô hình hoá trực quan là một phương thức tư duy về vấn đề sử dụng các mô hình được tổ chức xoay quanh các hiện tượng trên thực tế. Nó cho phép đặc tả, trực quan, lập tài liệu và thiết kế hệ thống phát triển cũng như ngân hàng dữ liệu của nó. Mô hình cho phép quản lý các yêu cầu nghiệp vụ của hệ thống tốt hơn, tạo các bản thiết kế rõ ràng hơn và xây dựng triển khai hiệu quả nên các hệ thống dễ bảo trì hơn [12], [21], [40]. Trên thực tế cần xây dựng mô hình cho những hệ thống phức tạp bởi vì cấu trúc tĩnh và ứng xử động của hệ thống cần phát triển phải được chi tiết hóa một cách đồng thời trong khung nhìn hoàn động cho toàn bộ hệ thống đó. Đặc biệt trong lĩnh vực điều khiển công nghiệp, hệ thống càng phức tạp thì việc mô hình hóa càng quan trọng. Xây dựng mô hình cho phép người thiết kế thấy được bức tranh tổng quan của hệ thống và thấy được các thành phần của hệ thống tương tác
72
với nhau như thế nào hơn là việc sa lầy vào chi tiết bên trong của các thành phần đó. Bốn mục tiêu cơ bản sau khi xây dựng mô hình trực quan có thể đạt được, như:
- Mô hình hỗ trợ trực quan hóa hệ thống như là nó vốn có hoặc theo ý tưởng của người thực hiện.
- Mô hình cho phép chỉ ra rõ cấu trúc tĩnh và ứng xử động của hệ thống.
- Mô hình tạo ra một khuôn mẫu nhằm hướng dẫn trong quá trình xây dựng hệ thống.
- Mô hình đưa ra các báo cáo bằng tài liệu về các tác tạo đưa ra trong quá trình phân tích, thiết kế và thực thi hệ thống.
Tùy thuộc vào đặc tả nghiệp vụ của hệ thống, mỗi mô hình có thể tập trung vào những mặt khác nhau của chúng, ví dụ: Hệ thống tập trung vào dữ liệu thì các mô hình về phần thiết kế cấu trúc tĩnh được chú ý hơn. Trong hệ thống giao diện với người dùng hoặc tương tác với các hệ thống liên quan, thì cả cấu trúc tĩnh và ứng xử động của nó là quan trọng. Trong hệ thống điều khiển công nghiệp như là: hệ thống thời gian thực, hệ thống nhúng và hệ thống động lực lai, thì các mô hình tiến trình ứng xử động (tính cạnh tranh về thời gian) phải được kể đến [21], [64].
Như đã được trình bày ở trên đây, mô hình hoá trực quan là việc sử dụng các ngôn ngữ thiết kế mang tính đồ họa và các mô tả ngắn gọn để thể hiện các bản thiết kế hệ thống, ví dụ: ngôn ngữ mô hình hoá hợp nhất trong thời gian thực (RealTime UML) [21], [22], [56], [40], [63]. Mô hình hóa trực quan cho phép trừu tượng hoá các hệ thống ở mức cao hơn, trong khi đó vẫn duy trì được ngữ nghĩa và cấu trúc căn bản của hệ thống, giúp cho người đọc bản phân tích và thiết kế dễ nắm bắt cấu trúc tĩnh và ứng xử động của hệ thống. Mô hình hoá trực quan tuân theo bốn nguyên tắc cơ bản như sau:
73
+ Nguyên tắc 1: Các mô hình được tạo ra chi phối trực tiếp đến cách tiếp cận và định hướng giải quyết một vấn đề.
Trong phát triển hệ thống điều khiển, việc chọn các mô hình có thể ảnh hưởng rất lớn đến thế giới quan của người phân tích hệ thống. Mỗi thế giới quan sẽ dẫn tới một loại mô hình khác nhau với chi phí và lợi ích khác nhau.
Nếu xây dựng hệ thống theo khung nhìn của người thiết kế cơ sở dữ liệu, kết quả nhận được sẽ là mô hình quan hệ thực thể nêu ra cách xử lý trong các thủ tục lưu trữ và các sự kiện dịch chuyển. Nếu xây dựng hệ thống thông qua khung nhìn của người phân tích và thiết kế hướng đối tượng, kết quả đầu ra sẽ là một hệ thống có kiến trúc xoay quanh nhiều lớp và mẫu tương tác với nhau, nhằm điều khiển các lớp đó hoạt động cùng nhau. Các mô hình tối ưu sẽ làm chi tiết những bài toán phát triển hệ thống phức tạp, giúp cho người phát triển hệ thống không bị sa lầy vào những vấn đề không cần thiết.
+ Nguyên tắc 2: Mỗi mô hình được thể hiện ở mức độ chi tiết khác nhau.
Mỗi mô hình được lựa chọn ở các mức chi tiết khác nhau tùy thuộc vào việc ai là người sử dụng mô hình và tại sao cần sử dụng mô hình, ví dụ: người sử dụng khung nhìn trường hợp sử dụng để biết hệ thống có đáp ứng được yêu cầu nghiệp vụ của nó không; người phân tích thiết kế sử dụng khung nhìn lô gíc trong quá trình phân tích và thiết kế hệ thống; người triển khai sử dụng khung nhìn triển khai để chuẩn bị môi trường vật lý (phần cứng điều khiển) cho việc thi hành hệ thống.
+ Nguyên tắc 3: Các mô hình chính xác nhất là các mô hình được liên hệ trong thực tế.
Tất cả các mô hình đều là sự đơn giản hoá của thực tế; một mô hình chính xác sẽ phản ánh đầy đủ những đặc trưng không thể thiếu về cấu trúc tĩnh và ứng xử động của hệ thống và không che lấp đi bất kỳ một chi tiết quan trọng nào. Mô hình vật lý của một hệ thống cũng có thể không được đáp ứng trên thực tế do bị hạn chế về nguồn tài nguyên và kinh phí. Vì vậy, mỗi mô hình khi xây dựng cần được xem xét và đặt trong cơ sở hạ tầng đáp ứng được
74
trong thực tế.
+ Nguyên tắc 4: Không có một mô hình đơn lẻ nào là đầy đủ; một mô hình tối ưu phải được tiếp cận thông qua một tập các mô hình độc lập tương đối với nhau.
“Độc lập tương đối” có nghĩa là các mô hình có thể được xây dựng và xem xét độc lập nhau, nhưng chúng vẫn phải có mối quan hệ tương quan với nhau, ví dụ: để hiểu cấu trúc của một hệ thống điều khiển hướng đối tượng, những người phát triển hệ thống cần kết hợp xem xét trên các khung nhìn trường hợp sử dụng, khung nhìn lô gíc, khung nhìn xử lý, khung nhìn thực thi và khung nhìn triển khai. Mỗi khung nhìn được xây dựng từ những góc nhìn khác nhau để thể hiện cấu trúc và ứng xử của hệ thống. Chúng cùng nhau tạo nên một bản thiết kế đầy đủ và chi tiết cho một hệ thống [12], [36].