Danh mục

Một số tính toán và làm mịn với các thành phần

Số trang: 8      Loại file: pdf      Dung lượng: 304.36 KB      Lượt xem: 15      Lượt tải: 0    
Jamona

Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Trong bài báo chúng tôi sẽ trình bày một cách hình thức một số khái niệm cơ bản quan trọng cho mô hình phát triển phần mềm thành phần, bao gồm giao diện, các hợp đồng, các giao thức tương tác, các thành phần và những quan hệ giữa các khái niệm đó, các tính toán làm mịn giữa chúng với nhau.
Nội dung trích xuất từ tài liệu:
Một số tính toán và làm mịn với các thành phầnNguyễn Mạnh ĐứcTạp chí KHOA HỌC & CÔNG NGHỆ78(02): 97 - 104MỘT SỐ TÍNH TOÁN VÀ LÀM MỊN VỚI CÁC THÀNH PHẦNNguyễn Mạnh ĐứcKhoa Toán, Trường Đại học Sư phạm – Đại học Thái NguyênTÓM TẮTTrong bài báo chúng tôi sẽ trình bày một cách hình thức một số khái niệm cơ bản quan trọng chomô hình phát triển phần mềm thành phần, bao gồm giao diện, các hợp đồng, các giao thức tươngtác, các thành phần và những quan hệ giữa các khái niệm đó, các tính toán làm mịn giữa chúng vớinhau. Các đặc tả và các tính toán làm mịn được thực hiện dựa theo mô hình tính toán rCOS, để bảođảm tính đúng đắn và nhất quán của hệ thống. Những công việc này có thể được thực hiện trongcác giai đoạn khác nhau của tiến trình phát triển phần mềm. Từ đó cho thấy ý nghĩa và sự cần thiếtkhi phát triển phương pháp hình thức trong kỹ nghệ phần mềm hướng thành phần.Từ khóa: Làm mịn hệ thống đối tượng và thành phần , thiết kế , giao diện, hợp đồng, thành phần,ngôn ngữ mô hình hóa thống nhất UMLGIỚI THIỆU*Sử dụng các thành phần để xây dựng và bảotrì các hệ thống phần mềm không phải là ýtưởng mới. Tuy nhiên, do độ phức tạp của cáchệ thống trong ngày nay đang tăng lên nhanh,điều đó đã buộc chúng ta phải trở lại với ýtưởng này trong thực tế [3]. Các kỹ thuật dựatrên công nghệ hướng đối tượng và thànhphần đã trở nên phổ biến và được sử dụngrộng rãi để mô hình hóa và thiết kế các hệthống phần mềm lớn và phức tạp. Chúng cungcấp sự hỗ trợ hiệu quả để phân tách một ứngdụng thành các đối tượng và thành phần, phụcvụ hữu hiệu cho việc sử dụng lại, mở rộngnhững thiết kế đã có và cài đặt mới… Cáccông việc phân tích và kiểm tra hệ thống phứchợp có thể sẽ dễ dàng hơn do kiến trúc của hệthống thành phần [5].Thiết kế và phát triển hệ thống phần mềm vớingôn ngữ hướng đối tượng đã được thừa nhậnlà rất phức tạp [2]. Phát triển phần mềm theohướng thành phần là bước phát triển logic tiếptheo của phương pháp hướng đối tượng.Nhiều nhà nghiên cứu đã chỉ ra sự cần thiếtphát triển công cụ hình thức hoá làm nền tảngcho việc phát triển phần mềm hướng đốitượng và hướng thành phần. Trong bài báonày chúng ta xem xét kỹ thuật mô hình hóamà nó hỗ trợ sự đặc tả các hệ thống đối tượngvà thành phần ở mức trừu tượng cao, dựa trên*Tel: 0915 564 249; Email: nmductn@yahoo.comlý thuyết lập trình thống nhất của Hoare vàHe [1, 5]. Đề xuất một số vấn đề phục vụ choviệc thiết kế và phát triển các hệ thống thànhphần, dùng cho việc xây dựng một cách đúngđắn các chương trình hướng thành phần.Sau phần giới thiệu, phần 2 trình bày kháiniệm giao diện (interface), phần 3 trình bàykhái niệm hợp đồng (contract), phần 4 trìnhbày khái niệm về thành phần (component).Trong mỗi phần chúng tôi sẽ đưa ra các thảoluận, một số tính chất và các ngữ nghĩa, mốiquan hệ giữa chúng và các tính toán làm mịnliên quan. Trong phần 5 sẽ đưa ra một sốnhận xét và kết luận về các công việc mà màchúng tôi đã tiến hành.GIAO DIỆN (INTERFACES)Giao diện của một thành phần có thể đượcđịnh nghĩa như là sự đặc tả điểm truy nhậpcủa thành phần đó [4]. Các khách hàng truynhập tới các dịch vụ được cung cấp bởi mộtthành phần bằng cách sử dụng các điểm truynhập này. Nếu một thành phần có nhiều điểmtruy nhập, mỗi điểm truy nhập đó biểu diễncho các dịch vụ khác được đưa ra bởi thànhphần, thì thành phần được mở rộng phải cónhiều giao diện.Interface là một tập hợp các đặc trưng, ở đâyđặc trưng có thể là trường hoặc phương thức.Một cách hình thức, ta có thể định nghĩaInterface như sau.Định nghĩa (Interface): Interface là cặp khaibáo đặc các trưng I = . Trong97Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyênhttp://www.lrc-tnu.edu.vnNguyễn Mạnh ĐứcTạp chí KHOA HỌC & CÔNG NGHỆđó FDec là tập các khai báo trường, được kýhiệu là I.FDec; MDec là tập các khai báophương thức, được ký hiệu là I.MDec.Mỗi thành viên của FDec có dạng x: T, ở đâyx là tên và T là kiểu của trường được khaibáo. Không được khai báo các trường trùngtên trong cùng một FDec.Một phương thức (phép toán) trong MDec códạng m(in inx, out outx), trong đó m là tên củaphương thức, inx là danh sách các tham sốvào, outx là danh sách các tham số ra; Mỗimột khai báo tham số vào hoặc ra có dạng u:U là tên và kiểu của tham số.Tên của phương thức cùng với các tham sốcùng với các kiểu của các tham số vào và ratạo thành ký danh của phương thức. Nóichung cả inx và outx có thể trống. Để đơngiản hóa và không làm mất tính tổng quát,chúng ta có thể biểu diễn lại phương thức ởdạng m(in: U, out: V) bằng cách bỏ đi các từkhóa inx và outx, do đó có thể coi m(in1: U,out1: V) và m(in2: U, out2: V) là các phươngthức cùng một ký danh. Đơn giản hơn có thểbiểu diễn một phương thức của Interface làm(u, v), với u và v là các tham số vào và racủa m.Trong một Interface không thực thi bất kỳmột phương thức nào của nó, thay vì đó chỉ làcác tên của các phương thức cùng với cáctham số để cung cấp các ký danh cho nhữngphép toán của chúng.Ví dụ 1: Một bộ đệm của các số nguyên, giaodiện của nó có khả năng cho người sử dụngđặt vào và lấy ra dữ liệu từ nó. Ta có thể biểudiễn giao diện này như sau:IBuff = ở đây seq(int) là kiểu dãy hữu hạn có thứ tựcủa các số nguyên và chúng ta qui ước có thểdùng các ký pháp chuẩn để chỉ độ dài, phầntử đầu tiên hay cuối cùng… của dãy.Định nghĩa (tính gộp lại): Hai Interface làcó khả năng gộp lại (composable) nếu chúngkhông sử dụng cùng một tên trường với cáckiểu khác nhau.Giả sử I và J là các Interface có khả nănggộp lại, kí pháp I ⊕ J biểu diễn một interface78(02): 97 - 104với các thành phần trường và phương thứcnhư sau:(I ⊕ J).FDec def I. FDec ∪J.FDec(I ⊕ J).MDec def I.MDec1 ∪J.MDecTheo định nghĩa trên ta có các tính chất sauvới các Interface có tính gộp lại:(1) I ⊕ I = I(2) I⊕ J = J⊕ I(3) I1⊕ (I2⊕ I3 ) = (I1⊕ I2)⊕ I3Ta có thể dễ dàng chứng minh các tính chấtnày như sau:(1) Theo tính chất lũy đẳng củacác phép toán tập hợp.(2) Theo tính ...

Tài liệu được xem nhiều: