CHƯƠNG 1. TỔNG QUAN VỀ CÁC PHƯƠNG TIỆN TỰ HÀNH DƯỚI NƯỚC VÀ PHƯƠNG PHÁP MÔ HÌNH HÓA, MÔ PHỎNG, THỰC THI HỆ THỐNG ĐIỀU KHIỂN
1.3. CÁC PHƯƠNG PHÁP MÔ HÌNH HÓA, MÔ PHỎNG VÀ THỰC THI ÁP DỤNG TRONG ĐIỀU KHIỂN AUV
1.3.3. Công nghệ hướng đối tượng trong việc phát triển AUV - HDS
Để phục vụ cho công việc mô hình hóa vốn là cốt lõi của việc phân tích, thiết kếhướng đối tượng, ngôn ngữ UML [15]được sử dụng rộng rãi. UML đã được chuẩn hóa bởi tổ chức OMG[52] nhƣ là một ngôn ngữ đồ họa dùng để trực quan hóa, đặc tả, xây dựng và lập tƣ liệucho các ứng dụng hệ thống phần mềm chuyên nghiệp. UML đem lại cho người sử dụng phương pháp chuẩn để tạo ra bản thiết kế hệ thống bao trùm từcụ thể nhƣ các lớp viết bằng một ngôn ngữ lập trình nào đó, các thành phần phần mềm có thể tái sử dụng v.v… cho đến những yếu tố trừu tƣợng nhƣ những chức năng của toàn bộ hệ thống. Vì lý do này, ngôn ngữ UML không những chỉ đƣợc sử dụng để mô tả, xây dựng kiến trúc và thiết kế các hệ thống phần mềm, mà còn là một công cụ mô hình hóa thích hợp cho các hệ thống kỹ thuật nói chung và các hệ thống điều khiển nói riêng.
Ngôn ngữ mô hình hóa trong thời gian thực (RealTime UML)[16],[22], [24],[44]đƣợc phát triển dựa trên UML và chuẩn hóa bởi OMG. Nó dùng để đặc tả,
39
trực quan, xây dựng và lập tài liệu các thành phần của các ứng dụng phần mềm điều khiển trong các hệ thống thời gian thực và hệ thống nhúng. RealTime UML bao gồm tất cả các ký hiệu mô hình hóa của UML, ngoài ra nó còn đƣa ra các ký hiệu mô hình hóa: gói, cổng và giao thức nhằm mô hình hóa các hệ thống điều khiển trong công nghiệp.
Gúi là một lớp cú kiểu mở rộng đƣợc đặc trƣng ôCapsuleằ. Cỏc gúi cú nhiều đặc tính giống nhau nhƣ là các lớp; ví dụ: Chúng có thể có nhiều thao tác (Operation) và thuộc tính (Attributes). Tuy nhiên, chúng cũng có một vài tính chất đặc biệt nhƣ là các cổng dùng chung, thao tác riêng, thông điệp thông qua giao thức truyền đạt ứng xử.
Giao thức là tập hợp các thông điệp trao đổi giữa các gói. Các thông điệp này có thể là tín hiệu hoặc sự kiện trên đầu vào hoặc đầu ra của giao thức.
Các cổng là những đối tƣợng có mục đích là để gửi và nhận các thông điệp từ các gói. Chúng đƣợc tạo ra và mất đi khi gói đƣợc sinh ra và mất đi. Để xác định rõ những thông điệp nào có thể đƣợc gửi đi từ cổng, cổng đƣợc kết hợp với giao thức.
Ví dụ về các gói, các gói con, các cổng và các giao diện đƣợc thể hiện trênHình 1.6 thông qua sơ đồ lớp.
Hình 1.6. Ví dụ về các gói, các cổng và giao thức
40
Nhƣ vậy, các ký hiệu của UML bao gồm: lớp, đối tƣợng, thông điệp, kết hợp để mô hình một hệ thống thông tin tổng quát; nhƣng các ký hiệu này không đủ để mô tả cách chính xác các tương tác giữa các đối tượng của hệ thống phức tạp. Vì lý do đó, luận án lựa chọn RealTime UML bao gồm thêm các ký hiệu: các gói, cổng và giao thức, để đặc tả mô hình phân tích và thiết kế các hệ thống điều khiển với Automate lai.
1.3.3.2. Phân tích và thiết kế hướng đối tượng
Phương pháp lập trình đã phát triển từ lập trình không có cấu trúc tới lập trình có cấu trúc và tới nay là lập trình hướng đối tượng. Phương pháp phân tích, thiết kế phần mềm cũng đi theo các bước tiến triển này. Trước đây, người ta phân tích, thiết kế phần mềm theo kiểu hướng thủ tục hoặc hướng dữ liệu [16]. Theo phương pháp này, phần mềm cần xây dựng được chia thành giải thuật và cấu trúc dữ liệu. Trong quá trình phân tích, giải thuật đƣợc phân chia thành các giải thuật con đơn giản hơn, cấu trúc dữ liệu lớn đƣợc chia thành những cấu trúc nhỏ hơn.
Quá trình tương tự cũng được tiến hành trong quá trình thiết kế.
Phương pháp phân tích, thiết kế hướng thủ tục hoặc hướng dữ liệu có ưu điểm đơn giản, nhanh chóng tạo ra kết quả (do tiến hành theo kiểu từ trên xuống) nhƣng kết quả tạo ra không phản ánh bản chất thực, dẫn đến cứng nhắc, khó thay đổi khi yêu cầu đặt ra thay đổi, khó mở rộng khi hệ thống phát triển.
Phương pháp phân tích, thiết kế phần mềm tiên tiến hiện nay là hướng đối tƣợng, trong đó khối cơ bản để xây dựng nên phần mềm là đối tƣợng hay lớp. Nói một cách đơn giản, đối tƣợng là sự phản ánh thế giới tự nhiên xung quanh.
Ưu điểm lớn nhất của phân tích, thiết kế phần mềm hướng đối tượng không phải nằm ở chỗ tạo ra chương trình nhanh tốn ít công sức, mà nằm ở chỗ nó gần với thực tế và do đó thúc đẩy việc tái sử dụng lại những thành quả đã xây dựng đƣợc nhƣ mã lệnh hay bản thiết kế.
41