Mô hình hóa các hệ thống dựa trên các thành phần

41 887 1
Mô hình hóa các hệ thống dựa trên các thành phần

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Tài liệu tham khảo công nghệ thông tin Mô hình hóa các hệ thống dựa trên các thành phần

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Nguyễn Văn Nghiệp HÌNH HÓA CÁC HỆ THỐNG DỰA TRÊN CÁC THÀNH PHẦN KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tin HÀ NỘI - 2009 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Nguyễn Văn Nghiệp HÌNH HÓA CÁC HỆ THỐNG DỰA TRÊN CÁC THÀNH PHẦN KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tin Cán bộ hướng dẫn: TS. Đặng Văn Hưng HÀ NỘI - 2009 TÓM TẮT NỘI DUNG KHÓA LUẬN Mục đích của khóa luận là nghiên cứu và tìm hiểu các khái niệm liên quan đến thành phần phần mềm, hệ thống dựa trên thành phầnhệ thống dựa trên thành phần thời gian thực. Đầu tiên tôi sẽ trình bày tổng quan về việc xây dựng hệ thống dựa trên thành phầncác lợi ích của nó trong việc phân tích, thiết kế các hệ thống thông tin. Tôi sẽ trình bày việc mô hình hóa hình thức hệ thống dựa trên thành phần dựa trên nền tảng của UTP (Unifying Theory of Programming). Tôi sẽ trình bày về các khái niệm trong hình hệ thống dựa trên thành phần như: giao diện, hợp đồng, thành phần, kết hợp thành phần. Các định nghĩa này sẽ đóng vai trò nền tảng cho việc phát triển các khuôn mẫu cho thành phần. Một hợp đồng được định nghĩa sẽ bao hàm đặc tả của các phương thức, một thành phần được định nghĩa là một cài đặt của một hợp đồng. Cài đặt này có thể yêu cầu các dịch vụ từ các thành phần khác với một vài giả thiết về lập lịch cho việc giải quyết xung đột các phương thức dùng chung và sử dụng các tài nguyên hiện có trong xử lí song song. Trong khóa luận tôi sẽ trình bày sâu hơn về hình thành phần thời gian thực dựa trên các khái niệm, các định nghĩa đã được nêu ra trước đó. Với phần này, tôi đưa ra một hình giao diện thành phần cho hệ thống dựa trên thành phần thời gian thực. Cùng với đó, đặc tả phương thức sẽ được mở rộng với một ràng buộc về thời gian là một quan hệ giữa tài nguyên có sẵn và lượng thời gian tiêu tốn để thực thi phương thức. Với hình đó, nó hỗ trợ sự phân tách giữa yêu cầu chức năng, yêu cầu phi chức năng và kiểm chứng hợp phần hình thức của hệ thống dựa trên thành phần thời gian thực. Cuối cùng tôi cho một ví dụ minh họa cho hình được nghiên cứu trong luận văn này. LỜI CẢM ƠN. Em xin chân thành cảm ơn các thầy giáo, cô giáo trong khoa đã giúp đỡ em trong thời gian học tập tại khoa để em có những kiến thức nền tảng cho việc nghiên cứu khoa học để áp dụng vào việc nghiên cứu những lý thuyết, kiến thức liên quan đến đề tài khóa luận tốt nghiệp. Đặc biệt, em xin gửi lời cảm ơn sâu sắc đến Tiến sĩ Đặng Văn Hưng, người đã luôn quan tâm, giúp đỡ, hướng dẫn em trong suốt quá trình nghiên cứu và trình bày khóa. Thầy đã giúp em rất nhiều trong việc tiếp cận các vấn đề mà em còn chưa hiểu rõ, thầy luôn nhiệt tình chỉ dạy cho em những kinh nghiệm quý báu khi tiếp cận các vấn đề mới. Em cũng xin cảm ơn tới gia đình. Gia đình là nguồn lực động viên em khi làm khóa luận này. Sinh viên Nguyễn Văn Nghiệp MỤC LỤC LỜI MỞ ĐẦU 1 1. TỔNG QUAN VỀ HỆ THỐNG DỰA TRÊN CÁC THÀNH PHẦN .3 1.1. Hệ thống dựa trên thành phần là gì? 3 1.1.1. Thành phần phần mềm 3 1.1.2. Hệ thống dựa trên thành phần 4 1.2. Hệ thống thời gian thực là gì? .6 2. KIẾN TRÚC HỆ THỐNG DỰA TRÊN THÀNH PHẦN 7 3. TÌM HIỂU HÌNH THÀNH PHẦN 8 3.1 Thiết kế dưới dạng công thức logic 8 3.2 Giao diện và hợp đồng 9 3.3. Kết hợp hợp đồng .11 4. HÌNH THÀNH PHẦN THỜI GIAN THỰC .18 4.1. Các thiết kế có nhãn ràng buộc về thời gian sử dụng như dịch vụ 18 4.2. Sử dụng các ngôn ngữ hình thức có nhãn ràng buộc về thời gian để đặc các giao thức tương tác thời gian thực và đặc tả tiến trình. 22 4.3. Các hợp đồng thời gian thực. 23 4.4. Thành phần bị động .25 4.5. Thành phần chủ động 28 5. ỨNG DỤNG HÌNH THÀNH PHẦN TRONG HỆ THỐNG NHÚNG .30 KẾT LUẬN 33 BẢNG KÍ HIỆU, VIẾT TẮT = Bằng P Q∧ P và Q P Q∨ P hoặc Q P¬ Phủ định P P Q⇒ Nếu P thì Q :x T P∃ • Tồn tại x trong tập T sao cho P :x T P∀ • Mọi x trong T sao cho P ∈ Thuộc ∉ Không thuộc {} Tập rỗng { }a Tập đơn chứa duy nhất phần tử a { : | ( )}x T P x Tập hợp tất cả x trong T sao cho P(x) { ( ): | ( )}f x T P x Tập hợp giá trị của hàm f(x) sao cho P(x) S T∪ S hợp T S T∩ S giao T \S T S trừ T S T⊆ S chứa trong T S T⊇ S chứa T Dãy rỗng a Dãy chứa duy nhất a ok Chương trình đã khởi động ok′ Chương trình đạt đến trạng thái ổn định [ ]P Q⇒ P bao hàm Q mọi nơi P Q⊢ Quan hệ ok P ok Q′∧⇒∧ P Q⊒ P là một bản làm mịn của Q có nghĩa là [ ]P Q⇒ ( , ) ( )s P t,Q⊑ ( , )t Q được làm mịn từ ( , )s P ||P Q Phân tách hợp phần song song của P và Q M Hợp phần song song với toán tử M :x e= Gán giá trị e cho biến x. 1 LỜI MỞ ĐẦU Từ khi máy tính được phát minh, chế tạo thành công, con người đã được hưởng những thành quả của khoa học máy tính. Các hệ thống thông tin được xây dựng nhằm giúp cho việc tính toán trở nên nhanh chóng và hiệu quả hơn. Các chương trình phần mềm được thiết kế và cài đặt với mục đích hỗ trợ tốt hơn cho con người trong nhu cầu công việc hàng ngày. Ban đầu, công việc thiết kế, lập trình các hệ thống chưa được hỗ trợ nhiều. Từ việc lập trình bằng ngôn ngữ máy đến lập trình bằng ngôn ngữ bậc cao. Con người tiếp cận lập trình hướng cấu trúc với cách thể hiện phù hợp với kiến trúc máy tính thời điểm đó. Và sau đó là tiến thêm một bước nữa trong việc phát triển các hệ thống thông tin, đó là lập trình hướng đối tượng. Bằng việc sử dụng các lớp, các đối tượng trong lập trình, các hệ thống được xây dựng lên đã trở nên linh hoạt hơn, đáp ứng được như cầu sử dụng. Trước những phát triển không ngừng của công nghệ phần mềm, một hình hệ thống mới đã được nghiên cứu, phát triển. Đó là hình hệ thống dựa trên thành phần. Ngày nay, kĩ thật sử dụng hướng đối tượng và dựa trên thành phần ngày càng trở nên phổ biến và sử dụng rộng rãi trong việc hình hóa và thiết kế các hệ thống phần mềm phức tạp. Chúng cung cấp sự hỗ trợ có hiệu quả tới sự phân hoạch một ứng dụng vào trong những đối tượng và những thành phần, mà có thể được hiểu rõ bằng việc sử dụng lại và mở rộng những thiết kế và những cài đặt hiện có. Những phân tích và kiểm chứng các hệ thống đó cũng có thể dễ dàng hơn vì kiến trúc hợp thành phần hợp thành. Với sự ra đời của hướng nghiên cứu mới này, các hệ thống được xây dựng dễ dàng hơn, linh hoạt hơn rất nhiều. Đặc biệt, các hệ thống có tính bảo mật hiệu quả cao hơn rất nhiều so với các hình đã được nghiên cứu và phát triển trước đây. Nguyên tắc cơ bản của hệ thống dựa trên thành phần là cắm và chạy (plug and play) nên hệ thống là tổ hợp của rất nhiều thành phẩn. Hệ thống có thể mở rộng, bảo trì một cách dễ dàng. Hiện có các kĩ thuật hướng đối tượng và dựa trên thành phần đã được phát triển từ lâu như như CORBA, EJB, J2EE. Nhưng ngày nay, các ngôn ngữ mô hình hóa hình thức và nửa hình thức đang trở nên phổ biến và hỗ trợ phát triển hệ thống dựa trên hình như UML, JML, Alloy và BIP. Tiếp cận với xu hướng đó, khóa luận này xin được trình bày một số khái niệm về hệ thống dựa trên thành phần, các khái niệm cụ thể hơn trong hình hệ thống dựa trên thành phần thời gian thực. Bên cạnh đó, khóa luận sẽ đi sâu tìm hiểu về hình hệ thống dựa trên thành phần từ việc tìm hiểu hình thành phần. Sau khi nghiên cứu 2 các khái niệm đó, tôi sẽ trình bày về một ví dụ áp dụng hình này vào trong một hệ thống thực tế. Do thời gian và trình độ của sinh việc còn hạn chế nên trong khi trình bày và tìm hiểu các khái niệm chưa được thấu đáo. Khóa luận sẽ không tránh được một số lỗi. Rất mong nhận được sự đóng góp của đọc giả để sinh viên có được những kinh nghiệm trong việc nghiên cứu các vấn đề mang tính khoa học sau này. 3 1. TỔNG QUAN VỀ HỆ THỐNG DỰA TRÊN CÁC THÀNH PHẦN 1.1. Hệ thống dựa trên thành phần là gì? 1.1.1. Thành phần phần mềm. Ngày nay, hầu hết các sản phẩm công nghiệp đều làm từ các thành phần cơ khí. Ví dụ như ô tô được lắp ráp từ động cơ, bánh xe, ghế ngồi… Còn với máy tính thì lại được lắp ráp từ bộ vi xử lí, ổ cứng, bộ nhớ trong (RAM), CD-Rom… Việc lắp ráp các thành phần cơ bản để tạo thành một sản phẩm hay đồ vật đã được loài người sử dụng từ hàng ngàn năm trước. Đối với ngành công nghiệp phần mềm, việc xây dựng các sản phẩm phần mềm từ các thành phần phần mềm (viết tắt là thành phần) cơ bản (Component) được áp dụng từ khá sớm. Theo G. Goos và C. Szyperski thì thành phần phần mềm là thành phần cơ bản được chỉ rõ bằng hợp đồng cho phần mềm mà có thể sẵn sàng được triển khai bởi bên thứ ba không có hiểu biết về cấu trúc bên trong của nó. Ta có thể tham khảo một hình của thành phần UML. Hình 1. hình thành phần UML Các đặc trưng chính của thành phần được chỉ ra là: • Tính đóng gói • Xác định duy nhất • Khả năng sử dụng lại • Sẵn sàng để sử dụng • Nhiều dạng thể hiện • Giao diện • Client anonymity Bên cạnh đó, thành phần còn có các đặc tính khác như: • Độc lập về ngôn ngữ • Độc lập về nền tảng • Khả năng cấu hình [...]... của các thành phần phải thỏa mãn ràng buộc về thời gian Ví dụ Hệ hướng dẫn lái xe Hệ thống này sẽ được làm rõ hơn trong phần 5 của khóa luận 6 2 KIẾN TRÚC HỆ THỐNG DỰA TRÊN THÀNH PHẦN Với định nghĩa của một hệ thống hướng thành phần như trên, kiến trúc của hệ thống dựa trên thành phần bao gồm các thành phần độc lập và giao tiếp với nhau qua các giao diện giao tiếp Sự kết hợp đó sẽ tạo thành một hệ thống. .. giải quyết các vấn đề cốt lõi trong sự tiến hóa không đồng nhất và độc lập của các thành phần này Với phát biểu trên, hệ thống dựa trên thành phần đem lại nhiều lợi ích cho người phát triển hệ thống Các lợi ích đó được liệt kê dưới đây 4 • Việc sử dụng các thành phần riêng biệt nên các thành phần được phát triển độc lập Điều đó làm cho hình thành một thư viện các thành phần Từ thư viện thành phần đó dẫn... sánh ở trên Thành phần cho thấy sự linh động, tính đóng gói của nó Nó có thể chạy trên nhiều hệ thống, nền tảng mà không gặp nhiều trở ngại lớn Trong khi đó, lớp lại trở nên kém hiệu quả hơn, hạn chế trong nhiều trường hợp 1.1.2 Hệ thống dựa trên thành phần Hệ thống dựa trên thành phần được xây dựng cơ bản từ các thành phần thương mại dựng sẵn (COTS components) Xây dựng hệ thống từ nhiều thành phần COTS... thống lớn Hệ thống dựa trên thành phần được chia làm 2 phần: phần bị động và phần chủ động Phần bị động: là một tổ hợp các thành phần liên kết với nhau Phần chủ động: là một tập hợp các tiến trình phản ứng lại các tác động được gây ra từ các sự kiện bên ngoài Chúng sử dụng các dịch vụ từ thành phần bị động để đáp ứng lại yêu cầu từ các tác nhân bên ngoài hệ thống thông qua giao diện thành phần Kiến... mộ hệ thống phải được phát triển trên cùng một ngôn ngữ lập trình Nhưng với sự ra đời của phương pháp phát triển hệ thống dựa trên thành phần, các thành phần có thể được viết bằng các ngôn ngữ khác nhau Bởi vì các thành phần tương tác với nhau bằng giao diện và hợp đồng Vấn đề này sẽ được đề cập rõ hơn trong các phần sau 1.2 Hệ thống thời gian thực là gì? Hệ thống thời gian thực là hệ thốngcác dịch... triển các hệ thống trở nên nhanh chóng Bên cạnh đó, các thành phần này được kiểm chứng tính đúng đắn, kiểm thử các lỗi logic, … nên hạn chế được rủi ro cho hệ thống Đây là một thế mạnh mà các hệ thống khác khó đạt được • Các thành phần được tái sử dụng một cách hiệu quả Mỗi lần phát triển một hệ thống mới không cần phải phát triển lại hoàn toàn mới các thành phàn mà vẫn có thể sử dụng các thành phần. .. lập trình dựa trên thành phần Định lí 3 Lấy S = ( ActComp, Comp′) là một hệ thống làm thành từ thành phần chủ động ActComp = Ctr , SysCtr , Mcode và thành phần bị động Comp′ = Ctr ′, Mcode′ 17 Lấy Comp′′ = Ctr ′′, Mcode′′ là một thành phần bị động, Ctr ′ ⊑ Ctr ′′ Nên ( ActComp, Comp′′) cũng là một hệ thống tương đương với S 4 HÌNH THÀNH PHẦN THỜI GIAN THỰC Các hình được trình bày trong phần trước... lắng nghe các biến cố của cự kiện e Bất kì khi nào mà biến cố e xảy ra, phương thức D sẽ được gọi Định nghĩa 12 Một hệ thống dựa trên thành phần là một tập S của các thành phần sao cho bất kì thành phần chủ động U ∈ S nào, bất kì V sao cho U Dep* V mà V ∈ S chiếm giữ Trong một hệ thống dựa trên thành phần, ta có thể thay thế một thành phần bị động bằng một thành phần tốt hơn mà không vi phạm các yêu... quá trình phát triển hệ thống mới, các thành phần mới được đưa vào thư việc thành phần Với việc tái sử dụng thanh phần, giá thành sẽ được giảm đi một cách đáng kể Không những vậy, chất lượng cũng được nâng cao, đảm bảo yêu cầu của người sử dụng Hình 3 hình tái sử dụng thành phần • Dễ dàng bảo trì là một lợi ích rất làm cho hệ thống thành phần trở nên linh hoạt hơn Các thành phần được phát triển... = 0 Thành phần double _ quadr được tả bằng đoạn mã bên dưới Phần chủ động gồm có vài tiến trình và một giao diện yêu cầu, mà có thể được gắn và phần bị động Một tiến trình được tả bởi một chương trình sử dụng các dịch vụ từ phần bị động để phản ứng lại các sự kiện từ môi trường của hệ thống Các sự kiện không được điều khiển bởi hệ thống Vậy các sự kiện thú vị từ môi trường và dịch vụ hệ thống . 1. TỔNG QUAN VỀ HỆ THỐNG DỰA TRÊN CÁC THÀNH PHẦN 1.1. Hệ thống dựa trên thành phần là gì? 1.1.1. Thành phần phần mềm. Ngày nay, hầu hết các sản phẩm công. 1.1.2. Hệ thống dựa trên thành phần Hệ thống dựa trên thành phần được xây dựng cơ bản từ các thành phần thương mại dựng sẵn (COTS components). Xây dựng hệ thống

Ngày đăng: 23/11/2012, 15:03

Hình ảnh liên quan

MÔ HÌNH HÓA - Mô hình hóa các hệ thống dựa trên các thành phần
MÔ HÌNH HÓA Xem tại trang 1 của tài liệu.
MÔ HÌNH HÓA - Mô hình hóa các hệ thống dựa trên các thành phần
MÔ HÌNH HÓA Xem tại trang 2 của tài liệu.
Hình 1. Mô hình thành phần UML - Mô hình hóa các hệ thống dựa trên các thành phần

Hình 1..

Mô hình thành phần UML Xem tại trang 10 của tài liệu.
Hình 2: Tính đóng gói của thành phần - Mô hình hóa các hệ thống dựa trên các thành phần

Hình 2.

Tính đóng gói của thành phần Xem tại trang 11 của tài liệu.
Sự khác biệt đã được thể hiện rõ trong bảng so sán hở trên. Thành phần cho thấy sự linh động, tính đóng gói của nó - Mô hình hóa các hệ thống dựa trên các thành phần

kh.

ác biệt đã được thể hiện rõ trong bảng so sán hở trên. Thành phần cho thấy sự linh động, tính đóng gói của nó Xem tại trang 11 của tài liệu.
Hình 3. Mô hình tái sử dụng thành phần - Mô hình hóa các hệ thống dựa trên các thành phần

Hình 3..

Mô hình tái sử dụng thành phần Xem tại trang 12 của tài liệu.
Kiến trúc của hệ thống được mô tả trong hình dưới. - Mô hình hóa các hệ thống dựa trên các thành phần

i.

ến trúc của hệ thống được mô tả trong hình dưới Xem tại trang 14 của tài liệu.
5. ỨNG DỤNG MÔ HÌNH THÀNH PHẦN TRONG HỆ THỐNG NHÚNG - Mô hình hóa các hệ thống dựa trên các thành phần

5..

ỨNG DỤNG MÔ HÌNH THÀNH PHẦN TRONG HỆ THỐNG NHÚNG Xem tại trang 37 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan