1) 2) A1 A1 𝐴1 ∩ 𝐴2 t1 t t 𝐴 ∩ 𝐴1 2 t2 𝐴1 ∩ 𝐴 ∩ 𝐴2 3 A1 3)
𝑃𝑠 𝑛 𝑡 = 𝑒−λt λt 𝑖
𝑖!
𝑛 −1
𝑖=0
; 𝑡 ≥ 0 (2.18)
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: 𝑇𝐿𝑉 = λt 𝑖𝑒λt 𝑖! 𝑛 𝑖=0 𝑑𝑡 = 𝑛 λ ∞ 0 (2.19)
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 λt 𝑖 𝑖! 𝑛 −1 𝑖=0 𝑃𝑠 2 𝑡 = 𝑒−λt λt 𝑖 𝑖! 1 𝑖=0 = 𝑒−(0.0005 𝑥 100)[1 + 0.0005 𝑥 100) = 0.9988
Tính thời gian hƣ hỏng trung bình của hệ thống dự phòng:
𝑇𝐿𝑉 = λt 𝑖𝑒λt 𝑖! 𝑛 𝑖=0 𝑑𝑡 = 𝑛 λ ∞ 0 = 2 0.0005= 4000ℎ
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 (𝑡) = 𝑃1 𝑡 + 𝑃𝑐 𝑓1 𝑡1 𝑃2 𝑡 − 𝑡1 𝑑𝑡 (2.20)
∞
0
𝑃𝑠 3 𝑡 = 𝑃𝑠 2 𝑡 + 𝑃𝑐2𝑃3 (2.21)
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 (𝑡) = 𝑃 𝑇1 > 𝑡 ∪ (𝑇1 ≤ 𝑡 ∩ 𝑇2 > 𝑇1 ∩ 𝑇2 > 𝑡 − 𝑇1)
Biến đổi công thức ta có
𝑃𝑠 2 (𝑡) = 𝑃1 𝑡 + 𝑓1(𝑡1)𝑃𝑐 𝑡1 𝑃2 𝑡 − 𝑡1 𝑑𝑡1 (2.22)
∞
0
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 hoàn toà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: 𝑄 𝑖 𝑡 = 𝑃 𝑇 𝑖 < 𝑡 = 𝑃 𝑇 𝑖−1 < 𝑡 , 𝜃1 < 𝑡 𝑄 𝑖 𝑡 = 𝑃 𝜃𝑖 < 𝑡 𝑇𝑖−1 = 𝜃 𝑑(𝑄 𝑖−1 (𝜃) 𝑡 0 (2.23)
Xác suất dƣới dấu tích phân:
𝑃 𝜃𝑖 <= 𝑡 𝑇 𝑖−1 = 𝜃 = 1 − 𝑃 𝜃𝑖 > 𝑡 𝑇 𝑖−1 = 𝜃 = 1 − 𝑃𝑖 𝑑 (𝜃)𝑃𝑖 1 (𝜃, 𝑡) Do đó: 𝑄 𝑖 𝑡 = 1 − 𝑃𝑖 𝑑 𝜃 𝑃𝑖 𝑙 𝜃, 𝑡 𝑑(𝑄 𝑖−1 (𝜃) 𝑡 0 (2.24) và 𝑄(𝑙) 𝑡 = 1 − 𝑃1 𝑙 0, 𝑡 = 1 − 𝑃1 𝑙 𝑡 (2.25)
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:
𝑄 𝑛 𝑡 = 1 − 𝑃𝑛 𝑑 𝜃 𝑃𝑛 𝑙 𝜃, 𝑡 𝑑(𝑄 𝑛−1 𝜃 (2.26)
𝑡
0
Độ 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.
𝑃𝑛 𝑑 𝜃 = 𝑒−λ𝑖 (𝑑) 𝜃 (2.27) 𝑃𝑛 𝑙 𝜃, 𝑡 = 𝑒−λ𝑖 (𝑙) 𝑡−𝜃(2.28) 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.
𝑃2 𝑡 = 1 − 𝑄2 𝑡 𝑃2 𝑡 = 𝑒λ1 𝑙 𝑡 + λ1 𝑙 𝑒−λ2 𝑙 𝑡 λ1 𝑙 − λ2 𝑙 1 − 𝛾2 𝑥 𝑥 1 − 𝑒𝑥𝑝 −(λ1 𝑙 − λ2 𝑙 (1 − 𝛾2)) 𝑡 (2.29) Kỳ vọng tuổi thọ của hệ thống: 𝐸 𝑇 2 = 1 λ1(𝑙) + λ1(𝑙) λ1 𝑙 (λ1 𝑙 + 𝛾2λ2(𝑙)) (2.30) ký hiệu: 𝛾2 = λ1 (𝑑 ) λ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 λ𝑖 𝑙 1 + 𝑖 − 1 𝛾𝑖 (2.31)
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(𝑙) ≥λ3 𝑑
λ3 𝑙 ≥ ⋯ . ≥ λ𝑛 𝑑
λ𝑛 𝑙 hay 𝛾2 ≥ 𝛾3 ≥ ⋯ ≥ 𝛾𝑛 (2.32)
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 cần đƣợc đƣa vào làm việc trƣớc hoặc nếu các phần tử có cùng độ tin cậy trong trạng thái dự phòng thì phần tử nào có độ tin cậy cao hơn trong trạng thái làm việc cần đƣa vào sử dụng trƣớc.
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ế
độ 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:
𝑃𝑚𝑛 𝑡 = 𝐶𝑛𝑖−𝑘𝐶𝑚𝑘𝑅𝑖−𝑘 𝑡 1 − 𝑃 𝑡 𝑛−𝑖+𝑘 𝑥 𝑛 𝑘=𝑖−𝑛 𝑚 +𝑛 𝑖=𝑛 𝑥 𝑃𝑐 𝑡 𝑃(𝑡) 𝑘. 1 − 𝑃𝑐 𝑡 𝑃(𝑡) 𝑚 −𝑘 (2.33)
Nếu cơ cấu chuyển tiếp tin cậy tuyệt đối tức là Pc(t)=1thì
𝑃𝑚𝑛 𝑡 = 𝐶𝑛𝑖−𝑘𝐶𝑚𝑘𝑃𝑖 𝑡 1 − 𝑃 𝑡 𝑚 +𝑛−𝑖 𝑛 𝑘=𝑖−𝑛 𝑚 +𝑛 𝑖=𝑛 (2.34) vì 𝐶𝑛𝑖−𝑘𝐶𝑚𝑘 = 𝐶𝑚 +𝑛𝑖 𝑛 𝑘=𝑖−𝑛 Nên có thể viết: Hình 2.5. Cấu trúc hệ thống dự phòng bảo vệ tích cực.
𝑃𝑚𝑛 𝑡 = 𝐶𝑚 +𝑛𝑖 𝑃𝑖 𝑡 1 − 𝑃 𝑡 𝑚 +𝑛 −𝑖 𝑚 +𝑛
𝑖=𝑛
(2.35)
Công thức có thể viết dƣới dạng:
𝑃𝑚𝑛 𝑡 = 1 − 𝐶𝑚 +𝑛𝑖 𝑃𝑖 𝑡 1 − 𝑃 𝑡 𝑚 +𝑛−𝑖 𝑛−1
𝑖=0
(2.36)
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 1 + 𝑚 + 1 𝑃 𝑡 (2.37)
và trong trƣờng hợp số phần tử dự phòng m=1:
𝑃𝑚𝑛 𝑡 = 𝑃𝑛 𝑡 + 𝑛 1 − 𝑃 𝑡 𝑃𝑛 𝑡 (2.38)
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 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.
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ự hoàn thiện thiết kế, chứ không phải là hoà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 soá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 ngoà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 hoà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
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ể đoá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 hoàn toà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