Căn cứ vào các dự đoán, việc sử dụng hệ thống các kịch bản là một cách tiếp cận có triển vọng để sớm dự đoán độ tin cậy của hệ thống dựa trên thành phần trong chu kì.. đây cũng đã có một
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
-
LƯU THỊ HỒNG QUYÊN
SỬ DỤNG CHUỖI MARKOV ĐÁNH GIÁ
ĐỘ TIN CẬY PHẦN MỀM WEB-BASED
Chuyên ngành: TRUYỀN DỮ LIỆU VÀ MẠNG MÁY TÍNH
Mã số: 60.48.15 Người hướng dẫn khoa học: PGS TS HUỲNH QUYẾT THẮNG
TÓM TẮT LUẬN VĂN THẠC SĨ
HÀ NỘI – 2012
Trang 2MỞ ĐẦU
Trong thời đại ngày nay, hệ thống dựa trên máy tính thường được sử dụng cho việc bảo vệ và điều khiển trong các ngành công nghiệp khác nhau như: ngành công nghiệp hạt nhân, công nghiệpđiện, cơ khí, dân dụng, y tế … Do hệ thống
bộ điều khiển dựa trên phần mềmlà phổ biến nên phần mềm là nguyên nhân của hầu hết các vấn đề về hệ thống
Chúng ta biết rằng chất lượng và tuổi thọ của một hệ thống phần mềm được xác định bởi kiến trúc của nó.Cấu trúc phần mềm là lát cắt đầu tiên trong việc giải quyết vấn đề và thiết kế
hệ thống.Độ tin cậy của hệ thống có liên quan đến tính an toàn, trong đó miền giới hạn an toàn là quan trọng hàng đầu Vì thế, các phần mềm được sử dụng trong các hệ thống này phải đáng tin cậy
Kỹ thuật độ tin cậy phần mềm là một khía cạnh quan trọng của rất nhiều những nỗ lực phát triển hệ thống,do đóđã cómột lượng lớn các nghiên cứu trong lĩnh vực này Một hoạt động quan trọng trong kỹ thuật độ tin cậy phần mềm là việc dự đoán độ tin cậy Căn cứ vào các dự đoán, việc sử dụng hệ thống các kịch bản là một cách tiếp cận có triển vọng để sớm dự đoán
độ tin cậy của hệ thống dựa trên thành phần trong chu kì
Kịch bản (Scenarios) đã được sử dụng phổ biến như là phương thức để thu thập các yêu cầu hành vi hệ thống Trước
Trang 3đây cũng đã có một số công trình sử dụng các kịch bản để dự đoán độ tin cậy của phần mềm dựa trên thành phần, nhưng chúng sử dụng không chính xác, còn thô sơ và dự đoán một cách cơ bản theo tuần tự các mô hình kiến trúc hệ thống Vì vậy trong đề tài này, chúng ta trình bày một cách tiếp cận mới dựa trên kịch bản để dự đoán độ tin cậy một cách chính xác hơn, thuần thục hơn mô hình kiến trúc hệ thống đồng thời được
tổng hợp để tính toán dự đoán độ tin cậy
Trong luận văn cũng xác định mục đích tìm hiểu và làm chủ công cụ ứng dụng lý thuyết Markov trong đánh giá độ tin cậy phần mềm, từ đó áp dụng kỹ thuật kịch bản để đánh giá một lớp phần mềm cụ thể - phần mềm Web-Based
CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI
Trang 41.1 Lý thuyết chuỗi Markov và các ứng dụng trong bài toán
dự đoán
1.1.1 Định nghĩa chuỗi Markov
Chuỗi Markov:Trong toán học, một chuỗi Markov (thời
gian rời rạc), đặt theo tên nhà toán học người Nga: Andrei Andreyevich Markov, là một quá trình ngẫu nhiên thời gian rời rạc với tính chất Markov Trong một quá trình như vậy, quá khứ không liên quan đến việc tiên đoán tương lai mà việc đó chỉ phụ thuộc theo kiến thức về hiện tại
Ta nói rằng dãy các ĐLNN (Xn) là một chuỗi Markov nếu với mọi n1< < nk< nk+1 và với mọi i1,i2 , ,ik+1 ∈ E
P(X0 = i0, X1 = i1, …, Xn = in ) = ui0Pi(0)i(1) … Pi(n-1) i(n) (1.2)
U(m + n)= U(m)P n ; Nói riêng : U(n)= U P n (1.3)
Mô hình Markov ẩn:Mô hình Markov ẩn (Hidden Markov
Model - HMM) là mô hình thống kê trong đó hệ thống được
mô hình hóa được cho là một quá trình Markov với các tham số
Trang 5không biết trước và nhiệm vụ là xác định các tham số ẩn từ các tham số quan sát được, dựa trên sự thừa nhận này.:
Một mô hình Markov ẩn bao gồm các thông số sau:
1) Số trạng thái ‘state’ N có trong mô hình và các trạng thái này là ẩn Với giá trị tương ứng S=(S1, …., SN) gọi là tập tất cả các trạng thái ẩn
2) A= [aij] xác suất chuyển trạng thái
3) p= [pi] xác suất khởi trạng
4) qt- Trạng thái ở thời điểm t
5) Ot (ký hiệu) Quan sát tại thời điểm t
1.1.2 Tính chất chuỗi Markov
Đặc điểm của một xích Markov được biểu diễn bởi phân
bố điều kiệnP(X n+1 |X n )đó là xác suất chuyển dịch của quy
trình.Xác suất của một chuyển dịnh trong hai, ba, hoặc nhiều bước hơn được rút ra từ xác suất chuyển dịch một bước và thuộc tính Markov[25]:
các trạng thái tại thời điểm n Phân bố ban đầu là P(X0) Sự tiến
Trang 6hóa của quy trình qua một bước được mô tả bằng công thức:
P(X n+1) =∫ ( | )| ( ) (1.6)
1.1.3 Ứng dụng của chuỗi Markov
Các hệ thống Markov xuất hiện nhiều trong vật lí, đặc biệt
là cơ học thống kê Chuỗi Markov có thể dùng để mô hình hóa nhiều quá trình trong lí thuyết hàng đợi và thống kê
PageRank của một trang web dùng bởi Google được định nghĩa bằng một chuỗi Markov
Chuỗi Markov cũng có nhiều ứng dụng trong mô hình sinh học, đặc biệt là trong tiến trình dân số
Một ứng dụng của chuỗi Markov gần đây là ở thống kê địa chất
Chuỗi Markov cũng có thể ứng dụng trong nhiều trò game Trong ngành quản lý đất đai: người ta còn ứng dụng GIS,
RS và chuỗi Markov vào phân tích sự thay đổi sử dụng đất (land use change)
1.2 Tổng quan và giới hạn những dự đoán ban đầu về độ tin cậy của phần mềm trong giai đoạn thiết kế kiến trúc
1.2.1 Giới thiệu
Độ tin cậy miền giới hạn an toàn và hệ thống độ tin cậy có liên quan là những điều quan trọng hàng đầu dựa trên hệ thống
Trang 7máy tính Vì thế, phần mềm sử dụng trong các hệ thống phải đáng tin cậy
Những lý do mà các mô hình độ tin cậy này không đủ mạnh
để vượt trội trong việc loại bỏ các sự cố trong môi trường phần mềm là:
1) Các quan niệm sai lầm về hiện tượng lỗi và hỏng hóc [20] 2) Các thông số mô hình hóa không chính xác
3) Khó khăn trong việc lựa chọn các mô hình độ tin cậy
4) Khó khăn trong việc xây dựngcấu trúc phần mềm hệ thống
1.2.2 Tổng quan các kỹ thuật hiện có
Luận văn này sẽ kế thừa ý tưởng của mô hình trên để xây dựng mô hình tính toán độ tin cậy và đề xuất hướng giải quyết cho mô hình Các bước chính mà mô hình đã đề xuất sẽ được thực hiện như sau:
o Giai đoạn 1:Xác định tập hợp các trạng thái S dựa vào chi tiết mô hình kiến trúc
o Giai đoạn 2:Xác định được các xác suất chuyển trạng thái
để từ đó xây dựng nên mô hình về độ tin cậy của hệ thống
o Giai đoạn 3:Áp dụng các mô hình tính toán để xác định, ước đoán về độ tin cậy của hệ thống
Trang 81.2.3 Các hạn chế
Phần này nêu lên những hạn chế của các kỹ thuật phân tích dựa trên cấu trúc và dựa trên trạng thái phổ biến Những hạn chếcủa các phương pháp tiếp cận hiện tại có thể được phân loại
theo: 1) modeling (mô hình hóa), 2) analysis (phân tích), 3) parameter estimation (các tham số ước lượng), 4) validation
(xác thực) và 5) optimization (tối ưu hóa)
1.2.3.1 Các hạn chế mô hình hóa
1.2.3.2Các hạn chế phân tích
1.2.3.3 Các hạnchế tham số ước lượng
1.2.3.4Các hạn chế xác thực
1.2.3.5 Các hạn chế tối ưu hóa
1.2.4 Giải pháp đề xuất để giải quyết các hạn chế
Ở phần này, đầu tiên chúng ta giới thiệu sự cần thiết của việc dự báo ban đầu độ tin cậy phần mềm Tiếp đến chúng ta đưa ra cái nhìn tổng quan về các phương pháp tiếp cận hiện có của phần mềm dự đoán độ tin cậy ban đầu, và mô tả tính thông dụng và khác biệt của những phương pháp tiếp cận này Sau
đó, chúng ta đã dự kiến các phương pháp tiếp cận mà có thể giúp trong việc giải quyết các hạn chế được trình bày
CHƯƠNG 2: PHƯƠNG PHÁP KỊCH BẢN DỰ
Trang 92.1 Giới thiệu chung
Độ tin cậy là một đặc trưng động của hệ thống, nó là một
2.2 Quy trình chi tiết kỹ thuật kịch bản
2.2.1 Scenarios (Các kịch bản)
Các ký hiệu Scenario ví dụ như Message Sequence Charts (Biểu đồ trình tự tin nhắn) được sử dụng ở giai đoạn đầu phát triển chotài liệu Các kịch bản một phần mô tả về cách các thành phần tương tác để cung cấp chức năng mức hệ thống.Khái niệm cơ bản của sự hợp thành kịch bản là các kịch bản đơn có thể được sử dụng như xây dựng các khối mô tả mới phức tạp hơn, kịch bản hơn Dãy hành vi đơn giản được mô tả bằng cách sử dụng Basic Message Sequence Charts (BMSCs)
(Biểu đồ tuần tự tin nhắn cơ bản)BMSC được hình thành bởi
các đường dọc đại diện cho dòng thời gian thành phần và mũi tên nằm ngang đại diện cho mối tương tác giữa các thành
Trang 10phần.Mối tương tác là một thông tin liên lạc đồng bộ giữa các thành phần
HMSC cấp cao (HMSC) là một cấu trúc cú pháp được áp dụng rộng rãi để nô tả thành phần scenario.Một HMSC là một
đồ thị có hướng, có các nút liên quan tới BMSCs và các cạnh của chúng chứng tỏ rằng sự sắp xếp của BMSCs có thể chấp nhận HMSCs cho phép các bên liên quan sử dụng lại các kịch bản bên trong một chi tiết kỹ thuật và giới thiệu các trình tự, các vòng lặp, và những thay thế luân phiên của BMSCs
2.2.2 Mô hình tin cậy hướng người sử dụng Cheung
Để dự đoán độ tin cậy của hệ thống phần mềm, chúng ta cần một mô hình tin cậy thể hiện độ tin cậy của hệ thống Việc
sử dụng phương pháp tiếp cận của Cheung, độ tin cậy của hệ thống có thể được tính toán như là một chức năng của cả các thuộc tính xác định của cấu trúc chương trình và các thuộc tính ngẫu nhiên của việc sử dụng và sự thất bại các thành phần của nó.Mô hình Cheung là một mô hình độ tin cậy Markov sử dụng một chương trình luồng biểu đồ để miêu tả cấu trúc của hệ thống
2.3 Phân tích độ tin cậy sử dụng kịch bản và chuỗi Markov
Bốn giả định chính làm cơ sở cho phương pháp dự đoán độ tin cậy:
Trang 11i Việc chuyển giao kiểm soát giữa các thành phần có thuộc tính Markov
ii Sự thất bại hoàn toàn độc lập trong suốt quá trình chuyển đổi
iii Một thông điệp từ thành phần C tới thành phần C' thể hiện
một sự dẫn ra bởi C của một dịch vụ được cung cấp bởi C'
iv Chỉ có duy nhất một kịch bản ban đầu và một kịch bản cuối
cùng cho hệ thống trong HMSC
2.3.1 Các chú thích kịch bản
Trong bước đầu tiên, chúng tadiễn giải các kịch bản (tức
là, HMSC và các BMSCs) với hai loại xác suất,xác suất của quá trình chuyển đổi giữa các kịch bản PTSij và độ tin cậy của các thành phần RC
2.3.2 Tổng hợp xác suất LTS
Bước thứ hai trong phương pháp này là tổng hợp một xác suất LTS từ các thông số kĩ thuật của kịch bản được diễn giải Bao bao gồm các bước sau:
1) Đối với mỗi thành phần Ci và mỗi Sj BMSC, một hệ thống chuyển tiếp có nhãn (LTS) CiSj được dựng bằng cách chiếu các chế độ địa phương của Ci trong Sj
2) Đối với mỗi thành phần Ci, Bộ LTSs đã dựng cho Ci ở bước
1 được hợp thành vào trong thành phần LTS cho Ci theo cấu trúc của HMSC, với các chuyển tiếp ẩn (các hành động τ) liên
Trang 12kết với trạng thái cuối cùng của Ci Sj để bắt đầu trạng thái Ci Sj'
bất cứ khi nào có sự chuyển đổi từ Sj đến Sj' trong HMSC Kết quả LTS bao gồm một trạng thái bắt đầu mới tương ứng với trạng thái bắt đầu của HMSC
3) Mỗi thành phần LTS xây dựng trong bước 2 được giảm bớt vết tương đương tất định, LTS cực tiểu Điều này phù hợp với
sự chọn lựa bị chậm theo tiêu chuẩn ITU MSC
4) Mô hình kiến trúc cho hệ thống đưa ra như thành phần song hành với thành phần LTSs thu nhỏ được xây dựng ở bước 3
2.3.3 Dự đoán độ tin cậy
Trong bước cuối cùng của phương pháp dự đoán, mô hình kiến trúc tổng hợp trong bước trước đó được giải thích giống như một mô hình Markov, và chúng tôi áp dụng phương pháp của Cheung để tính toán độ tin cậy.Đặc biệt, sự chuyển đổi trọng lượng xác suất của mô hình kiến trúc được ánh xạ vào một ma trận vuông quá trình chuyển đổi M' mà hàng nhập vào tổng bằng 1.Điều này được sử dụng như ma trận M' được miêu
tả tại mục 2.2, với N = {E, -1, 0, 1, , n - 1} tập hợp của các trạng thái trong tổng hợp LTS, thiết bị đầu cuối E của trạng thái thực hiện chính xác (trạng thái tương ứng C được mô tả trong mục 2.2), trạng thái lỗi thiết bị đầu – 1 (trạng thái F của mục 2.2), và trạng thái n - 1 mà từ đó chuyển đổi sang trạng
Trang 13thái E được thực hiện khi hành động kết thúc (trạng thái Nn của mục 2.2)
2.4 Kịch bản được bao hàm
Kịch bản mô tả hai khía cạnh của một hệ thống.Một mặt, chúng mô tả một tập hợp các dấu hiệu của hệ thống có xu hướng bộc lộ ra ngoài.Mặt khác, nó mô tả các thành phần sẽ cung cấp mức độ chức năng của hệ thống và giao diện của chúng
Sự tồn tại của scenario bao hàm như là một kết quả của mối quan hệ chặt chẽ giữa hành vi và kiến trúc trong kịch bản
dựa trên sự hỗ trợ về thông số kĩ thuật
CHƯƠNG 3: ĐÁNH GIÁ ĐỘ TIN CẬY PHẦN
MỀMWEB-BASED 3.1 Đề xuất áp dụng phương pháp kịch bản và chuỗi
Markov trong đánh giá độ tin cậy phần mềm Web-Based
3.1.1 Giới thiệu
Độ tin cậy của một hệ thống phần mềm được định nghĩanhư khả năng thực hiện các chức năng cần thiết theo điều kiện được quy định trong khoảng thời gian xác định Trong luận văn này, chúng ta đề cập đến hệ thống phần mềm đang được thảo luận dưới đây là hệ thống Web-based
Trang 14Luận văn này đề xuất một phương pháp đánh giá chất lượng của các thành phần ứng dụng thông qua việc dự đoán độ tin cậy, khi một mô hình chính thức của các ứng dụng Web có thể được xác định trong hệ hình thức định hướng đối tượng
3.1.2 Web và mô hình Markov
Web là một mạng lưới rộng lớn gồm nhiều thành phần liên kết với nhau.Chúng ta tạo mô hình các thành phần Web như User, Browser, Server
Các đối tượng, được khởi tạo từ các lớp, tương tác trong cách có ý nghĩa thông qua các thông tin
Mô hình Markov là một trong những công cụ mạnh nhất hiện có cho các kỹ sư và các nhà khoa học phân tích các hệ thống.Tính chất Markov phát biểu rằng trạng thái hiện tại của
hệ thống, sự phát triển trong tương lai của hệ thống là độc lập với quá trình của nó.Mô hình Markov của một thành phần Web có thể được đại diện bởi một sơ đồ trạng thái Các trạng thái đại diện các giai đoạn trong thành phần Web quan sát được để người dùng và các quá trình chuyển đổi giữa các trạng thái gán giá trị xác suất Xác suất được tính từ việc sử dụng và thông tin hỏng hóc liên quan thu thập được trong dữ liệu log để duy trì trang web Chúng ta có thể sử dụng dữ liệu này như xác suất chuyển đổi ban đầu Đại diện đại số của mô hình Markov là một ma trận, được gọi là ma trận chuyển đổi,
Trang 15trong đó các hàng các cột tương ứng với các trạng thái và giá trị Pij trong hàng thứ i, cột thứ j là xác suất chuyển đổi từ trạng thái isang trạng tháij Chúng ta sử dụng ma trận biểu diễn chuyển đổi trong các thuật toán tính độ tin cậy
một bộ dữ liệu <e i , p i , t i >, biểu thị rằng biến cố e i xảy ra ở thời
gian t i , tại cổng p i Trạng thái của một đối tượng ở bất kỳ thời
gian t i là bộ dữ liệu (θ; a; R), nơi mà trạng thái hiện tại θ là một
trạng thái đơn giản, a là vector gán cho các thuộc tính, và R là vector của các phản ứng xuất sắc Một bước tính của một đối
tượng xảy ra khi các đối tượng với trạng thái (θ; a; R) nhận được một tín hiệu <e i , p i , t i >và tồn tại một quá trình chuyển đổi
đặc điểm kỹ thuật có thể thay đổi trạng thái của nó Một phép tính C ở đối tượng A là một chuỗi, có thể là các trạng thái và tín hiệu xoay chiều vô hạn, OS0 〈⎯⎯⎯⎯⎯ OS , , 〉 1
〈 , , 〉
⎯⎯⎯⎯⎯ ………