Do đó:
2
Ta cũng xét lần lƣợt đối với hệ 3 phần tử khơng hỏng thì cũng có 3 khả năng xảy ra, 2 khả năng đầu giống nhƣ trƣờng hợp trên nên ta chỉ cần tính xác suất xảy ra khả năng thứ ba:
Khi đó xác suất khơng hỏng của hệ ba phần tử đƣợc xác định là: 3 = 2 1) 2) 3) A1 A1 1 ∩ 2 A1 1 ∩ 2 1∩2∩3 t1
Hình 2.4: Các khả năng khơng hỏng của hệ ba phần tử
Cũng tƣơng tự nhƣ vậy xét với hệ thống có bốn phần tử, ta sẽ tính đƣợc cơng thức xác suất khơng hỏng của hệ bốn phần tử có dạng:
(4) = (3)
Trong trƣờng hợp khi tất cả các phần tử cùng loại và cùng có cƣờng độ hỏng là λ = const, ta có cơng thức:
3
4
45
−1
= −λt =0
Từ cơng thức trên cho thấy đối với cấu trúc hệ thống dự phịng khơng tải số phần tử n càng lớn thì càng có lợi.
Biến đổi nhƣ trên ta có thời gian hƣ hỏng trung bình của hệ thống dự phịng TLV:
∞
=
1 =0
Ví dụ: Một hệ thống gồm 2 máy giống nhau và độc lập, một máy hoạt động, một máy ở chế độ dự phòng. Bộ chuyển đổi máy dự phònghoạt động lý tƣởng và tỷ lệ hƣ hỏng của máy là 0.0005 lần/ giờ. Tính MTTF của hệ thống và độ tin cậy.Cho 100 giờ hoạt động, giả sử các máy dự phịng tốt nhƣ mới.
Giải:
Tính độ tin cậy của hệ thống:
Áp dụng cơng thức tính độ tin cậy của hệ thống:
= −λt
2
= −λt
= 0.9988
Tính thời gian hƣ hỏng trung bình của hệ thống dự phịng: ∞
=
46
Xét trƣởng hợp bộ chuyển tiếp có thể bị hỏng dƣới dạng hoạt động khơng chính xác với xác suất hỏng là Pc. Giả sử xác suất này không thay đổi theo thời gian.
Phân tích khả năng hỏng của hệ thống theo cách tƣơng tự nhƣ trƣờng hợp bộ chuyển tiếp hoạt động lý tƣởng thì có đƣợc xác suất khơng hỏng của hệ hai phần tử và ba phần tử tƣơng ứng:
2
3
Trƣờng hợp bộ chuyển tiếp có cơ cấu phức tạp, có độ tin cậy thay đổi theo thời gian Pc(t) và có tuổi thọ ngẫu nhiên Tc ta có xác suất khơng hỏng của hệ hai phần tử.
2
2
2.4Hệ thống dự phòng nhẹ tải
Hệ thống dự phòng nhẹ tải[3] còn gọi là hệ thống dự phịng ấm trong đó các phần tử chỉ chịu một phần tải trong khi nó ở trạng thái dự phịng và bắt đầu chịu tải hồn tồn khi nó bƣớc vào trạng thái làm việc thay cho phần tử bị hỏng. Trong trái thái dự phịng phần tử có thể bị hỏng tuy nhiên với xác suất nói chung nhỏ hơn trong trạng thái làm việc.
Ký hiệu Pi(d) (t) là xác suất không hỏng của phần tử thứ i, i=1,..,n ở trạng thái dự phịng ; Pi(l)(θ, t)là xác suất khơng hỏng (có điều kiện) của phần tử i ở trạng thái làm việc trong khoảng thời gian (θ, t) với điều kiện phần tử không hỏng trong khoảng thời gian (θ, t) khi ở trạng thái dự phòng: θ1, θ2,… θn là thời gian làm việc không hỏng ngẫu nhiên của các phần tử; Tθ là thời điểm hỏng của nhóm phần tử gồm i phần tử - cũng là thời điểm bƣớc vào làm việc của phần thử
thứ i+1. Gọi Q(l)(t) là xác suất hỏng của phần tử cơ bản. Q(i)(t) là của nhóm có i phần tử; Q(n)(t) là xác suất hỏng cần tìm của hệ thống:
Xác suất dƣới dấu tích phân:
<=
Do đó:
và
Theo cơng thức truy hồi, khi biết xác suất hỏng của phần tử cơ bản Q(l)(t) thì có thể tính xác suất hỏng của hệ thống theo cơng thức:
=
Độ tin cậy các các phần tử trong cả hai trạng thái là dự phòng và làm việc đều tuân theo luật mũ và độ tin cậy của phần tử ở trạng thái làm việc không phụ thuộc vào khoảng thời gian nó đã lƣu lại ở trạng thái dự phịng.
= −λ()
Với λ( ) và λ( ) là các cƣờng độ hỏng của phần tử thứ i ở trạng thí dự phịng và trạng thái làm việc. Với trƣờng hợp hệ thống có hai phần tử ta có cơng thức:
48 2 2 Kỳ vọng tuổi thọ của hệ thống: ký hiệu: 2
Với cƣờng độ hỏng là nhỏ (các phần tử có độ tin cậy cao) có thể dùng cơng thức sau để tính xác suất khơng hỏng của hệ thống có n phần tử:
= 1 − =1
Hệ thống dự phòng nhẹ tải [3] khác với dự phịng có tải và dự phịng khơng tải, độ tin cậy của hệ thống dự phòng nhẹ tải phụ thuộc thứ tự chuyển các phần tử dự trữ vào chế độ làm việc, do đó xuất hiện vấn đề sắp xếp các phần tử dự trữ sao cho độ tin cậy của hệ thống là có giá trị lớn nhất. Giả sử sắp xếp tối ƣu các phần tử dự phịng ta có:
λ2( )
≥
λ2( )
Từ biểu thức (2.32) ta nhận thấy rằng nếu các phần tử có cùng độ tin cậy trong trạng thái làm việc, phần tử nào kém tin cậy hơn trong trạng thái dự phịng
49
2.5Hệ thống dự phịng bảo vệ tích cực
Hệ thống dự phịng tích cực [3, 5] gồm n phần tử cùng loại làm việc nối tiếp và m phần tử cùng loại đó ở vị trí dự phịng. Khi một phần tử bất kỳ trong số n phần tử làm việc bị hỏng thì bộ chuyển tiếp sẽ đƣa một trong số m phần tử dự phòng vào thay. Giả sử các phần tử làm việc và các phần tử dự phòng đều ở chế Hình 2.5. Cấu trúc hệ thống dự phịng bảo vệ tích cực.
độ có tải khi đó hệ thống sẽ duy trì khả năng làm việc của mình cho tới số phần tử làm việc không hỏng (trong số m+n phần tử) không nhỏ hơn n.
Gọi xác suất không hỏng của cơ cấu chuyển tiếp là Pc(t); P(t) là xác suất không hỏng của phần tử đứng riêng. Xác suất làm việc không hỏng của hệ thống dự phịng đƣợc tính theo cơng thức xác suất đầy đủ có dạng:
+
Nếu cơ cấu chuyển tiếp tin cậy tuyệt đối tức là Pc(t)=1thì
vì
= −
(2.33) (2.34)
=
Cơng thức có thể viết dƣới dạng:
−1
= 1 −
=0
Nếu hệ thống có n=1 thì hệ thống dự phịng này trở thành hệ thống dự phịng song song. Thay n=1 vào cơng thức ta có cơng thức trùng với cơng thức (2.3)
Từ cơng thức (2.36) ta cũng dễ dàng tính đƣợc độ tin cấy của hệ thống Pmn(t) với trƣờng hợp có n=2
=1− 1−+1
và trong trƣờng hợp số phần tử dự phòng m=1:
=
2.6 Phƣơng pháp nâng cao độ tin cậy về phần mềm 2.6.1 Tổng quan về độ tin cậy phần mềm
Theo ANSI(American National Standards Institute) [11], phần mềm đáng tin cậy đƣợc định nghĩa là xác suất khả năng hoạt động của phần mềm không bị thất bại trong một khoảng thời gian nhất định và trong một môi trƣờng đƣợc quy định.
Độ tin cậy phần mềm [11] là một thuộc tính của chất lƣợng phần mềm, cùng với các chức năng, hiệu suất làm việc, khả năng sử dụng, khả năng bảo trì và tài liệu.
Mặc dù phần mềm đáng tin cậy đƣợc định nghĩa là một chức năng xác suất và đi kèm với khái niệm thời gian, tuy nhiên có sự khác nhau truyền thống về phần cứng đáng tin cậy và phần mềm đáng tin cậy, phần mềm đáng tin cậy không phải là một chức năng trực tiếp theo thời gian [11]. Linh kiện điện tử và cơ khí có thể trở thành "cũ" và mang ra so với thời gian và chức năng sử dụng, nhƣng phần mềm sẽ khơng gỉ hoặc thay ra trong suốt vịng đời của nó. Phần mềm sẽ khơng thay đổi theo thời gian trừ khi cố ý thay đổi hoặc nâng cấp.
51
Hình 2.6: Đồ thị điều chỉnh độ tin cậy của phần mềm theo thời gian
Phần mềm đáng tin cậy [11] là một thuộc tính quan trọng của chất lƣợng phần mềm. Phần mềm đáng tin cậy là khó đạt đƣợc bởi vì sự phức tạp của phần mềm có xu hƣớng cao. Trong khi bất kỳ hệ thống nào có độ phức tạp cao thì sẽ bao gồm các phần mềm có độ phức tạp cao và sẽ rất khó để độ tin cậy đạt đƣợc một mức độ nhất định. Sự phát triển hệ thống có xu hƣớng đẩy sự phức tạp vào lớp phần mềm, để tăng trƣởng nhanh chóng kích thƣớc của hệ thống và thuận lợi thì bằng cách nâng cấp các phần mềm là dễ làm nhất.
Độ tin cậy phần mềm [11] cũng là một yếu tố quan trọng ảnh hƣởng đến độ tin cậy của hệ thống. Nó khác với độ tin cậy phần cứng ở chỗ nó phản ánh sự hồn thiện thiết kế, chứ khơng phải là hồn thiện sản xuất. Sự phức tạp cao của phần mềm là yếu tố chính góp phần vào các vấn đề độ tin cậy phần mềm. Độ tin cậy phần mềm là không phải là một hàm của thời gian - mặc dù các nhà nghiên cứu đã đƣa ra hai mơ hình liên quan tới nhau.
Ví dụ: máy bay thế hệ tiếp theo sẽ có lớn hơn một triệu dòng mã nguồn của phần mềm trên máy bay; hệ thống kiểm sốt khơng lƣu thế hệ tiếp theo sẽ có từ một đến hai triệu dịng; trạm vũ trụ quốc tế sắp tới sẽ có hơn hai triệu dịng trên phần mềm hệ thống điều khiển chính và hơn mƣời triệu dịng phần mềm hỗ trợ mặt đất; một số hệ thống phòng thủ lớn quan trọng của các quốc gia sẽ có hơn năm triệu dịng mã nguồn của phần mềm điều khiển.
Trong khi sự phức tạp của phần mềm là tỷ lệ nghịch với độ tin cậy phần mềm, nó có liên quan trực tiếp đến các yếu tố khác quan trọng về chất lƣợng phần mềm, đặc biệt là chức năng, khả năng,… Nếu chú trọng vào các tính năng này sẽ có xu hƣớng làm các phần mềm thêm phức tạp hơn.
2.6.2 Kỹ thuật cải thiện độ tin cậy phần mềm.
- Kiểm thử phần mềm: đƣợc sử dụng nhiều để kích hoạt, xác định vị trí và loại bỏ các khuyết tật phần mềm. Kiểm thử phần mềm vẫn đang trong giai đoạn sơ khai ban đầu, các thử nghiệm đƣợc tạo ra cho phù hợp với nhu cầu cụ thể trong dự án phát triển phần mềm khác nhau [11].
- Sử dụng các cơng cụ phân tích khác nhau nhƣ: phân tích xu hƣớng, phân tích lỗi cây, phân loại trực giao khiếm khuyết và các phƣơng pháp hình thức,… có thể đƣợc sử dụng để giảm thiểu khả năng xảy ra sai sót sau khi phát hành và do đó cải thiện độ tin cậy phần mềm.
- Thu thập và phân tích dữ liệu: sau khi triển khai các sản phẩm phần mềm thì có thể thu thập và phân tích dữ liệu các lĩnh vực để nghiên cứu hành vi của các khiếm khuyết phần mềm. Khả năng chịu lỗi kỹ thuật, dự báo lỗi/thất bại sẽ đƣợc phân tích kỹ thuật và các quy tắc hƣớng dẫn để giảm thiểu sự xuất hiện lỗi hoặc tác động của lỗi trên hệ thống.
- Độ tin cậy phần mềm là một phần của chất lƣợng phần mềm ngồi ra nó cịn liên quan đến nhiều lĩnh vực chất lƣợng phần mềm.
Độ tin cậy truyền thống : nhiệm vụ ban đầu trong nghiên cứu độ tin cậy
phần mềm dựa trên phép suy luận độ tin cậy truyền thống về phần cứng. Nhiều khái niệm và phƣơng pháp phân tích truyền thống đƣợc sử dụng trong việc đánh giá độ tin cậy có thể đƣợc sử dụng để đánh giá và cải thiện độ tin cậy phần mềm. Tuy nhiên, độ tin cậy phần mềm tập trung vào hồn thiện thiết kế chứ khơng phải là sản xuất sản phẩm hoàn hảo nhƣ phƣơng pháp phân tích truyền thống độ tin cậy phần cứng [11].
Phần mềm chống chịu lỗi: là khả năng để cho phần mềm phát hiện và
phục hồi từ một lỗi mà đang xảy ra hoặc đã xảy ra một trong hai thành phần: phần mềm hoặc phần cứng trong hệ thống; trong đó các phần mềm đang chạy để cung cấp dịch vụ phù hợp với các đặc điểm kỹ thuật. Phần mềm chống chịu lỗi
53
là một thành phần cần thiết để xây dựng thế hệ tiếp theo của hệ thống máy tính thích ứng cao và đáng tin cậy từ các hệ thống nhúng với các hệ thống kho dữ liệu. Ngoài ra, phần mềm chống chịu lỗi có độ tin cậy cao để xử lý những thất bại một cách khơng rõ ràng và khơng thể đốn trƣớc đƣợc bằng cách cung cấp một tập hợp các modul phần mềm có chức năng tƣơng đƣơng. Phần mềm chống chịu lỗi không phải là một giải pháp cho chính nó và khả năng chịu lỗi phần mềm chỉ là một phần cần thiết để tạo ra thế hệ tiếp theo của hệ thống.
Kiểm thử phần mềm: kiểm thử phần mềm đƣợc dùng nhƣ là một cách để
đo lƣờng và cải thiện độ tin cậy phần mềm. Nó đóng một vai trị quan trọng trong giai đoạn thiết kế, xác nhận, thực hiện và giai đoạn phát hành. Nó khơng phải là một lĩnh vực đã phát triển hoàn thiện, nâng cao lĩnh vực này sẽ có tác động lớn đến ngành cơng nghiệp phần mềm.
Phần mềm tham gia vào rất nhiều lĩnh vực của nền sản xuất xã hội nên vấn đề liên quan đến phần mềm và chất lƣợng sản phẩm phần mềm có thể gây ra các vấn đề nghiêm trọng; ví dụ nhƣ phần mềm điều khiển nhà máy điện hạt nhân. Các lỗi trong phần mềm khác biệt rất nhiều so với lỗi trong phần cứng và các thành phần khác của hệ thống; chúng thƣờng có lỗi thiết kế và nhiều lỗi trong phần mềm có liên quan đến các vấn đề đặc tả. Thiệt hại do lỗi gây ra phần mềm ngày càng nhiều và hơn thế nữa là mối quan tâm của xã hội và vấn đề pháp lý.
Một trong những phƣơng pháp truyền thống để nâng cao độ tin cậy phần mềm là phƣơng pháp: N-phiên bản modul dự phòng, phƣơng pháp này rất có hiệu quả khi thực hiện một cách chính xác. Để sử dụng phƣơng pháp này chi phí rất tốn kém và thơng thƣờng chỉ những hệ thống có nhiệm vụ quan trọng nhất sẽ sử dụng N-phiên bản module dự phịng; ví dụ trong ngành cơng nghiệp hàng khơng vũ trụ.
Ý tƣởng cơ bản của phƣơng pháp N-phiên bản module dự phòng là độ tin cậy hệ cấu trúc các modul song song. Những module hệ thống này có thể hỗ trợ thêm cho tính chính xác của hệ thống xuất phát từ những lỗi tiềm tàng trong giai đoạn thiết kế và đặc điểm kỹ thuật của dự án. Trong một hệ thống phần mềm N- phiên bản, mỗi module đƣợc thực hiện lên đến N thực thi khác nhau. Các
module độc lập thực hiện các nhiệm vụ song song tƣơng tự nhƣ nhau nhƣng kết quả trả về theo một cách khác nhau, mỗi module gửi kết quả thực thi của mình về cho hệ thống (kỳ vọng kết quả tất cả các phiên bản đều nhƣ nhau và chính xác), hệ thống sử dụng một số chƣơng trình bỏ phiếu để xác định kết quả đúng. Nếu hệ thống trên khơng bỏ phiếu có nghĩa là hệ thống dự phịng N-modul chỉ có thể tiếp cận giới hạn lý thuyết độ tin cậy cho một hệ thống song song đáng tin cậy hồn tồn. Hệ thống có thể vƣợt qua những lỗi thiết kế có trong phần mềm bằng cách dựa trên khái niệm thiết kế đa dạng.
Một sự khác biệt quan trọng trong phần mềm N-phiên bản là thực tế hệ thống có thể bao gồm nhiều loại phần cứng và sử dụng nhiều phiên bản của phần mềm mục đích là để tăng sự đa dạng để tránh thất bại chế độ thông thƣờng. Sử dụng phần mềm N-phiên bản đƣợc khuyến khích mỗi phiên bản khác nhau đƣợc thực hiện càng đa dạng càng tốt, bao gồm bộ công cụ khác nhau, ngơn ngữ lập trình khác nhau và có thể mơi trƣờng khác nhau. Các nhóm phát triển khác nhau nếu có ít sự tƣơng tác liên quan đến các chƣơng trình giữa chúng thì càng tốt.
Sự khác biệt giữa các phƣơng pháp phục hồi và khối phƣơng pháp N- phiên bản không phải là nhiều nhƣng điều đó rất quan trọng. Trong phƣơng pháp khối phục hồi truyền thống mỗi thành phần sẽ đƣợc thực hiện thay thế tuần tự cho đến khi tìm thấy một giải pháp có thể chấp nhận đƣợc xác định bởi hệ thống chính. Phƣơng pháp khối phục hồi đƣợc mở rộng để thực hiện bao gồm đồng thời các lựa chọn thay thế khác nhau. Phƣơng pháp dự phòng N-phiên bản thiết kế để hệ thống luôn luôn đƣợc thực hiện bằng phƣơng pháp sử dụng đồng thời N modul phần cứng.
Độ tin cậy của một hệ thống dự phịng N-phiên bản có thể đƣợc mơ tả tốn học nhƣ sau: − = =0 Trong đó: ! − ! ! n: là số lƣợng các module dự phòng
55
m: là số lƣợng tối thiểu của các module bắt buộc phải hoạt động chính xác, bỏ qua sự sắp xếp bỏ phiếu.
Ví dụ: Xem xét một hệ thống gồm 5 module yêu cầu 3 module cho kết
quả chính xác, giả thiết các module đều có một độ tin cậy là 0,95.
2 =
= 10(0,95) − 15 0,95 + 6(0,95) = 0,9988
2.7 Kết luận
Trong chƣơng hai của luận văn tơi đã trình bày các phƣơng pháp để nâng cao độ tin cậy của hệ thống bằng phƣơng pháp dự phòng cấu trúc.
Phƣơng pháp dự phịng đóng một vai trị quan trọng trong việc tăng cƣờng hệ thống đáng tin cậy. Vấn đề phân bổ dự phòng đã đƣợc phân tích cho nhiều cấu trúc khác nhau hệ thống. Một trong những hình thức thƣờng đƣợc sử dụng dự phịng là chế độ chờ dự phịng, tơi đã trình bày các phƣơng pháp dự