1. Trang chủ
  2. » Giáo Dục - Đào Tạo

MÔ HÌNH hóa các hệ THỐNG dựa TRÊN các THÀNH PHẦN

41 2 0

Đ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

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Nguyễn Văn Nghiệp MƠ 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 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CƠNG NGHỆ Nguyễn Văn Nghiệp MƠ 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 hướng dẫn: TS Đặng Văn Hưng HÀ NỘI - 2009 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com TĨM TẮT NỘI DUNG KHĨA LUẬN Mục đích khóa luận nghiên cứu tìm hiểu khái niệm liên quan đến thành phần phần mềm, hệ thống dựa thành phần hệ thống dựa thành phần thời gian thực Đầu tiên tơi trình bày tổng quan việc xây dựng hệ thống dựa thành phần lợi ích việc phân tích, thiết kế hệ thống thơng tin Tơi trình bày việc mơ hình hóa hình thức hệ thống dựa thành phần dựa tảng UTP (Unifying Theory of Programming) Tơi trình bày khái niệm mơ hình hệ thống dựa 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 đóng vai trị tảng cho việc phát triển khuôn mẫu cho thành phần Một hợp đồng định nghĩa bao hàm đặc tả phương thức, thành phần định nghĩa cài đặt hợp đồng Cài đặt yêu cầu dịch vụ từ thành phần khác với vài giả thiết lập lịch cho việc giải xung đột phương thức dùng chung sử dụng tài ngun có xử lí song song Trong khóa luận tơi trình bày sâu mơ hình thành phần thời gian thực dựa khái niệm, định nghĩa nêu trước Với phần này, tơi đưa mơ hình giao diện thành phần cho hệ thống dựa thành phần thời gian thực Cùng với đó, đặc tả phương thức mở rộng với ràng buộc thời gian quan hệ tài nguyên có sẵn lượng thời gian tiêu tốn để thực thi phương thức Với mơ hình đó, hỗ trợ phân tách yêu cầu chức năng, yêu cầu phi chức kiểm chứng hợp phần hình thức hệ thống dựa thành phần thời gian thực Cuối cho ví dụ minh họa cho mơ hình nghiên cứu luận văn LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com LỜI CẢM ƠN Em xin chân thành cảm ơn thầy giáo, cô giáo khoa giúp đỡ em thời gian học tập khoa để em có kiến thức tảng cho việc nghiên cứu khoa học để áp dụng vào việc nghiên cứu 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 quan tâm, giúp đỡ, hướng dẫn em suốt trình nghiên cứu trình bày khóa Thầy giúp em nhiều việc tiếp cận vấn đề mà em chưa hiểu rõ, thầy ln nhiệt tình dạy cho em kinh nghiệm quý báu tiếp cận vấn đề Em xin cảm ơn tới gia đình Gia đình nguồn lực động viên em làm khóa luận Sinh viên Nguyễn Văn Nghiệp LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com MỤC LỤC LỜI MỞ ĐẦU 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 thành phần gì? 1.1.1 Thành phần phần mềm .3 1.1.2 Hệ thống dựa thành phần 1.2 Hệ thống thời gian thực gì? KIẾN TRÚC HỆ THỐNG DỰA TRÊN THÀNH PHẦN TÌM HIỂU MƠ HÌNH THÀNH PHẦN 3.1 Thiết kế dạng công thức logic 3.2 Giao diện hợp đồng 3.3 Kết hợp hợp đồng 11 MƠ 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 thời gian sử dụng dịch vụ 18 4.2 Sử dụng ngơn ngữ hình thức có nhãn ràng buộc thời gian để đặc giao thức tương tác thời gian thực đặ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 ỨNG DỤNG MƠ HÌNH THÀNH PHẦN TRONG HỆ THỐNG NHÚNG .30 KẾT LUẬN 33 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com BẢNG KÍ HIỆU, VIẾT TẮT = Bằng P∧Q P Q P∨Q P Q ¬P Phủ định P P⇒Q Nếu P Q ∃x : T • P Tồn x tập T cho P ∀x : T • P Mọi x T cho P ∈ Thuộc ∉ Không thuộc {} Tập rỗng {a} Tập đơn chứa phần tử a {x : T | P( x)} Tập hợp tất x T cho P(x) { f ( x) : T | P ( x)} Tập hợp giá trị hàm f(x) cho P(x) S ∪T S hợp T S ∩T S giao T S \T S trừ T S ⊆T S chứa T S ⊇T S chứa T Dãy rỗng a Dãy chứa 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 nơi P ⊢Q Quan hệ ok ∧ P ⇒ ok ′ ∧ Q LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com P ⊒Q P làm mịn Q có nghĩa [ P ⇒ Q ] ( s, P ) ⊑ (t,Q) (t , Q) làm mịn từ ( s, P) P || Q Phân tách hợp phần song song P Q M x := e Hợp phần song song với toán tử M Gán giá trị e cho biến x LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com LỜI MỞ ĐẦU Từ máy tính phát minh, chế tạo thành công, người hưởng thành khoa học máy tính Các hệ thống thông tin xây dựng nhằm giúp cho việc tính tốn trở nên nhanh chóng hiệu Các chương trình phần mềm thiết kế cài đặt với mục đích hỗ trợ tốt cho người nhu cầu công việc hàng ngày Ban đầu, cơng việc thiết kế, lập trình hệ thống chưa hỗ trợ nhiều Từ việc lập trình ngơn ngữ máy đến lập trình 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ể phù hợp với kiến trúc máy tính thời điểm Và sau tiến thêm bước việc phát triển hệ thống thơng tin, lập trình hướng đối tượng Bằng việc sử dụng lớp, đối tượng lập trình, hệ thống xây dựng lên trở nên linh hoạt hơn, đáp ứng cầu sử dụng Trước phát triển không ngừng công nghệ phần mềm, mơ hình hệ thống nghiên cứu, phát triển Đó mơ hình hệ thống dựa thành phần Ngày nay, kĩ thật sử dụng hướng đối tượng dựa thành phần ngày trở nên phổ biến sử dụng rộng rãi việc mơ hình hóa thiết kế hệ thống phần mềm phức tạp Chúng cung cấp hỗ trợ có hiệu tới phân hoạch ứng dụng vào đối tượng thành phần, mà hiểu rõ việc sử dụng lại mở rộng thiết kế cài đặt có Những phân tích kiểm chứng hệ thống dễ dàng kiến trúc hợp thành phần hợp thành Với đời hướng nghiên cứu này, hệ thống xây dựng dễ dàng hơn, linh hoạt nhiều Đặc biệt, hệ thống có tính bảo mật hiệu cao nhiều so với mô hình nghiên cứu phát triển trước Nguyên tắc hệ thống dựa thành phần cắm chạy (plug and play) nên hệ thống tổ hợp nhiều thành phẩn Hệ thống mở rộng, bảo trì cách dễ dàng Hiện có kĩ thuật hướng đối tượng dựa thành phần phát triển từ lâu như CORBA, EJB, J2EE Nhưng ngày nay, ngôn ngữ mơ hình hóa hình thức nửa hình thức trở nên phổ biến hỗ trợ phát triển hệ thống dựa mơ UML, JML, Alloy BIP Tiếp cận với xu hướng đó, khóa luận xin trình bày số khái niệm hệ thống dựa thành phần, khái niệm cụ thể mơ hình hệ thống dựa thành phần thời gian thực Bên cạnh đó, khóa luận sâu tìm hiểu mơ hình hệ thống dựa thành phần từ việc tìm hiểu mơ hình thành phần Sau nghiên cứu LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com khái niệm đó, tơi trình bày ví dụ áp dụng mơ hình vào hệ thống thực tế Do thời gian trình độ sinh việc cịn hạn chế nên trình bày tìm hiểu khái niệm chưa thấu đáo Khóa luận khơng tránh số lỗi Rất mong nhận đóng góp đọc giả để sinh viên có kinh nghiệm việc nghiên cứu vấn đề mang tính khoa học sau LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com TỔNG QUAN VỀ HỆ THỐNG DỰA TRÊN CÁC THÀNH PHẦN 1.1 Hệ thống dựa thành phần gì? 1.1.1 Thành phần phần mềm Ngày nay, hầu hết sản phẩm công nghiệp làm từ thành phần khí Ví dụ tô lắp ráp từ động cơ, bánh xe, ghế ngồi… Cịn với máy tính lại lắp ráp từ vi xử lí, ổ cứng, nhớ (RAM), CD-Rom… Việc lắp ráp thành phần để tạo thành sản phẩm hay đồ vật 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 sản phẩm phần mềm từ thành phần phần mềm (viết tắt thành phần) (Component) áp dụng từ sớm Theo G Goos C Szyperski thành phần phần mềm thành phần rõ hợp đồng cho phần mềm mà sẵn sàng triển khai bên thứ ba khơng có hiểu biết cấu trúc bên Ta tham khảo mơ hình thành phần UML Hình Mơ hình thành phần UML Các đặc trưng thành phần là: • Tính đóng gói • Nhiều dạng thể • Xác định • Giao diện • Khả sử dụng lại • Client anonymity • Sẵn sàng để sử dụng Bên cạnh đó, thành phần cịn có đặc tính khác như: • Độc lập ngơn ngữ • Độc lập tảng • Khả cấu hình LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com • α ≙ α1 ∪ α FP ≙ FP1 ∧ FP2 • FR ≙ ∃l1 , l2 , r1 , r2 • ( FR1 [l1 / l , r1 / r] ∧ FR2 [l2 / l , r2 r ] ∧ l = max{l1 , l2 } ∧ r = r1 + r2 ) với r1 r2 véc tơ biến tài nguyên r1+r2 định nghĩa Điều kiện r = r1 + r2 biểu thị số lượng biến tài nguyên đủ để thực thi D1 D2 song song cách độc lập Lệnh composed hoàn thành hai lệnh thành phần hoành thành Để lí giải hai định nghĩa này, ta sử dụng ngữ nghĩa mang tính hoạt động cho chương trình định nghĩa hệ thống chuyển tiếp có nhãn ( S ,  →, C ) với trạng thái s ∈ S tập hợp hữu hạn (v, r , t ) Trong v véc tơ giá trị biến chương trình, r véc tơ giá trị biến tài nguyên t số thực để thời gian thực C tập lệnh Lấy ngữ nghĩa c ∈ C thiết kế α , FP, FR với FP = p ⊢f R FR = pr ⊢n S Vậy có phép chuyển c (v, r , t )  →(v′, r ′, t ′) p (v) ∧ R (v, v′) ∧ r = r ′ ∧ pr (r ) ∧ l = t ′ − t ∧ S (l , r , v, v′) thông qua thông dịch thiết kế Việc định nghĩa phân tách thành phần song song thành phần hiển nhiên hệ thống chuyển tiếp nhãn trùng với định nghĩa cho Đối với hợp đồng hệ thống dựa thành phần thời gian thực có khác biệt so với hệ thống dựa thành phần đơn Ta có định nghĩa hợp đồng có nhãn ràng buộc thời gian Định nghĩa Một hợp đồng có nhãn ràng buộc thời gian tập hợp hữu hạn I , Rd , MSpec, Init , Inv với • I = Fd , Md giao diện • Rd khai báo tài nguyên, tập RES • Init khởi tạo, kết hợp với biến Fd biến cục với kiểu giá trị Biến Rd với kiểu số nguyên 20 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com • MSpec đặc tả phương thức kết hợp với phương thức op(in, out ) Md với thiết kế có nhãn ràng buộc thời gian α , FP, FR , (α \ (in ∪ out )) ⊆ Fd • Inv vị từ đặc tính hợp đồng (được gọi bất biến hợp đồng) Inv đại diện cho thuộc tính bất biến giá trị biến khai báo đặc tính Fd mà tin cậy thời điểm mà mó truy cập từ bên Từ đây, Inv thỏa mãn cách đặc biệt Init Ta nhấn mạnh biến tài nguyên khai báo Rd biến nội hợp đồng (biến cục bộ) Inv hợp đồng biểu diễn thuộc tính biến hợp đồng mà cung cấp cho môi trường Trong trường hợp hợp đồng khơng đảm bảo thuộc tính bất biến giá trị Inv Các hợp đồng cần làm mịn Từ thực tiễn nghiên cứu vấn đề, ta có định nghĩa làm mịn hợp đồng sau: Hợp đồng có ràng buộc thời gian Ctr2 = Fd , Md , Rd , MSpec2 , Init2 , Inv2 làm mịn hợp đồng Ctr1 = Fd1 , Md1 , Rd1 , MSpec1 , Init1 , Inv1 , (được biểu diễn Ctr1 ⊑ Ctr2 ) nếu: • Fd1 ⊆ Fd , Rd1 ⊆ Rd Init2 | Fd1 = Init1 | Fd1 , Init2 | Rd1 ≤ Init1 | Rd1 hàm f , f1 , f tập A f | A biểu thị hạn chế f A f1 ≤ f biểu thị f1 f2 có miền f1 ( x) ≤ f ( x) với x miền chúng • Md1 ⊆ Md • Với phương thức op khai báo Md1 Mspec1 (op) ⊑ Mspec2 (op) Inv2 ⇒ Inv1 21 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Ta lý giải định nghĩa sau Ctr2 cung cấp tất dịch vụ mà Ctr1 cung cấp cung cấp nhiều Ctr2 phải có tài ngun Ctr1 có Điều kiện Inv2 ⇒ Inv1 nói lên thuộc tính biến đảm bảo Ctr1 chắn đảm bảo Ctr2 Vật thay Ctr1 Ctr2 mà khơng bị dịch vụ Đặt Ctri = Fdi , Mdi , Rdi , Mspeci , Initi , i = 1,2 hợp đồng có ràng buộc thời gian tương thích với tập hợp đặc tính phương thức Có nghĩa f ∈ Fd1 ∩ Fd bao hàm Init1 ( f ) = Init2 ( f ) op ∈ Md1 ∩ Md bao hàm MSpec1 (op ) ⇔ MSpec2 (op ) Kết hợp hợp đồng Ctr1 ∪ Ctr2 định nghĩa sau: Ctr1 ∪ Ctr2 = ( Fd1 ∩ Fd , Md1 ∩ Md ), Rd1 ∪ Rd , MSpec1 ∪ MSpec2 , Init1 ⊎ Init2 , Inv1 ∧ Inv2 với ( Init1 ⊎ Init2 )( x) định nghĩa max{Init1 ( x), Init2 ( x)}   Init1 ( x)  Init ( x)  nê'u x ∈ dom(Init1 ) ∩ dom(Init2 ) nê'u x ∈ dom(Init1 )\ dom(Init2 ) nê'u x ∈ dom(Init2 )\ dom(Init1 ) Khi Ctr1 ∪ Ctr2 định nghĩa ta nói Ctr1 Ctr2 rút gọn Chú ý kết hợp hợp đồng, lượng tài nguyên có sẵn để kết hợp định nghĩa với thành phần hợp đồng lớn Định nghĩa phản ánh nhìn phương thức kết hợp hợp đồng phải có thời gian thực có hợp đồng thành phần, cung cấp mẫu Đúng mẫu có nghĩa thực thi phụ thuộc thời gian tốt có nhiều tài ngun cung cấp hình thức hóa Một thiết kế có ràng buộc thời gian α , FP, FR gọi mẫu FR thỏa mãn ∀r , r1 • (r ≥ r1 ⇒ ( FR[r / RES ] ⇒ FR[r1 / RES ])) Với r r1 véc tơ giá trị biến tài nguyên 4.2 Sử dụng ngơn ngữ hình thức có nhãn ràng buộc thời gian để đặc giao thức tương tác thời gian thực đặc tả tiến trình Giao thức tương tác cho thành phần thời gian thực phải mang theo không thông tin theo thứ tự thời gian hành động giao tiếp mà ràng buộc thời gian chúng Như lí thuyết otomat có nhãn ràng buộc thời gian, ta gán nhãn cho biến cố hành động giao tiếp với thời gian xảy Một chuỗi 22 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com hoạt động truyền thông gán nhãn theo gọi “từ thời gian” (từ có nhãn ràng buộc thời gian) Nó biểu diễn hành vi hệ thời gian thực dãy tiến hành biến cố có nhãn thời gian biểu diễn khoảng thời gian trôi qua kể từ biến cố liền trước Một tập hợp chuỗi có nhãn thời gian hành động giao tiếp biểu thị giả thiết thành phần hành vi thời gian thực môi trường Ngơn ngữ có nhãn ràng buộc thời gian nghiên cứu kĩ hiểu rõ, từ sử dụng chúng cho đặc tả giao thức tương tác, tiến trình có nhãn ràng buộc thời gian thực thuận lợi Đối với hiệu việc kiểm chứng phương thức thời gian thực thành phần, giao thức ràng buộc phải khơng có thơng tin thời gian, thông tin thời gian cho giao thức bắt nguồn từ đặc tả phương thức thời gian thực từ giao thức 4.3 Các hợp đồng thời gian thực Các hợp đồng thời gian thực định nghĩa theo cách hợp đồng phần trước Các định nghĩa giao diện mở rộng cách cho phép khai báo tài nguyên nhóm lại vào tài nguyên tiêu thụ tài nguyên tiêu thụ Những bất biến hợp đồng giao diện phải mở rộng để mô tả những ràng buộc tài nguyên Trong thiết kế có nhãn ràng buộc thời gian hợp đồng thời gian thực sử dụng thay thiết kế Một thành phần thời gian thực cài đặt hợp đồng thời gian thực Ta đưa ví dụ hệ thống thành phần thời gian thực dựa mơ hình nghiên cứu Ta có ví dụ minh họa sau Ở đây, ngưỡng tài nguyên đặc tính rõ nhớ thiết lập cho thành phần, s.event rõ tín hiệu từ lập lịch định kì gửi đến tiến trình Ta sử dụng biểu thức quy có nhãn rang buộc thời gian để biểu diễn hành vi có ràng buộc thời gian tiến trình Mơ hình hệ thống thành phần điều khiển định kì thu thập tín hiệu điều khiển thông qua tác tử dựa liệu chúng cảm nhận Thời gian định kì vòng điều khiển 100ms component Actuator1{ provided feature int p1; inv p1 > 0; 23 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com resource int threshold = 20; provided method{ name getdata(), specification true • p10 = portvalue ∧ p10 > ∧ dur = }; provided method{ name execute(), specification p1 = valid ˫(actionresult ∧ dur = 30) }; }; component Actuator2{ provided feature int p1; inv p1 > 0; resource int threshold = 30; provided method{ name getdata(), specification true ˫p10 = portvalue ∧ p10 > ∧ dur = }; provided method{ name execute(), specification p1 = valid ˫(actionresult ∧ dur = 30) }; }; active component Composition{ process{ 24 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com name main, specification ((s.event; actuator1.execute()||actuator2.execute(); actuator1.getdata; actuator2.getdata; ), dur ≤ 100)∗ } 4.4 Thành phần bị động Định nghĩa Một thành phần bị động thời gian thực tập hợp hữu hạn Comp = Ctr , Dep, SDep, Mcode, SInv với Comp xác định với tên thành phần, bao gồm: • Một hợp đồng Ctr = Fd , Md , Rd , MSpec, Init , Inv • Tập hợp Dep tên thành phần, phần tử Dep tên thành phần mà Comp phụ thuộc vào • SDep tập hợp biến ∏ (đại diện cho tương tác với lập lịch) • SInv vị từ biến v ∈ SDep (để biểu diễn giả thiết thông tin mà lập lịch tin cậy phương thức Comp gọi) • Mcode gán phương thức op Md thiết kế xây dựng từ toán tử lời gọi phương thức từ dạng thức call (Comp, C , op1 ) , với op1 phương thức thành phần C Dep Chú ý tên phương thức, biến tài nguyên biến cục sử dụng đặc tả cài đặt phương thức op1 (in, out ) thành phần bị động C cục C có tiền tố “ C i ” để chống lại lẫn lộn với biến sử dụng thành phần bị động khác Lấy Env biểu thị vị từ ∧ U ∈Dep ( Inv(Ctr (U )) ∧ SInv(U )) (từ trở đi, ta sử dụng Ctr (U ) để biểu thị hợp đồng thành phần U, Inv(Ctr (U )) để biểu thị bất biến hợp đồng thành phần U, Dep (U ) biểu thị tập hợp tên thành phần mà U phụ 25 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com thuộc SInv(U ) biểu thị bất biến lập lịch hệ thống thành phần U) Điều kiện sau phải thỏa mãn Mcode : Env ( MSpec(op ) ⊑ Mcode(op )) Inv chiếm giữ phép tốn sử dụng Mcode Lấy C ∈ Dep op ∈ C Do call (Comp, C , op ) định nghĩa Schedule(Comp, C ) || C iop , với Schedule(Comp, C ) thiết kế sử dụng biến SDep (C ) (giá trị biến đạt diện cho lời gọi đến phương thức C Ta mong đợi tiền điều kiện Schedule(Comp, C ) bao hàm SInv(C ) ) Từ luật phân tách song song, Schedule(Comp, C ) || C iop bao hàm đặc tả chức C iop không cần thêm thời gian để thực Thành phần Comp nói lên cài đặt hợp đồng Ctr Trong định nghĩa thành phần Comp , yêu cầu MSpec(op ) ⊑ Mcode(op ) cho tất phương thức op hợp đồng Comp theo giả định ∧ U ∈Dep ( Inv(Ctr (U )) ∧ SInv(U )) Điều có nghĩa cung cấp tất thành phần mà Comp phụ thuộc vào phải đảm bất biến chúng, phương thức thành phần Comp cài đặt đắn Cũng vậy, ta u cầu phép tốn Comp phải đảm bảo bất biến Comp Bởi op sử dụng dịch vụ thích hợp với đặc tả MSpec(op ) Có câu hỏi đặt làm để chấn ∧ U ∈Dep ( Inv(Ctr (U )) ∧ SInv(U )) đảm bảo? Cài đặt op tin cậy vào phương thức thành phần với tên Dep Nhưng cài đặt phương thức cuối lại tin cậy vào op Tình đưa đến lí luận vịng quanh nguyên nhân làm cho op cài đặt khơng xác Tình không xảy cài đặt tốt cho phương thức định nghĩa Định nghĩa cài đặt tốt Các phương thức cài đạt tốt định nghĩa đệ quy sau: • Nếu op phương thức thành phần với mã lệnh Mcode(op ) biên soạn từ lệnh op cài đặt tốt 26 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com • Nếu op phương thức thành phần với mã lệnh Mcode(op ) biên soạn từ lệnh lời gọi phương thức cho phương thức cài đặt tốt op cài đặt tốt Vậy phương thức cài đặt tốt không chứa lời gọi phương thức đệ quy, phương thức chứa lời gọi phương thức đệ quy kết thúc có ngữ nghĩa định nghĩa tốt Từ kết trên, ta đưa giải vấn để kết hợp thành phần Lấy Ci = Ctri , Depi , SDepi , Mcodei , Invi , i = 1,2 thành phận bị động có hợp đồng tổ hợp thỏa mãn Mcode1 (op ) ≡ Mcode2 (op ) tất op ∈ Md1 ∩ Md Tổ hợp C1 ∪ C2 định nghĩa là: Ctr1 ∪ Ctr2 , Dep1 ∪ Dep2 , SDep1 ∪ SDep2 , Mcode1 ∪ Mcode2 , SInv1 ∪ SInv2 Cần lưu ý vài điểm sau: • Các phương thức thành phần định nghĩa thiết kế với tiền điều kiện, hậu điều kiện quan hệ lượng thời gian để thực thi phương thức, tài nguyên sẵn có Điều phù hợp cho việc rõ hệ thống ngừng hoạt động khơng đủ mạnh để biểu diễn hoạt động chương trình khơng dừng hệ thống tương tác • Định nghĩa thành phần Comp yêu cầu Mspec(op ) ⊑ Mcode(op ) với giả định ∧ ( Inv(Ctr (U )) ∧ SInv(U )) Điều kiện Inv(Ctr (U )) U ∈Dep biến sử dụng để cài đặt đặc tả chức cho phương thức op, đảm bảo tất thành phần U Điều kiện SInv(U ) biến SDep (U ) sử dụng lập lịch sử dụng để cài đặt đặc tả phi chức phương thức Bởi vậy, SInv(U ) kiểm chứng bất biến toàn cục cho hệ thống đáp ứng khơng ràng buộc thời gian phải bất biến hệ thống có ràng buộc thời gian Kiểm chứng bất biến SInv(U ) cho hệ thống đáp ứng không ràng buộc thời gian thực với kĩ thuyệt truyền thống Ví dụ khơng cần thiết phải lập lịch (tức sử dụng song song dịch vụ chấp nhận dịch vụ đực gọi thành phần thời điểm, SDep (U ) = ∅ với tất U) sau ta có 27 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Schedule(Comp, C ) = ∅, skip, l = (sau ta giả định tính tốn ln ln cần thời gian từ sau, đặc tả thời gian cho lập lịch trường hợp phải thay đổi thành l > ∧ l ≤ d với d lương thời gian nhỏ cần để thực lệnh với giả thiết tài nguyên hệ thống) Tiền điều kiện cho Schedule(Comp, C ) SInv(C ) bất biến tầm thường Thêm ví dụ khác, giả định lập lịch sử dụng sách “đến trước phục vụ trước” (FIFO) lượng thời gian lớn mà lần thành phần sử dụng dịch vụ thành phần Comp a, có khoảng n thành phần khác sử dụng dịch vụ Comp Vậy ta có Schedule(Com) = SDep (U ), FP, l ≤ n x a Liệu có phải có lời gọi đồng thời tới thành phần khơng phụ thuộc vào có phương thức chủ động đồng thời hệu thống Nếu nghôn ngữ cho phép phương thức cài đặt với lệnh song song có nhiều luồng chạy song song hệ thống Từ phần nói ta có lí để định nghĩa thành phần Comp2 làm mịn Comp1 Comp2 tốt Comp1 theo nghĩa Comp2 cung cấp nhiều dịch vụ Comp1 cần dịch vụ Comp1 điều kiện lập lịch Comp2 Comp1 (có nghĩa Comp2 có bất biến mạnh cho lập lịch, đồng nghĩa lập lịch hoạt động với Comp1 hoạt động với Comp2) Vậy ta có định nghĩa cho làm mịn thành phần sau: (định nghĩa 11) Lấy Compi = Ctri , Depi , SDepi , Mcodei , SInvi , i = 1, thành phần bị động Comp1 gọi làm mịn Comp2 (được biểu thị Comp1 ⊑ Comp2 ) nếu: • Ctr1 ⊑ Ctr2 (tức Comp2 cung cấp nhiều dịch vụ Comp1) • Dep2 ⊆ Dep1 , SDep2 ⊆ SDep1 SInv1 ⇒ SInv2 (tức Comp2 không cần nhiều dịch vụ từ hệ thống Comp1 cần giả thiết yếu lập lịch hệ thống) 4.5 Thành phần chủ động Thành phần chủ động định nghĩa theo cách giống thành phận bị động định nghĩa ngoại trừ thành phần chủ động phải có khai báo luồng song khái báo biến cố Thành phần chủ động điều khiển biến cố từ môi 28 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com trường đồng hồ bên Một luồng T định nghĩa always D follows e với e biến cố dạng biểu thức nhị phân D phương thức Ý nghĩa biểu diễn “ D follows e ” e ⇒ ok ∧ D Nói chung luồng T lắng nghe biến cố cự kiện e Bất kì mà biến cố e xảy ra, phương thức D gọi Định nghĩa 12 Một hệ thống dựa thành phần tập S thành phần cho thành phần chủ động U ∈ S nào, V cho U Dep* V mà V ∈ S chiếm giữ Trong hệ thống dựa thành phần, ta thay thành phần bị động thành phần tốt mà khơng vi phạm u cầu thật vậy, ta có định lí sau Định lí Lấy S hệ thống dựa thành phần Comp1 Comp2 thành phần bị động cho Comp1 ⊑ Comp2 Comp1 ∈ S S1 có việc thay Comp1 Comp2 đồng thời thay biến cố Comp1 hệ thống S biến cố Comp2 Do vậy, S1 hệ thống dựa thành phần cung cấp nhiều dịch vụ S Ta chứng minh định lí sau: Điều cần để chứng minh sau thay biến cố Comp1 biến cố Comp2 kết tập hợp thành phần hệ thống Có nghĩa ta phải thể điều cho phương thức op hợp đồng thành phần kết C, Mspec(op ) ⊑ Mcode(op ) theo giả thiết ∧ ( Inv(Ctr (U )) ∧ SInv(U )) Từ định nghĩa 11 làm mịn thành phần, U ∈Dep ( C ) kéo theo Schedule(Comp, Comp1 ) || Comp1 iop ⊑ Schedule(Comp, Comp2 ) || Comp2 iop cho phương thức op Comp1 Từ đơn điệu phép tốn việc sử dụng ngơn ngữ lập trình theo quan hệ làm mịn, từ thực tế SInv(Comp2 ) ⇒ SInv(Comp1 ) , ta có Mspec(op ) ⊑ Mcode(op ) giữ với giả thiết ∧ ( Inv(Ctr (U )) ∧ SInv(U )) U ∈Dep ( C ) 29 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ỨNG DỤNG MƠ HÌNH THÀNH PHẦN TRONG HỆ THỐNG NHÚNG Từ trình nghiên cứu mơ hình hệ thống dựa thành phần mơ hình thời gian thực ta xây dựng mơ hình thành phần hệ thống nhúng Hiện nay, hầu hết công việc người áp dụng cơng nghệ, tự động hóa nhằm mục đích nâng cao hiệu cơng việc, đảm bảo an tồn cho người Cùng với mục đích đó, hệ thống hướng dẫn xe (Car Navigation System – viết tắt CNS) xây dựng nhằm dẫn đường cho lái xe qua khu vực Để tương tác với lái xe, hệ thống phải có thiết bị hiển thị để thể đồ khu vực xung quanh xe, bàn phím để thực lệnh hiển thị đồ, phóng to/thu nhỏ tìm đường tới đích Một thành phần đặt sở thiết kế cho CNS mà thể hình 6, gồm có thành phần sau đây, quan hệ Dep thành phần đại diện cho mũi tên hình Hình 6: Sơ đồ thành phần cho Hệ thống hướng dẫn xe • Thành phần GPS: Thành phần có phương thức get_pos(out : src) với đặc tả {src}, true ⊢f src′ = current_position,0 < l ≤ Mặc dù mã chương trình khơng trình bày ta giả định mã chương trình khơng chứa lời gọi đến phương thức thành phần khác Thành phần khác sử dụng thành phần Controller Ở không rõ tài nguyên cụ thể sử dụng giả định tiền điều kiện tài nguyên cho phương thức get_pos(out : src) true • Thành phần RouteDB: Khai báo tài nguyên thành phần bao gồm nhớ biến tài nguyên (khởi tạo MB) xử lí 75 MHz (khởi tạo 1) Thành phần có phương thức: get _ map (in : src, in : dstn, out : map ) với đặc tả 30 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com {src, dstn, map}, true ⊢ f map′ = map _ for _ the _ area,0 < l ≤ find _ route(in : src, in : dstn, out : route) với đặc tả {src, dstn, route}, true ⊢ route′ = route _ to _ the_destination, 75MHz procesor = ∧ memory = ⊢ n,0 < l ≤ 11 Thành phần khác sử dụng thành phần Controller Đoạn mã chương trình cho find _ route(in : src, in : dstn, out : route) get_map(src,dstn,map); compute(src,dstn,map,route); Giả định compute(src,dstn,map,route) cần 10 giây để xử lí 75MHz sử dụng 4MB để thực Do đoạn mã làm mịn đặc tả find _ route(in : src, in : dstn, out : route) • Thành phần chủ động Controller : Thành phần có biến cố find _ route _ command _ arrival phương thức find _ route _ handle Tài nguyên khai báo thành phần biến 75MHz _ processor khởi tạo Đoạn mã phương thức sau: dstn := read _ dstn; ( Schedule(Controller , GPS ) || GPS get _ pos( src)); ( Schedule(Controller , RouteDB) || RouteDB find _ route( src, dstn, route)); display _ route(dstn); Đặc tả thời gian phương thức < l ≤ 14 Giả định dstn := read _ dstn display _ route(dstn) có thời gian tiêu dùng nhỏ với dùng xử lí 75 MHz Ta giả định lệnh Schedule(Controller , RouteDB) Schedule(Controller , RouteDB) không tốn thời gian, nghĩa l = d (ta khơng thể giả định l = giả định trước đó) hậu điều kiện chúng cho đặc tả có ràng buộc thời gian (tiền điều kiện chúng đưa sau nất biến cho ba thành phần) Với d thời gian nhỏ để thực lệnh Nó suy trực tiếp từ luật thành phần liên tiếp song song mà mã lệnh phương thức 31 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com làm mịn đặc tả Một luồng thành phần always find _ route _ handle after find _ route _ command _ arrival Vậy mơ hình hệ thống dựa thành phần ta sử dụng UTP luật bổ sung cho đặc tả thời gian thực cho thiết kế để kiểm chứng phương thức cài đặt hay khơng Tuy nhiên, để mơ hình hỗ trợ chứng thực thuộc tính phụ thuộc thời gian theo thời gian thực Ta phải đưa nghĩa hình thức cho luồng đặc tả hình thức cho thuộc tính thời gian thực 32 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com KẾT LUẬN Sau nghiên cứu khái niệm hệ thống dựa thành phần, mơ hình thành phần, khái niệm hệ thống dựa thành phần thời gian thực, nắm rõ khái niệm Tơi trình bày mơ hình thành phần, kiến trúc mơ hình thành phần Với mơ hình trình bày mở rộng cách dễ dàng điều khiển thuộc tính phi chức thành phần chất lượng dịch vụ Đặc tính mơ hình thành phần trình bày nằm ngữ nghĩa hình thức UTP Nó đóng vai rị tẳng xho việc phát triển mẫu ngôn nhữ cho lập trình dựa thành phần Mẫu ngơn ngữ áp cho ngơn ngữ lập trình khác để thiết kế, lập trình dựa thành phẫn dễ dàng Cũng mơ hình đó, thành phần xác định tính đắn thiết kế điều có nghĩa cài đặt dịch vụ thỏa mãn yêu cầu Điều đẳm bảo chắn kiểm chứng mơ hình chứng minh định lý Ngồi ra, tơi trình bày mơ hình thành phần thời gian thực Mơ hình hỗ trợ đặ tả, làm mịn thành phần kiểm chứng vài thuộc tính thời gian thực, điều mà mơ hình trước khơng có Mơ hình hỗ trợ tách biệt đặc tả chức từ đặc tả phi chức thành phần, mà đơn giản hóa kiểm chứng yêu cầu chức năng, nhiều rường hợp đơn giản hóa kiểm chứng yêu cầu phi chức Dựa kiến thức thu phân tích trình bày ví dụ áp dụng mơ hình dựa thành phần Việc nghiên cứu cá khái niệm, định nghĩa mơ hình thành phần hệ thống dựa thành phần giúp cho thiết kế, phân tích bảo trì hệ thống lớn cách dễ dàng 33 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com TÀI LIỆU THAM KHẢO [1] R Alur and D.L Dill A Theory of Timed Automata Theoretical Computer Science, pages 183–235, 1994 [2] E Asarin, P Caspi, and O Maler A Kleene Theorem for Timed Automata LICS’97, pages 160–171 IEEE computer Society Press, 1997 [3] C.A.R Hoare and He Jifeng Unifying Theories of Programming Prentice Hall, 1998 [4] Dang Van Hung Toward a formal model for component interfaces for realtime systems In FMICS ’05,pages 106–114, New York, 2005 ACM Press [5] Dang Van Hung Toward a Formal Model for Component Interfaces for Realtime Systems FMICS’05, September 5–6, 2005, Lisbon, Portugal [6] Pham Hong Thai, Dang Van Hung, Towards a Template Language for Component-based Programming WORLDCOMP’07 Conference, June 25-28, 2007, USA [7] Hung Le Dang, Dang Van Hung Timing and Concurrency Specification in Component-based Real-Time Embedded Systems development Proceedings of TASE’07, June 6-8, 2007, Shanghai, China [8] Kurt Wallnau, Scott Hissam, and Robert Seacord, Component-Based Software Engineering (series), 2000 [9] Ananda Basu, Marius Bozga, and Joseph Sifakis Modeling Heterogeneous Real-time Components in BIP Proceedings of SEFM’06, pages 3–12, September 2006 IEEE Computer Society [10] He Jifeng, Zhiming Liu, and Xiaoshan Li A Theories of Contracts Electronic Notes of Theoretical Computer Science, Volume 160 , pp 173-195, 2006 [11] Barbora Zimmerová, Component-Based Systems (CBSs) (slide giảng), 2005 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ... niệm hệ thống dựa thành phần, mơ hình thành phần, khái niệm hệ thống dựa thành phần thời gian thực, nắm rõ khái niệm Tơi trình bày mơ hình thành phần, kiến trúc mơ hình thành phần Với mơ hình. .. HỆ THỐNG DỰA TRÊN THÀNH PHẦN Với định nghĩa hệ thống hướng thành phần trên, kiến trúc hệ thống dựa thành phần bao gồm thành phần độc lập giao tiếp với qua giao diện giao tiếp Sự kết hợp tạo thành. .. thống dựa thành phần gì? 1.1.1 Thành phần phần mềm .3 1.1.2 Hệ thống dựa thành phần 1.2 Hệ thống thời gian thực gì? KIẾN TRÚC HỆ THỐNG DỰA TRÊN THÀNH PHẦN

Ngày đăng: 01/11/2022, 16:00

Xem thêm:

TÀI LIỆU CÙNG NGƯỜI DÙNG

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

TÀI LIỆU LIÊN QUAN

w