1. Trang chủ
  2. » Luận Văn - Báo Cáo

Kiểm chứng hình thức các hệ thống thời gian thực hướng thành phần bằng kỹ thuật model checking (tt)

27 64 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

Thông tin cơ bản

Định dạng
Số trang 27
Dung lượng 1,39 MB

Nội dung

Chương Giới thiệu 1.1 Đặt vấn đề Phát triển phần mềm thời gian thực dựa thành phần đóng vai trò quan trọng lĩnh vực cơng nghệ phần mềm Tuy nhiên, phương pháp đề xuất hạn chế thiếu mơ hình thành phần cho thành phần phần mềm thời gian thực, làm để đặc tả, phân tích đánh giá, kiểm chứng tương tác thành phần phần mềm với với môi trường chúng khía cạnh chức phi chức Luận án nghiên cứu đề xuất kỹ thuật để giải toán Thứ nhất, luận án đề xuất mơ hình cho thành phần phần mềm thời gian thực với thể thức tương tác tương tranh thời gian (timed concurrent interaction protocol), bổ sung đặc tả tài nguyên vào thể thức tương tác tương tranh nhằm lập luận cho tính sử dụng hiệu nguồn tài nguyên hệ thống Thứ hai, luận án đề xuất mở rộng lý thuyết giao diện thành phần trở thành lý thuyết giao diện thời gian thực nhằm mô hình hóa đặc tả hoạt động hệ thống thời gian thực dựa thành phần Thứ ba, luận án áp dụng lý thuyết "tính đắn cách xây dựng" lý thuyết "thiết kế hợp đồng" để đề xuất kỹ thuật đặc tả mơ hình hóa hệ thống thời gian thực hợp đồng thời gian hợp đồng thời gian ràng buộc tài nguyên nhằm phân tích, đánh giá hệ thống thời gian thực dựa hợp đồng hai khía cạnh chức phi chức Bên cạnh đó, luận án đề xuất ngôn ngữ đặc tả thời gian thực gia tăng tính khả thi lý thuyết đề xuất 1.2 Các kết luận án Luận án có ba kết trình bày sau Luận án mở rộng mơ hình PECOS (PErvasive COmponent Systems) cho thành phần phần mềm thời gian thực với mục đích tạo mơ hình áp dụng cho nhiều hệ thống có tảng phần cứng khác Luận án đề xuất mơ hình cho thành phần phần mềm thời gian thực với thể thức tương tác tương tranh thời gian (timed concurrent interaction protocol), bổ sung đặc tả tài nguyên vào thể thức tương tác tương tranh nhằm lập luận cho tính sử dụng hiệu nguồn tài nguyên hệ thống Luận án mở rộng lý thuyết giao diện thành phần với ràng buộc thời gian để đặc tả mơ hình hóa thành phần phần mềm thời gian thực Luận án sử dụng ôtômát thời khoảng để biểu diễn hữu hạn dãy hành vi giao diện thành phần môi trường thời gian thực nhằm mục đích phân tích, đánh giá khía cạnh tính chất làm mịn, phép ghép phép cắm môi trường vào thành phần phần mềm Luận án đề xuất kỹ thuật cải tiến đặc tả thành phần phần mềm hợp đồng thời gian hợp đồng thời gian với ràng buộc tài nguyên nhằm phân tích đánh giá đầy đủ tính chất thành phần phần mềm hai khía cạnh chức phi chức Do đó, thành phần phần mềm thời gian thực thiết kế xem xét cách đầy đủ Luận án đề xuất ngôn ngữ đặc tả thời gian thực mẫu nhằm hợp ngôn ngữ đặc tả thời gian thực với đầy đủ tính đặc tả phần chức phi chức cho thành phần phần mềm Bằng cách này, thành phần phần mềm thời gian thực đặc tả đầy đủ làm sở cho cho việc nâng cao chất lượng phần mềm Tất đóng góp luận án hướng đến việc tìm kỹ thuật phân tích, đánh giá kiểm chứng hệ thống thời gian thực dựa thành phần Các kết nghiên cứu luận án có mối liên hệ chặt chẽ với việc tích hợp tạo thành giải pháp hoàn chỉnh từ việc đề xuất mơ hình phần mềm thời gian thực đến thể thức tương tác tương tranh mơ hình kỹ thuật đặc tả mơ hình hóa hệ thống thời gian thực lý thuyết giao diện hợp đồng thời gian thực đề xuất ngôn ngữ đặc tả thời gian thực mẫu Như vậy, kết luận án hướng đến giải pháp đầy đủ cho việc đặc tả, mơ hình hóa kiểm chứng tính đắn hệ thống thời gian thực dựa thành phần 1.3 Bố cục luận án Các nội dung lại luận án tổ chức sau: Chương trình bày kiến thức khái niệm phát triển hệ thống dựa thành phần Chương trình bày mơ hình thành phần phần mềm thể thức tương tác tương tranh thành phần phần mềm thời gian thực, với thuật toán kiểm chứng tuân thủ dãy hành vi môi trường hệ thống với thể thức tương tác thành phần phần mềm hai khía cạnh chức phi chức Chương trình bày kỹ thuật đặc tả giao diện thành phần phần mềm thời gian thực quan hệ đầu vào đầu thành phần phần mềm Chương trình bày đặc tả dịch vụ thành phần phần mềm thời gian thực với thiết kế thời gian Chương trình bày kỹ thuật đặc tả yếu tố chức phi chức nhằm phân tích đánh giá chất lượng dịch vụ dựa ràng buộc phi chức năng, đồng thời ước lượng tài nguyên hệ thống tiêu thụ sử dụng trình hoạt động từ giai đoạn đầu phát triển hệ thống phần mềm Chương 7, luận án tổng kết kết nghiên cứu hướng phát triển Chương Các kiến thức 2.1 Phần mềm hướng thành phần 2.1.1 Kỹ nghệ phần mềm dựa thành phần Phát triển phần mềm dựa thành phần có số dặc điểm sau: (i) Là đơn vị phần mềm độc lập, thực thi chức đầy đủ (ii) Có tính ẩn hệ thống bên Một thành phần phần mềm quan sát thông qua giao diện chúng Khi tương tác với thành phần khác thông qua thỏa thuận gọi hợp đồng (iii) Là chủ thể cho nhiều mục đích sử dụng khác Một thành phần phần mềm thiết kế cài đặt cho chức thành phần tái sử dụng phục vụ nhiều hệ thống khác (iv) Thành phần phần mềm tái sử dụng thay thành phần phần mềm khác 2.1.2 Tính đắn cách xây dựng Là kỹ thuật phát triển phần mềm dựa việc đặc tả thành phần phần mềm cho thành phần phần mềm ghép với hệ thống khơng lỗi, phương pháp tiếp cận biến thành phần phần mềm dạng mơ hình tốn học để chứng minh 2.1.3 Kiến trúc hệ thống phần mềm dựa thành phần 2.2 Hệ thống thời gian thực Theo tổng kết tác giả M Timmerman L Perneel cho thấy có nhiều cách định nghĩa hệ thống thời gian thực theo tác giả hệ thống thời gian thực hệ thống:" phản ứng theo cách đốn trước (kịp thời) kích thích khơng dự đốn đến từ bên ngồi." 2.2.1 Ơtơmát thời gian Mọi hoạt động giới phụ thuộc vào thời gian, mức hoạt động yếu tố thời gian có xem xét ẩn tùy thuộc vào toán cần giải Định nghĩa 2.1 (Ơtơmát thời gian) Ơtơmát thời gian M = L, Σ, , , T, Γ , L tập vị trí, Σ bảng chữ cái, vị trí khởi tạo, tập đồng hồ, T : L × Σ × Φ( ) × × L bảng chuyển, Γ tập vị trí chấp nhận Sự dịch chuyển ôtômát thời gian có hai hình thức d (i) Thời gian trôi: , ν → − , ν + d với d ∈ R≥0 (ii) Dịch chuyển rời rạc: , ν → −e , ν tồn dịch chuyển e = , a, φ, , ∈ T cho ν |= φ, φ ∈ Φ( ), ν = [ → 0]ν 2.2.2 Ơtơmát trọng số Ơtơmát trọng số mở rộng ôtômát thời gian cho phép tính tốn chi phí cho hoạt động hệ thống thời gian thực 2.3 Kiểm chứng hệ thống thời gian thực 2.3.1 Đặc tả mô hình hóa hệ thống Đặc tả mơ hình hóa bước quan trọng kiểm chứng phần mềm Hiện nay, kỹ thuật có nhiều ưu điểm đặc tả thành phần phần mềm sử dụng lý thuyết giao diện lý thuyết hợp đồng Để mơ hình hóa hệ thống thời gian thực, người ta sử dụng ôtômát thời gian kỹ thuật tương đương để làm mơ hình hệ thống 2.3.2 Đặc tả tính chất hệ thống Khi kiểm chứng, tính chất hệ thống thời gian thực đặc tả hệ logic thời gian Phương pháp dùng hệ toán mệnh đề Hệ toán mệnh đề mệnh đề hóa phát biểu hiệu từ kết hợp với phép tốn logic hình thành nên cơng thức logic mệnh đề Bài tốn chứng minh cơng thức logic đồng đúng, đồng sai có ứng dụng lớn việc chứng minh chương trình máy tính chạy hay sai 2.3.3 Bài tốn kiểm tra tính rỗng Kỹ thuật kiểm tra tính rỗng ngơn ngữ kỹ thuật cơng cụ kiểm chứng phần mềm Tư tưởng kỹ thuật xây dựng ngôn ngữ phần bù tính chất cần kiểm tra sau lấy tích đồng với ngơn ngữ mơ hình cần kiểm tra Nếu tích đồng rỗng khẳng định mơ hình hệ thống thỏa tính chất cần kiểm tra Phổ biến, người ta dùng ôtômát thời gianhình hệ thống sử dụng loại logic để đặc tả tính chất hệ thống 2.4 Cơng cụ kiểm chứng hệ thống thời gian thực Hiện có nhiều cơng cụ cho kiểm chứng hệ thống thời gian thực UPPAAL, Kronos, HyTech, v.v Các công cụ áp dụng ô tô mát thời gian ôtômát lai (Hybrid automata) 2.5 Tổng kết chương Chương trình bày kiến thức bản, xếp cách hệ thống làm sở cho nghiên cứu phần luận án Chương Mơ hình thành phần phần mềm thời gian thực thể thức tương tác tương tranh 3.1 Giới thiệu Luận án mở rộng mơ hình PECOS cách bổ sung thể thức tương tác tương tranh thời gian thực với khả đặc tả thành phần chức phi chức Dựa cách tiếp cận Tính đắn dựa cách xây dựng Thiết kế hợp đồng sử dụng để đặc tả thành phần phần mềm thời gian thực hợp đồng thời gian 3.2 Mơ hình thành phần phần mềm thời gian thực Các kiện Trong phần này, luận án trình bày kiến trúc thành phầnhình mà luận án muốn phát triển minh họa hình 3.1 Các chuỗi hành vi Phần chủ động Giao diện hệ thống Các tiến trình Phần thụ động Giao diện thành phần Hình 3.1: Minh họa mơ hình phần mềm 3.3 Thể thức tương tác tương tranh ràng buộc thời gian 3.3.1 Thể thức tương tác tương tranh Thể thức tương tác tập quy tắc quy định cách thức dịch vụ (phương thức) thành phần phần mềm thực thi gồm thứ tự lời gọi ràng buộc kèm theo ràng buộc thời gian, tài nguyên hệ thống Và cách thức dịch vụ thực thi song song, hay nối tiếp Do đó, thể thức tương tác định nghĩa sau: Định nghĩa 3.1 (Thể thức tương tác) Một thể thức tương tác π (Σ1 , E1 ), , (Σk , Ek ), δ Trong δ : Ω → R≥0 , với i = 1, k, Ei biểu thức quy bảng chữ Σi Định nghĩa 3.2 (Sự tuân thủ thể thức) Một từ thời gian ω = (a1 , τ1 )(a2 , τ2 ) (an , τn ) tuân thủ thể thức π, hiệu ω |= π với i ≤ k (i) untimed(ω)|Σi ∈ L(Ei ), (ii) đặt untimed(ω) = aj1 aj2 ajmi , τjl+1 − τjl ≥ δ(ajl ) với l < mi 3.3.2 Phép chiếu Giả sử cho chuỗi ζ = abcdeabd tập hợp phần tử Σ = {a, b, c, d}, ζ|Σ xâu nhận từ xâu ζ cách loại phần tử khơng thuộc Σ Ta có ζ|Σ = abcdabd 3.3.3 Thuật tốn kiểm chứng tính cắm Môi trường muốn sử dụng dịch vụ từ thành phần phần mềm mơi trường phải tn thủ thể thức thành phần phần mềm Cho ôtômát thời gian M = L, , Σ, , T, Γ Đặt L(M ) ngôn ngữ môi trường, L(P(M )) ngôn ngữ ôtômát vùng M Ta có kết sau: Định lý 3.1 (i) Đối với ôtômát thời gian M , untimed(L(M )) = L(P(M )) Do đó, tốn định ôtômát M định (ii) Nếu s0 , ν0 −→eτ11 s1 , ν1 −→eτ22 −→eτmm sm , νm dãy thực thi từ trạng thái ban đầu M s0 , [ν0 ] −→e1 s1 , [ν1 ] −→e2 −→em sm , [νm ] dãy thực thi P(M ), trái lại, s0 , [ν0 ] −→e1 s1 , [ν1 ] −→e2 −→em sm , [νm ] dãy thực thi P(M ) tồn τ1 , , τm cho s0 , ν0 −→eτ11 s1 , ν1 −→eτ22 −→eτmm sm , νm dãy thực thi từ trạng thái ban đầu M Đối với ơtơmát M , kích thước M (số dịch chuyển vị trí) hiệu |M | Bây quay trở lại toán định được, untimed(L(A))|Σi ⊆ L(Ei ) ôtômát thời gian A cho Điều toán định giải được, hệ Định lý 3.1 Định lý 3.2 Cho biểu thức quy Ei ơtơmát thời gian A, toán untimed(L(A))|Σi ⊆ L(Ei ) định thời gian O(|P(A)|.|L(Ei )|) Định lý 3.3 Bài toán “liệu ôtômát thời gian A cho tuân thủ thể thức tương tác tương tranh thời gian thực π” định thời gian O(|P(A )|2 ) 3.4 Thể thức tương tác thời gian thực ràng buộc tài nguyên 3.4.1 Thể thức thời gian tài nguyên Mỗi dịch vụ Ω cần khoảng thời gian để thực thi, tiêu thụ sử dụng lượng tài nguyên Đặt R≥0 tập số thực không âm biểu diễn miền thời gian Đặt RES tập véc tơ, RES = {res1 , res2 , , resh }, véc tơ resi , i = 1, h, có n phần tử, phần tử số nguyên đại diện cho đại lượng tài nguyên mà biểu diễn Mỗi véc tơ resi liên quan đến dịch vụ thứ i thành phần phần mềm Các yếu tố thời gian yếu tố tài nguyên đặc tả cặp ánh xạ ð=(ðt , ðR ), ðt : Ω → R≥0 , ðR : Ω → RES Do đó, thể thức định nghĩa sau: Định nghĩa 3.3 (Thể thức tương tác thời gian tài nguyên) Một thể thức tương tác ℘ (Σ1 , E1 ), , (Σk , Ek ), ð Trong ð=(ðt , ðR ), ðt : Ω → R≥0 , ðR : Ω → RES, với i = 1, k, Ei biểu thức quy bảng chữ Σi Các ràng buộc tài nguyên bị tăng giảm trình hệ thống hoạt động Luận án cần bổ sung phép toán việc tính tốn tùy thuộc vào loại tài ngun Tiêu thụ Chiếm dụng phép ghép song song nối tiếp thành phần phần mềm Phép toán ⊕ minh họa bảng sau Bảng 3.1: Liệt kê toán tử tăng giảm ước lượng thành phần tài nguyên Toán tử ⊕ Loại tài nguyên Chiếm dụng Tiêu thụ Chiếm dụng Tiêu thụ Tiêu chuẩn R1|u + R2|u R1|c + R2|c R1|u − R2|u R1|c − R2|c Ghép song song +R1|u + R2|u +R1|c + R2|c −R1|u − R2|u −R1|c − R2|c Ghép nối tiếp +M ax(R1|u , R2|u ) +R1|c + R2|c −M ax(R1|u , R2|u ) −R1|c − R2|c Định nghĩa 3.4 (Sự tuân thủ thể thức thời gian tài nguyên) Một từ trọng số ω = (a1 , t1 , r1 )(a2 , t2 , r2 ) (an , tn , rn ) tuân thủ thể thức ℘, hiệu ω |= ℘ với i ≤ k (i) unpricedtimed(ω)|Σi ∈ L(Ei ), (ii) đặt unpricedtimed(ω)|Σi = aj1 aj2 ajmi , tjl+1 −tjl ≥ ðt (ajl ), rjl+1 rjl ≥ ðR (ajl ), với l < mi 3.4.2 Mơ hình hóa tn thủ thể thức thời gian tài ngun 3.4.2.1 Ơtơ mát trọng số ràng buộc tài nguyên Phần luận án trình bày ơtơmát trọng số ràng buộc tài ngun, sử dụng để mơ hình hóa chuỗi hành vi môi trường với ràng buộc tài nguyên Định nghĩa ôtômát trọng số ràng buộc tài nguyên khái qt sau: Định nghĩa 3.5 (Ơtơmát trọng số ràng buộc tài nguyên) Một ôtômát trọng số tập hữu hạn đồng hồ tập hữu hạn thành phần tài nguyên R M = (L, , Σ, , T, λ, Γ), L tập vị trí, vị trí khởi tạo, T ⊆ L × Σ × Φ( ) × × L tập dịch chuyển, Γ tập vị trí chấp nhận được, λ : L ∪ T → R ∪ RES gán cạnh giá trị thành phần tài nguyên RES tương ứng với hành động bảng chữ Σ, gán vị trí giá trị R Một trạng thái ôtômát trọng số ràng buộc tài nguyên , ν , ∈ L, ν ∈ R≥0 Ánh xạ λ gán nhãn giá trị tài nguyên ðR (ai ) = resi sử dụng cho hành động lên cạnh ôtômát gán giá trị tài nguyên lại ri ∈ R hệ thống cho vị trí i ơtơmát d Thời gian trôi: , ν → − , ν + d với d ∈ R≥0 , d λ( , ν ) = λ( , ν → − , ν + d ) Ánh xạ λ gán r |c (d ⊗ ðR ) lên vị trí , phép toán ⊗, d nhân với thành phần tiêu thụ res, giá trị thành phần chiếm dụng giữ nguyên Dịch chuyển rời rạc: , v → −e , , ν tồn dịch chuyển e = , a, φ, , ∈ T cho ν |= φ, ν = [ → 0]ν, λ( , ν ) = λ( , ν → −e , ν ), r = r ðR (a) 3.4.2.2 Ơtơ mát trọng số vùng tài ngun Cho ôtômát trọng số ràng buộc tài nguyên M Một trạng thái đến ôtômát vùng trọng số tài nguyên cặp , Z , Z vùng vị trí Trạng thái , Z biểu diễn tập tất trạng thái , ν ν ∈ Z Khi Z vùng tập đồng hồ, ⊆ hiệu Z d tập phép gán giá trị đồng hồ trường hợp thời gian trôi Z tập phép gán đồng hồ thiết lập lại giá trị Đó là, Z d = {ν + d | ν ∈ Z, d ∈ R≥0 } Z = {[ → 0]ν | ν ∈ Z} Cho trạng thái , Z , đặt ∆Z phép định giá đồng hồ vùng Z thỏa ∀ν ∈ Z.∀x ∈ ∆Z (x) ≤ ν(x) Định nghĩa 3.6 Một vùng trọng số ràng buộc tài nguyên Z (Z, µ, η), Z vùng, µ ∈ N miêu tả độ lệch tương đối ∆Z vùng Z, η : → R tính giá trị tài nguyên η(x) cho đồng hồ x Đặt ν ∈ Z ν ∈ Z Với ν ∈ Z chi phí phép gán ν Z, hiệu Cost(ν, Z), tính µ ⊗ ðR ⊕ x∈ η(x) ⊗ (ν(x) − ∆Z (x)) 3.4.2.3 Sự tuân thủ thể thức thời gian tài nguyên Định lý 3.4 Cho môi trường E mơ hình hóa ơtơmát trọng số rang buộc tài nguyên A thành phần phần mềm C với thể thức ℘ E cắm vào C L(A) |= ℘ Độ phức tạp thuật toán thời gian tính sau O(|P Z(A )|.|L(E)i |) 3.5 Tổng kết chương Chương đề xuất mô hình phần mềm thời gian thực dựa thành phần áp dụng cho nhiều hệ thống thời gian thực có tảng phần cứng khác đề xuất thể thức tương tác tương tranh sử dụng để biểu diễn tương tác thành phần phần mềm thành phần phần mềm với mơi trường khía cạnh chức phi chức I1 Y1 X2 I2 X1 X2 I1 Delay X1 I2 Y Y Y2 Hình 4.2: Minh họa phép song song (a) phép nối tiếp (b) Định lý 4.3 Đặt I, I I giao diện, θ θ phép ghép tương ứng I với I I với I Suy điều sau đúng: (i) I||I ≡ I ||I, (ii) (I||I )||I ≡ I||(I ||I ), (iii) (I.θ I ).θ I ≡ I.θ (I θ I ) 4.3 Sự làm mịn giao diện thành phần Sự làm mịn giao diện có nghĩa giao diện thay giao diện có chất lượng tốt Dựa logic Hoare, định nghĩa làm mịn giao diện sau: Định nghĩa 4.8 Đặt I = X, Y, ξ I = X , Y , ξ hai giao diện I làm mịn I (hoặc I làm mịn I), hiệu I I , X = X , Y = Y với s ∈ S(I) ∩ S(I ) điều sau đúng: in(ξf (s)) ⇒ in(ξf (s)), in(ξf (s)) ∧ ξf (s) ⇒ ξf (s), ξτ (s) ⊆ ξτ (s) Do vậy, I cung cấp dịch vụ tốt theo nghĩa cung cấp dịch vụ cho môi trường với điều kiện lỏng môi trường hợp đồng giao diện Định lý sau kiểm chứng định nghĩa làm mịn giao diện Định lý 4.4 Đặt I I , môi trường E cắm vào I Thì mơi trường E cắm vào I S(E, I ) ⊆ S(E, I) Các phép ghép giao diện định nghĩa Phần 4.2 bảo toàn làm mịn phát biểu Định lý 4.5 (Bảo toàn làm mịn) Đặt I, I I giao diện cho I I , phép ghép || θ phép ghép nối tiếp I I Giả sử điều kiện cho phép ghép thỏa (I||I ) (I ||I ) (I.θ I ) (I θ I ) 4.4 Mơ hình hóa hành vi giao diện Do hành vi giao diện thành phần thời gian thực vô hạn, cần mơ hình hóa hành vi để kiểm sốt chất lượng dịch vụ thành phần phần mềm môi trường sử dụng 11 Định nghĩa 4.9 (Ơtơmát khoảng) Một ơtơmát khoảng tập đầu vào X, đầu Y MI = Q, Σ, X, Y, q0 , T, Λ, Γ , X ∩ Y = ∅, gồm Q tập hữu hạn trạng thái, Σ tập hữu hạn hành động, q0 ∈ Q trạng thái khởi tạo M, T ⊆ S × Σ × S tập quan hệ dịch chuyển thời gian, Λ = (Λf , Λτ ), Λf : S → F(X ∪ Y ) hàm gán nhãn trạng thái M với biểu thức logic tân từ cấp mối quan hệ đầu vào X với đầu Y , Λτ : S → Intv gán nhãn thời gian lên trạng thái M Γ ⊆ Q tập trạng thái kết thúc Để ôtômát khoảng giao diện biểu diễn hành vi giao diện thành phần, luận án định nghĩa giao diện cho ôtômát khoảng sau: Định nghĩa 4.10 (Ơtơmát khoảng giao diện) Một ơtơmát khoảng giao din I(MI ) l b ba X {ă x}, Y {ă y }, ú X Y tập hữu hạn tương ứng với đầu vo v õu xă l bin mi trờn hnh ng , v yă l bin mi trờn trạng thái Q Quan hệ ξ(σ.(a, τ )) = (Λf (s) (s,c,s )T (ă x = c) y = s ), Λτ (s)), τ ∈ Λτ (s), ú a(ă y ) = s v l dóy tớnh toỏn dn n (ă s nh ngha 4.11 Mt dãy thực thi ôtômát khoảng giao diện x}, Y {ă y }, l mt dóy cỏc trạng thái s1 s2 sn cho I(M ) = X {ă |= f (si ) τi ∈ Λτ (si ), si = (ai , τi ) ξ(s1 si−1 ) = Λi , i = 1, n Tập tất trạng thái I(M ) hiệu S(I(M )) Định nghĩa 4.12 (Ơtơmát khoảng cho mơi trường) Một ôtômát khoảng hữu hạn môi trường ME định nghĩa giống định nghĩa 4.9 ngoại trừ hàm gán nhãn Λf : S → F(X) × F(X ∪ Y ) Λτ : S → Intv S F1(X,Y) S1 F1 (X,Y) I1 hX F (X,Y) S F2(X,Y) S2 F (X,Y) F2 (X,Y) I2 S hY F (X,Y) S Hình 4.3: Minh họa ơtơmát khoảng giao diện mơi trường Tương tự trường hợp ôtômát khoảng giao diện, ôtômát khoảng môi trường định nghĩa đây: Định nghĩa 4.13 Ơtơmát khoảng mơi trường E(ME ) = X ∪ x}, Y ∪ {ă y }, hX in yăin , hY hX (σ.(a, τ )) = ΛX (s) ∧ i s+ v {ă hY (.(a, )) = (Y (s) (s, xă, yă) T, 12Y ) Định lý 4.6 Cho ôtômát khoảng MI ôtômát khoảng cho môi trường ME Giao diện môi trường E(ME ) cắm vào giao diện I(MI ) ME đồ thị MI , với s ∈ S(E), ΛX (s) ⇒ in(Λf (s)), ΛX (s) ∧ Λf (s) ⇒ ΛY (s) ΛYτ (s) ⊆ Λτ (s) 4.5 Tổng kết chương Chương đạt số kết quả: Đặc tả thành phần phần mềm thời gian thực giao diện thành phần thời gian thực, mơ hình hóa hành vi giao diện thành phần môi trường, kiểm chứng cắm môi trường vào giao diện thành phần Chương Phương pháp đặc tả kiểm chứng hợp đồng thời gian thực 5.1 Giới thiệu Trong chương này, luận án đề xuất cải tiến kỹ thuật đặc tả thành phần phần mềm thời gian thực hợp đồng thời gian Kỹ thuật hình hướng đến mục tiêu giảm thiểu lỗi trình phát triển hệ thống thời gian thực dựa thành phần 5.2 Thiết kế thời gian Theo lý thuyết phát triển hệ thống thời gian thực dựa thành phần, luận án đặc tả phương thức thành phần phần mềm thiết kế thời gian, định nghĩa sau: Định nghĩa 5.1 (Thiết kế thời gian) Một thiết kế thời gian tập biến đầu vào, đầu X, Y thành phần D = V, R, d , V = X ∪ Y , R công thức logic tân từ cấp có dạng α β biểu diễn quan hệ biến đầu vào biến đầu ra, α tiền điều kiện tập biến A ⊆ X, β hậu điều kiện tập biến đầu B ⊆ Y , d số nguyên dương biểu diễn khoảng thời gian tối thiểu thực thi dịch vụ Giao diện thành phần định nghĩa sau: Định nghĩa 5.2 (Giao diện thành phần) Giao diện thành phần cặp I = (Ip , Ir ), Ip = Fdp , M dp gọi giao diện cung cấp I, Ir = Fdr , M dr gọi giao diện yêu cầu I 13 5.3 Hợp đồng thời gian Tiếp theo, luận án định nghĩa hợp đồng cho thành phần phần mềm, hợp đồng cho biết cách thức thành phần phần mềm sử dụng Định nghĩa 5.3 (Hợp đồng) Một hợp đồng C = I, I, MSpec , Inv, π , I = (Ip , Ir ) giao diện Đặt M d = M dp ∪ M dr , Fd = Fdp ∪ Fdr I khởi tạo giá trị ban đầu cho thuộc tính tập Fd MSpec đặc tả phương thức, chúng liên quan đến phương thức op(X, Y ) tập M d = M dp ∪ M dr tương ứng với thiết kế D = V, R, d Inv tập ràng buộc bất biến hợp đồng biểu diễn cặp (Invp , Invr ), Invp Invr cơng thức logic LTL tương ứng ràng buộc tập thuộc tính cung cấp thuộc tính yêu cầu π thể thức tương tác tương tranh thời gian thực 5.4 Ghép hợp đồng thời gian Để phát triển hệ thống phức tạp, ghép thành phần phần mềm với thỏa yêu cầu hệ thống cách ghép hợp đồng theo cách ghép song song, nối tiếp phép cắm Sau luận án định nghĩa phép ghép song song hai hợp đồng Định nghĩa 5.4 (Ghép song song hai hợp đồng thời gian) Cho hai hợp đồng có khả ghép C1 = I1 , I1 , MSpec1 , Inv1 , π1 hợp đồng C2 = I2 , I2 , MSpec2 , Inv2 , π2 Phép ghép song song hai hợp đồng C1 C2 hiệu C = C1 ||C2 hợp đồng C = I, I, MSpec , Inv, π , thành phần hợp đồng tính sau: I = (Ip1 ∪ Ip2 , Ir1 ∪ Ir2 ) I = I1 ∪ I2 MSpec = MSpec1 ∪ MSpec2 , thành phần M d tính sau: M dr = M dr1 ∪ M dr2 \ Shared(C1 , C2 ), M dp = M dp1 ∪ M dp2 \ Shared(C1 , C2 ) Inv tính sau: Inv = Inv1 ∪ Inv2 π = π1 ||π2 thể thức tương tác tương tranh thời gian thực Ngoài cách ghép song song, cách ghép khác phép cắm hai hợp đồng định nghĩa sau: Định nghĩa 5.5 (Cắm hoàn toàn) C1 C2 = (Ip1 ∪ Ip2 , Ir2 ), MSpec1 |M dp1 ∪ MSpec2 , I1 |Fdr1 I2 , Inv, π , Inv = (Invp1 ∧ Invp2 ), Invr2 )) (I1 I2 )(x) định nghĩa là: I (x) = I2 (x) I (x)     I2 (x)      if x ∈ dom(I1 ) ∩ dom(I2 ) if x ∈ dom(I1 ) \ dom(I2 ) if x ∈ dom(I2 ) \ dom(I1 ) 14 Đối với thể thức π tính theo trường hợp sau: Đầu tiên, hợp đồng C1 C2 cho phép phương thức thành phần phần mềm độc lập sử dụng theo cách thức nguyên gốc chúng Bởi vậy, π = π1 ∪ π2 Các phương thức op C2 mà không bị gọi C1 , π hoạt động theo chế song song với phương thức C1 , Do π = π1 ||(π2 ∩ {op ∈ M dp2 \ M dr1 }∗ ), Trong trường hợp lại, phương thức op M dp2 ∩ M dr1 sử dụng với phương thức M dp1 Điều phụ thuộc vào mức độ tương tranh phương thức op Do đó, π định nghĩa sau: π = π1 ∪ π2 ∪ (π1 ||(π2 ∩ {op ∈ M dp2 \ M dr1 }∗ ) Khi C1 C2 xác định, nói C1 nối với C2 Chú ý nối hợp đồng theo cách này, C1 C2 khơng phép thay C1 yêu cầu số yếu tố từ mơi trường C1 khơng 5.5 Hệ thống Hệ thống có hai phần, phần thụ động phần chủ động Định nghĩa 5.6 (Thành phần phần mềm thụ động) Thành phần phần mềm thụ động PComp = C, M code , đó: Hợp đồng C = I, I, M dSpec , Inv, π M code gán với phương thức op M dp thiết kế xây dựng từ toán tử sở phương thức Ir cho với dãy thực thi w|M dr |= π Điều kiện sau thỏa M code : (MSpec (op) M code(op)), Invp bảo toàn hoạt động sử dụng M code Sự thực thi tất phương thức m tương thích với cấp độ tương tranh mơ tả π, tức phương thức m không loại trừ lẫn có nhiều m Hợp đồng C nói thực thi PComp Định lý 5.1 Cho hai hợp đồng C1 C2 , ta có C1 M code2 |M d2 \M d1 thành phần phần mềm C2 , M code1 ∪ Định nghĩa 5.7 (Giao diện hệ thống) Giao diện hệ thống IS = Evt, Fd, SM dp , SM dp tập hữu hạn phương thức, Fd tập hữu hạn thuộc tính, Evt tập hữu hạn kiện Từ giao diện hệ thống, sau định nghĩa hợp đồng hệ thống Định nghĩa 5.8 (Hợp đồng hệ thống) Hợp đồng hệ thống SysC = Is , MSpecS , InvS , Behav , IS = Evt, Fds , M dpS giao diện hệ thống 15 MSpecS đặc tả phương thức liên quan đến phương thức op(X, Y ) M dpS với thiết kế V, R, d , Behav mô tả hành vi bên tập hữu hạn {e, m|evt ∈ Evt, m ∈ M dpS }∗ Mỗi hành vi Behav gọi đặc tả tiến trình Định nghĩa 5.9 (Thành phần phần mềm chủ động) Thành phần phần mềm chủ động AComp = C, SysC, M code bao gồm Một hợp đồng C = I, I, MSpec , Inv, π với giao diện cung cấp rỗng, Ip = (∅, ∅) Một hợp đồng hệ thống SysC = Is , MSpecs , Inv, Behav Một tiến trình thực thi M code gán phương thức op M dpS thiết kế xây dựng từ toán tử sở phương thức Ir cho với dãy thực thi w|M dr |= π Điều kiện sau thỏa M code : (MSpecs (op) M code(op)) với op ∈ M dpS Một hệ thốnghình thành phần luận án Thành phần phần mềm chủ động cắm vào Thành phần phần mềm thụ động đóng Định nghĩa 5.10 (Hệ thống) Hệ thống cặp thành phần phần mềm chủ động AComp = C, SysC, M code thành phần phần mềm thụ động PComp = C , M code , cho C C Định thành AComp đương lý 5.2 Cho PComp = C , M code , PComp = C , M code phần phần mềm thụ động, thành phần phần mềm chủ động = C, SysC, M code Hệ thống System = AComp , PComp tương với System = AComp , PComp C C 5.6 Tổng kết chương Chương trình bày kỹ thuật đặc tả phương pháp phát triển phần mềm thời gian thực dựa thành phần hợp đồng thời gian thực 16 Chương Phương pháp đặc tả kiểm chứng thành phần phần mềm thời gian thực có ràng buộc tài nguyên 6.1 Giới thiệu Chương phát triển mơ hình hình thức có khả hỗ trợ phân tích, thiết kế hiệu đặc tả yếu tố chức phi chức hệ thống thời gian thực dựa thành phần 6.2 Các nghiên cứu liên quan 6.3 Thiết kế thời gian-tài nguyên Một phương thức có dạng op(X, Y ) đặc tả Thiết kế tài nguyên-thời gian tập biến đầu vào X tập biến đầu Y , X ∩ Y = ∅ Đặt R công thức logic tân từ cấp biểu diễn mối quan hệ đầu vào đầu Định nghĩa 6.1 (Thiết kế thời gian-tài nguyên) Mỗi phương thức op(X, Y ) đặc tả thiết kế có dạng D(op) = ϑ, ξ, ψ, d, ρ , ϑ biểu diễn tập biến dùng phương thức op ξ biểu diễn đặc tả chức vị từ có dạng sau: p f R = p⇒R ψ biểu thị đặc tả thành phần phi chức có dạng sau: q nS = q⇒S d số nguyên dương, biểu diễn khoảng thời gian tối thiểu mà hệ thống gọi phương thức ρ véc tơ n phần tử đặc tả lượng tài nguyên sử dụng cho thiết kế hiệu f n tương ứng với chức phi chức Định nghĩa 6.2 (Làm mịn thiết kế) Cho hai thiết kế phương thức op(X, Y ), D(op) = (ϑ, ξ, ψ, d, ρ) D (op) = (ϑ , ξ , ψ , d , ρ ) D nói làm mịn D, hiệu D D điều sau thỏa p ⇒ p , R ⇒ R, q ⇒ q , S ⇒ S, d ≤ d ρ ≤ ρ 17 Định nghĩa 6.3 (Ghép nối tiếp thiết kế) Đặt D1 (op) = ϑ1 , ξ1 , ψ1 , d1 , ρ1 D2 (op) = ϑ2 , ξ2 , ψ2 , d2 , ρ2 hai thiết kế Một phép nối nối tiếp θ hai thiết kế định nghĩa sau: D1 θ D2 = ϑ, ξ, ψ, d, ρ , ϑ = ϑ1 ∪ ϑ2 Đặt ξ kết hợp với tham số x, hiệu ξ(x) ξ = ∃v • ξ1 ∧ ξ2 ψ = ∃ρ1 , ρ2 • (ψ1 [ρ1 /ρ] ∧ ψ2 [ρ2 /ρ] ∧ ρ|u = max(ρ1 |u , ρ2 |u )) ∧ ρ|c = ρ1 |c ⊕ ρ2 |c ∧ d = d1 + d2 Trong định nghĩa này, biểu thức ρ|u có hiệu "|" phép chiếu ρ tập thành phần tài nguyên sử dụng cho thực thi Biểu thức ψ[x1 /x], hiệu "/" phép thành phần x vào thành phần x1 biểu thức ψ Hàm max(ρ1 |u , ρ2 |u ) hàm tính tốn thành phần tài ngun bị chiếm dụng biểu thức ρ|c = ρ1 |c ⊕ ρ2 |c tính tốn lượng tài ngun tiêu thụ cho D1 θ D2 Biểu thức d = d1 + d2 tính tốn khoảng thời gian tĩnh đảm bảo cho thiết kế D1 θ D2 đáp ứng u cầu mơi trường Trong q trình phát triển hệ thống, có cách khác để ghép thiết kế với hai phương thức thực thi tương tranh điều kiện ràng buộc định nghĩa sau: Định nghĩa 6.4 (Ghép tương tranh thiết kế) Đặt D1 = ϑ1 , ξ1 , ψ1 , d1 , ρ1 D2 = ϑ2 , ξ2 , ψ2 , d2 , ρ2 hai thiết kế Một phép đồng || hai thiết kế biểu thị sau: D1 ||D2 = ϑ, ξ, ψ, d, ρ , ϑ = ϑ1 ∪ ϑ2 ξ = ξ1 ∧ ξ2 Đặt ψ1 = q1 (ρ1 ) n S(ρ1 ) ψ2 = q2 (ρ2 ) n S(ρ2 ) ψ = q(ρ) n S(ρ), (i) q(ρ) = ∃ρ1 , ρ2 • (q1 (ρ1 ) ∧ q2 (ρ2 ) ∧ ρ|u = ρ|u1 ⊕ ρ|u2 ∧ ρ|c = ρ|c1 ⊕ ρ|c2 , (ii) S(ρ) = ∀ρ1 , ρ2 • (ρ|u = ρ|u1 ⊕ ρ|u2 ∧ ρ|c = ρ|c1 ⊕ ρ|c2 ∧ q(ρ) ∧ q(ρ2 ) ⇒ ∃d1 , d2 • (d = max(d1 , d2 ) ∧ S(ρ1 ) ∧ S(ρ2 ))) Trong định nghĩa này, biểu thức q(ρ) tồn phận u, c ρ1 ρ2 cho q1 (ρ1 ) q2 (ρ2 ) Tương tự S(ρ) phận ρ|u ρ1 |u , ρ2 |u , ρ|c ρ|c , ρ2 |c cho q1 (ρ1 ) q2 (ρ2 ) có phận d = max(d1 , d2 ) Định nghĩa 6.5 (Tương đương sử dụng tài nguyên) Hai thiết kế D = (ϑ, ξ, ψ, d, ρ) D = (ϑ, ξ, ψ , d, ρ ) tương đương mặt tài nguyên q ⇒ q q ⇒ q với thành phần thứ i ρ, ρ ρ=ρ 18 6.4 Hợp đồng thời gian-tài nguyên Định nghĩa 6.6 (Giao diện hợp đồng) Một giao diện hợp đồng I = Fd, M dp , M dr đó: Fd tập hữu hạn thuộc tính M dp M dr khai báo tập phương thức Mỗi phương thức M dp M dr có dạng op(X, Y ), tương ứng với thiết kế D = ϑ, ξ, ψ, d, ρ cho, X tập biến đầu vào Y tập biến đầu M dp tập phương thức cung cấp, M dr tập phương thức yêu cầu, M dp ∩ M dr = ∅ Từ giao diện hợp đồng, ta có hợp đồng định nghĩa sau: Định nghĩa 6.7 (Hợp đồng thời gian-tài nguyên) Một hợp đồng C = I, I, Rd , MSpec , Inv, InvRd , ℘ , I = (Ip , Ir ) giao diện Đặt M d = M dp ∪ M dr , Fd = Fdp ∪ Fdr I khởi tạo giá trị ban đầu cho thuộc tính tập Fd Rd khai báo tài nguyên, giá trị nhập từ môi trường sử dụng hợp đồng MSpec đặc tả phương thức, chúng liên quan đến phương thức op(X, Y ) tập M d = M dp ∪ M dr tương ứng với thiết kế D = ϑ, ξ, ψ, d, ρ Inv tập ràng buộc bất biến hợp đồng biểu diễn cặp (Invp , Invr ), Invp Invr cơng thức logic thời gian tuyến tính LTL ràng buộc tương ứng tập thuộc tính cung cấp yêu cầu InvRd cho biết điều kiện tài nguyên dạng dịch vụ thành phần thực thi được, thỏa Rd ℘ thể thức tương tác thời gian thực mô tả thể thức thực thi phương thứcthành phần phần mềm, thành phần phần mềm phép thực thi đồng thời trạng thái xét tài nguyên Trong số tình huống, hợp đồng thay nhằm tìm tối ưu cho việc sử dụng hợp đồng miễn hợp đồng hiểu theo nghĩa cung cấp dịch vụ tốt tiêu thụ tài nguyên Định nghĩa 6.8 (Làm mịn hợp đồng) Hợp đồng C1 = I1 , I1 , Rd1 , MSpec1 , Inv1 , InvRd1 , ℘1 gọi làm mịn hợp đồng C2 = I2 , I2 , Rd2 , MSpec2 , Inv2 , InvRd2 , ℘2 , hiệu C1 C2 khi: Fd1 ⊆ Fd2 , Rd1 ⊆ Rd2 , I2 |Fd1 = I1 |Fd1 , I2 |Rd1 ≤ I1 |Rd1 (trong hàm f, f 1, f tập A, f |A biểu thị hạn chế f A biểu thức f1 ≤ f2 cho biết f1 , f2 giỏ tr f1 (ăa) f2 (ăa) vi mi aă ca chỳng M dp1 M dp2 , M dr2 ⊆ M dr1 Với phương thức op khai báo M dp1 MSpec1 (op) ⊆ MSpec2 (op) 19 Với phương thức op khai báo M dr2 MSpec2 (op) ⊆ MSpec1 (op) Inv2 ⇒ Inv1 Sự bất biến tài nguyên bị yếu phép làm mịn, tức InvRd1 ⇒ InvRd2 |Rd1 ℘1 |M dp1 ⊆ ℘2 |M dp1 ℘2 |M dr2 ⊆ ℘1 |M dr2 Nói cách đơn giản, hợp đồng C2 , nhiều dịch vụ chức với chất lượng tốt hơn, đòi hỏi tài ngun u cầu từ mơi trường Định nghĩa 6.9 (Độ tương thích hợp đồng) C2 = Đặt C1 = I1 , I1 , Rd1 , MSpec1 , Inv1 , InvRd1 , ℘1 I2 , I2 , Rd2 , MSpec2 , Inv2 , InvRd2 , ℘2 hai hợp đồng C1 tương thích với C2 khi: Tập thuộc tính phương thức cung cấp chúng tương thích Tức f ∈ Fd1 ∩ Fd2 suy I1 (f ) = I2 (f ) op ∈ M dp1 ∩ M dp2 suy MSpec1 (op) ⇔ MSpec2 (op) Tập phương thức cung cấp tập phương thức yêu cầu tương thích (đối với kết nối): Với op ∈ M dr1 ∩ M dp2 , điều với MSpec1 (op) MSpec2 (op) với op ∈ Mr2 ∩ M dp1 , điều với MSpec2 (op) MSpec1 (op) Định nghĩa 6.10 (Ghép song song thể thức thời gian-tài nguyên) Cho hai hợp đồng có khả ghép C1 = I1 , I1 , Rd1 , MSpec1 , Inv1 , InvRd1 , ℘1 C2 = I2 , I2 , Rd2 , MSpec2 , Inv2 , InvRd2 , ℘2 Phép ghép song song hai hợp đồng C1 C2 hiệu C = C1 ||C2 hợp đồng C = I, I, Rd , MSpec , Inv, InvRd , ℘ thành phần hợp đồng tính sau: I = (Ip1 ∪ Ip2 , Ir1 ∪ Ir2 ) I = I1 ∪ I2 Rd = Rd1 ⊕ Rd2 MSpec = MSpec1 ∪ MSpec2 , M dr = M dr1 ∪ M dr2 , M dp = M dp1 ∪ M dp2 Inv tính sau: Inv = Inv1 ∧ Inv2 InvRd = InvRd1 InvRd2 ℘ = ℘1 ||℘2 Luận án sử dụng toán tử để kết hợp thành phần thành phần bất biến tài nguyên, tốn tử có ngữ nghĩa sau: Giả sử , , điều kiện tài nguyên, InvRd ( ) = InvRd1 ( ) InvRd2 ( ) = ∃ , • ( |c = |c + |c ∧ |u = |u + |u ) Ngoài cách ghép song song, ghép hợp đồng phương pháp ghép nối tiếp Định nghĩa 6.11 (Ghép nối tiếp hợp 20 đồng thời gian-tài nguyên) Cho hai hợp đồng có khả ghép C1 = I1 , I1 , Rd1 , MSpec1 , Inv1 , InvRd1 , ℘1 hợp đồng C2 = I2 , I2 , Rd2 , MSpec2 , Inv2 , InvRd2 , ℘2 Phép ghép nối tiếp C1 với C2 , hiệu C◦ = C1 ◦ C2 , hợp đồng C◦ = I, I, Rd , MSpec , Inv, InvRd , ℘ , thành phần hợp đồng tính sau: I = (Ip1 ∪ Ip2 , Ir1 \ Ir1 |M dr1 ∩M dp2 ∪ Ir2 ) I = I1 \ I1 |Fdr1 ∩Fdp2 ∪ I2 Rd = Rd1 ⊕ Rd2 MSpec = MSpec1 ∪ MSpec2 , thành phần M d tính sau: M dr = M dr1 ∪ M dr2 , M dp = M dp1 ∪ M dp2 Inv tính sau: Invp = Invp1 ∧ Invp2 , Invr = Invr1 ∧ Invr2 InvRd = InvRd1 InvRd2 ℘ = ℘1 ◦ ℘2 Định lý 6.1 Cho ba hợp đồng C1 , C2 C3 Ta có (i) C1 ||C2 ) = C2 ||C1 ) (ii) (C1 ||C2 )||C3 = C1 ||(C2 ||C3 ) (iii) (C1 θ C2 ).θ C3 = C1 θ (C2 θ C3 ) Định nghĩa 6.12 (Phép cắm đầy đủ) Cho hai hợp đồng C1 = I1 , I1 , Rd1 , MSpec1 , Inv1 , InvRd1 , ℘1 C2 = I2 , I2 , Rd2 , MSpec2 , Inv2 , InvRd2 , ℘2 , phép cắm đầy đủ hợp đồng C1 C2 hợp đồng C = I, I, Rd , MSpec , Inv, InvRd , ℘ , hiệu C = C1 C2 , định nghĩa sau: I = (Ip1 ∪ Ip2 , Ir2 ) R = R2 ⊕ R1 MSpec = MSpec1 ∪ MSpec2 I = I1 |Fdr1 ∪ I2 Inv = Inv1 ∧ Inv2 InvRd = InvRd1 InvRd2 ℘ = ℘1 ∪ ℘2 ∪ ℘1 ||(℘2 ∩ {op ∈ M dp2 \ M dr1 }∗ ) 6.5 Hệ thống thời gian-tài nguyên Định nghĩa 6.13 (Thành phần phần mềm thụ động) Thành phần phần mềm thụ động thời gian thực PC = C, M code , C đồng với tên thành phần, bao gồm Một hợp đồng C = I, I, Rd , MSpec , Inv, InvRd , ℘ thực thi PC Một ánh xạ M code gán phương thức op M dp thiết kế xây dựng từ toán tử bản, với giả định sử dụng tiêu thụ lượng tài nguyên, lời gọi tới phương thức m M dr M code thỏa MSpec (op) M code(op) tất phương thức op M dp Định lý 6.2 Đặt PCi = Ci , M codei , i=1,2 thành phần phần mềm thụ động PC1 gọi làm mịn PC2 , hiệu PC1 PC2 C1 C2 21 Định nghĩa 6.14 (Giao diện hệ thống) Giao diện hệ thống IS = Evt, F d, SM dp , SM dp tập hữu hạn phương thức, F d tập hữu hạn thuộc tính, Evt tập hữu hạn kiện Định nghĩa 6.15 (Hợp đồng hệ thống) Hợp đồng hệ thống SysC = Is , SM Spec, Inv, Behav , Is = Evt, F d, SM dp giao diện hệ thống SM Spec đặc tả phương thức liên quan đến phương thức op(X, Y ) SM dp với thiết kế D(op) = (ϑ, ξ, ψ, d, ρ), Behav mô tả hành vi bên tập hữu hạn {evt, m|evt ∈ Evt, m ∈ SM dp }∗ Mỗi hành vi Behav gọi đặc tả tiến trình Định nghĩa 6.16 (Thành phần phần mềm chủ động) Thành phần phần mềm chủ động AC = C, SysC, M code bao gồm Một hợp đồng C với tập giao diện cung cấp rỗng Ip = ∅, ∅ Một hợp đồng hệ thống SysC = Is , SM Spec, Inv, Behav Các tiến trình thực thi gọi dịch vụ M code gán phương thức op SM dp thiết kế xây dựng từ toán tử sở Điều kiện sau thỏa M code : (SM Spec(op) M code(op)) với op ∈ SM dp Một hệ thốnghình thành phần luận án Thành phần phần mềm chủ động cắm vào Thành phần phần mềm thụ động đóng Định nghĩa 6.17 (Hệ thống) Hệ thống cặp thành phần phần mềm chủ động AC = C, SysC, M code thành phần phần mềm thụ động PC = C , M code , cho C C 6.6 Ngôn ngữ đặc tả thời gian thực mẫu 6.6.1 Mô tả phương thức Một thiết kế thời gian có ràng buộc thành phần phi chức đặc tả từ khóa method, phương thức loại provided required, tên phương thức đặt từ khóa name method { name ; resource r = Type of resource; duration int d = constant; assert ; specification Predicate; } 6.6.2 Mô tả hợp đồng component { provided feature ; required feature ; 22 10 11 12 13 14 15 system resource ; invariant ; resource invariant ; method { name ; resource r = Type of resource; duration int d = constant; specification Predicate; } protocol ; code {Code}; } 6.6.3 Mô tả thành phần phần mềm chủ động 10 11 12 13 14 15 16 Mặc định hợp đồng thuộc loại Passive component, thành phần phần mềm thuộc loại Active component phải thêm từ khóa active vào trước từ khóa component Trong Active component active component { required feature ; system resource ; invariant ; system assert ; resource invariant ; method { name ; resource r = Type of resource; duration int d = constant; assert ; specification Predicate; } protocol ; code {Code}; } 6.6.4 Mô tả hệ thống Hệ thống tạo thành phần phần mềm chủ động thành phần phần mềm thụ động 6.7 Tổng kết chương Chương luận án mở rộng thiết kế thời gian cách bổ sung đặc tả phi chức hai khía cạnh gồm bổ sung đặc tả phi chức cho thiết kế thời gian trở thành thiết kế tài nguyên-thời gian bổ sung ràng buộc phi chức vào hợp đồng nhằm lập luận cho việc cung cấp tài nguyên sử dụng tài nguyên hệ thống thời gian thực dựa thành phần 23 Chương Kết luận 7.1 Các kết đạt Qua trình nghiên cứu luận án đạt số kết sau đây: Thứ nhất, luận án đề xuất mơ hình cho thành phần phần mềm thời gian thực với thể thức tương tác tương tranh thời gian thể thức tương tranh thời gian có ràng buộc tài nguyên, sử dụng ôtômát thời gian ôtômát trọng số để mơ hình hóa chuỗi hành vi mơi trường Trên sở đó, luận án đề xuất thuật toán kiểm tra tuân thủ chuỗi hành vi môi trường với thể thức tương tác thành phần phần mềm thời gian thực hai khía cạnh chức phi chức Thứ hai, luận án mở rộng lý thuyết giao diện thành phần trở thành lý thuyết giao diện thành phần thời gian thực để đặc tả, mơ hình hóa giao diện kiểm tra tính chất hệ thống thời gian thực dựa thành phần Thứ ba, luận án đề xuất mở rộng lý thuyết hợp đồng thành hợp đồng thời gian thực để đặc tả, kiểm chứng thành phần phần mềm hệ thống thời gian thực dựa thành phần hai khía cạnh chức phi chức Trong đóng góp này, luận án bổ sung ngôn ngữ thời gian thực mẫu nhằm tăng khả ứng dụng kết nghiên cứu lý thuyết vào thực tế 7.2 Hướng phát triển Dưới luận án tóm tắt số vấn đề nghiên cứu tương lai: Trong đóng góp thứ nhất, luận án nghiên cứu mở rộng mơ hình thời gian thực cho hệ thống có quy mô lớn thực tế hệ thống nhúng, hệ thống tác tử di động triển khai cho dịch vụ web sở thể thức tương tác tương tranh thời gian có ràng buộc tài nguyên Trong đóng góp thứ hai, khoảng trống lý thuyết giao diện thành phần, Assume/Guarantee lý thuyết hợp đồng cần nghiên cứu để phân tích đánh giá ưu nhược điểm sử dụng lý thuyết áp dụng vào phát triển phần mềm Trong đóng góp thứ ba, chưa có cơng cụ để áp dụng lý thuyết nên công việc cần phát triển công cụ phát triển phần mềm cho hệ thống thời gian thực dựa lý thuyết đề xuất 24 ... triển hệ thống thời gian thực dựa thành phần 5.2 Thiết kế thời gian Theo lý thuyết phát triển hệ thống thời gian thực dựa thành phần, luận án đặc tả phương thức thành phần phần mềm thiết kế thời gian, ... ôtômát thời gian cho phép tính tốn chi phí cho hoạt động hệ thống thời gian thực 2.3 Kiểm chứng hệ thống thời gian thực 2.3.1 Đặc tả mơ hình hóa hệ thống Đặc tả mơ hình hóa bước quan trọng kiểm chứng. .. mềm dựa thành phần 2.2 Hệ thống thời gian thực Theo tổng kết tác giả M Timmerman L Perneel cho thấy có nhiều cách định nghĩa hệ thống thời gian thực theo tác giả hệ thống thời gian thực hệ thống: "

Ngày đăng: 14/03/2019, 14:59

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w