CHƯƠNG 1. TỔNG QUAN VỀ PHƯƠNG TIỆN BAY KHÔNG NGƯỜI LÁI VÀ CÁC KỸ THUẬT ĐIỀU KHIỂN
1.3. Phương pháp lai và công nghệ hướng đối tượng trong mô hình hóa hệ thống điều khiển
1.3.3. Kiến trúc hướng theo mô hình
Kiến trúc hướng mô hình (MDA) [58] là một cách tiếp cận mô hình hoá trực quan trong suốt quá trình tìm hiểu, phân tích, thiết kế, thực thi một hệ thống phần mềm nói chung, đặc biệt là trong điều khiển công nghiệp. Một số ứng dụng quan trọng về MDA trong điều khiển công nghiệp đã được mô tả trong [57].
MDA phân chia mô hình hệ thống từ mức độ trừu tượng hóa cao cho đến mức chi tiết và cung cấp các luật chuyển đổi cho phép chuyển đổi giữa các mô hình. Các mô hình chính của MDA bao gồm: mô hình độc lập với thao tác tính toán (CIM), mô hình độc lập với nền công nghệ (PIM) và mô hình theo nền công nghệ cụ thể (PSM).
Hình 1.11 mô tả một cách tổng quan về sự phân loại các mô hình chính của MDA theo trật tự từ mức độ trừu tượng hóa đến cụ thể hoá. Hình 1.12 minh họa một quá trình phát triển phần mềm điều khiển công nghiệp theo kiến trúc hướng mô hình.
34
Hình 1.11. Sự phân loại các mô hình chính trong MDA
Hình 1.12. Ví dụ về phát triển hướng theo mô hình Mô hình độc lập với thao tác tính toán (CIM):
CIM được xem như là mô hình nghiệp vụ hoặc lĩnh vực phát triển liên quan mô tả hệ thống ở mức cao nhất về cấp độ trừu tượng. Mục tiêu cơ bản của CIM là dùng để mô hình hóa toàn bộ vấn đề của hệ thống trong ngữ cảnh nghiệp vụ, không đi vào giải pháp hoặc làm thế nào có thể thực thi được vấn đề đó. Hình 1.13 sử dụng sơ đồ lớp của UML nhằm đưa ra một ví dụ cụ thể của CIM. Trong mô hình này không có thông tin nào chỉ ra giải pháp dựa trên thao tác tính toán.
35
Hình 1.13. Ví dụ về CIM Mô hình độc lập với nền công nghệ (PIM):
PIM được các nhà thiết kế sử dụng để mô tả giải pháp ở mức độ trừu tượng cao, độc lập với nền công nghệ dùng để triển khai giải pháp đó. Tiếp theo, khái niệm về mức độ trừu tượng cao của giải pháp này có thể được chuyển sang các mô hình cụ thể của các nền công nghệ khác nhau. Hình 1.14 sử dụng sơ đồ lớp của UML nhằm giới thiệu ví dụ về PIM xuất phát từ ví dụ về CIM được mô tả trên hình 1.13.
Hình 1.14. Ví dụ về PIM dựa theo hình 1.13
Mô hình này đã tiến gần tới việc thực thi, nhưng nó không gắn chặt với một nền công nghệ nào cả. Ở đây, một nền công nghệ đích đối với hệ thống phần mềm điều khiển có thể là một trong nhiều các yếu tố sau: một hệ thống điều hành cụ thể, một vi xử lý tính toán cụ thể, một ngôn ngữ lập trình cụ thể, hoặc là một thư viện mã cụ thể.
36
Mô hình theo nền công nghệ cụ thể (PSM):
PSM đặc tả sự kết hợp giữa các thông tin được xác định trong PIM với một nền công nghệ cụ thể. Nó thể hiện làm thế nào để một giải pháp có thể được thực thi trên một nền công nghệ mà chúng ta lựa chọn tối ưu nhất. Hình 1.15 sử dụng sơ đồ lớp của UML nhằm chỉ ra ví dụ về PSM xuất phát từ ví dụ về PIM được mô tả trên hình 1.14. Trong mô hình này, PSM đã thể hiện PIM của nó thông qua việc sử dụng các thuật ngữ và cấu trúc của một công nghệ cụ thể đó là J2EE.
Hình 1.15. Ví dụ về PSM dựa theo hình 1.14 với công nghệ J2EE
Ngoài ra, sự chuyển đổi mô hình trong MDA là việc sử dụng một cơ chế nhất định để biến đổi các mô hình ở mức trừu tượng hoá cao thành các mô hình ở mức cụ thể và chi tiết hơn dựa trên sự định nghĩa các luật chuyển đổi. Đó là sự chuyển từ CIM sang PIM, từ PIM sang PSM, và từ PSM có thể chuyển thành mã chương trình cụ thể thực thi hệ thống. Việc chuyển đổi giữa các mô hình có thể được thực hiện qua thao tác bằng tay hoặc tự động dựa
37
vào các mẫu chuyển đổi khác nhau tuỳ thuộc vào những công cụ chuyển đổi và nền công nghệ đích, hoặc kết hợp cả hai phương thức. Hiện nay, các công cụ hỗ trợ việc chuyển đổi mô hình trong MDA tập trung chủ yếu vào giai đoạn chuyển đổi từ PIM sang PSM, chỉ có một số ít cho phép chuyển đổi từ CIM sang PIM [36].
Theo cách tiếp cận hướng đối tượng đã có nhiều ứng dụng được phát triển thành công trên các hệ thống điều khiển công nghiệp, đặc biệt các hệ thống điều khiển nhúng trong thời gian thực trong các lĩnh vực điều khiển công nghiệp khác nhau [2], [3], [22], [38], [48], [64]. Ngoài ra, có những công cụ phần mềm mã nguồn mở hoặc thương mại hỗ trợ cho việc phân tích, thiết kế và thi hành hệ thống một cách nhanh chóng và có kế thừa dựa trên phương pháp luận này, như: OpenModelica [59], MatLab-Simulink [48], IBM Rational Rose RealTime và IBM Rational Rhapsody [36].