Tải bản đầy đủ (.pdf) (15 trang)

Đồ án độ tin cậy hệ thống điện

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (668.83 KB, 15 trang )

1

Các phương pháp đánh giá độ tin cậy
của hệ thống tính toán qua cấu trúc hệ thống
NXB H. : ĐHCN, 2012 Số trang 67 tr. +

Lê Thị Hải Yến


Trường Đại học Công nghệ
Luận văn ThS ngành: Công nghệ phần mềm; Mã số: 60 48 10
Người hướng dẫn: Tiến sĩ Lê Quang Minh
Năm bảo vệ: 2012

Abstract: Trình bày một số khái niệm cơ bản về độ tin cậy, các chỉ số liên quan đến độ tin
cậy và phương pháp tính độ tin cậy của hệ thống qua cấu trúc nối tiếp và song song.
Nghiên cứu một số bài toán cơ bản, các thuật toán cũng như các phương pháp để giải
quyết chúng. Trình bày việc xây dựng bài toán tính toán độ tin cậy của hệ thống, đưa ra
các hàm chức năng cần thiết để xây dựng và giải quyết bài toán đánh giá độ tin cậy của hệ
thống mạng máy tính. Đưa ra ví dụ về một hệ thống mạng máy tính thực, đặc tả hệ thống
đó và xét các trường hợp cơ bản có thể ảnh hưởng đến độ tin cậy của hệ thống.

Keywords: Công nghệ phần mềm; Cấu trúc hệ thống; Mạng máy tính

Content
CHƢƠNG 1
CƠ SỞ LÝ THUYẾT
1.1 Khái niệm cơ bản về độ tin cậy
Tổng quan
“Hệ thống là một tập hợp gồm nhiều phần tử tương tác, có các mối quan hệ ràng buộc lẫn
nhau và cùng hoạt động hướng tới một mục tiêu chung thông qua chấp thuận các đầu vào, biến


đổi có tổ chức để tạo kết quả đầu ra”.
Hay “Hệ thống là một tập hợp gồm nhiều phần tử có các mối quan hệ ràng buộc tương tác
lẫn nhau để thực hiện một mục đích chung”[6].
Định nghĩa về độ tin cậy
Độ tin cậy P(t) của phần tử hoặc của hệ thống là xác suất để trong suốt khoảng thời gian
khảo sát t phần tử đó hoặc hệ thống đó vận hành an toàn.
P(t) = P{ ≥ t} (1.1)
Trong đó:
-  là thời gian liên tục vận hành an toàn của phần tử.
Dạng chung của xác suất an toàn
Kiến thức cơ bản cần thiết để phân tích độ tin cậy của hệ thống nói chung là:
- Kiến thức về lý thuyết xác suất và quá trình ngẫu nhiên;
2

- Kiến thức về các thành phần, thông số kỹ thuật của hệ thống.
Độ tin cậy của hệ thống còn được gọi theo cách khác là xác suất an toàn. P(t) =
P{ ≥ t}
Xác suất không an toàn (Q(t)) hay còn gọi là xác suất hỏng của hệ thống [1] sẽ là: Q(t)
= 1-P(t)
1.2 Chỉ số độ tin cậy của hệ thống
Các hệ thống, thiết bị kỹ thuật (các phần tử) tồn tại trong thực tiễn thường tồn tại dưới 2 dạng
là phục hồi được và không phục hồi được.
1.2.1 Phần tử không phục hồi
Phần tử không phục hồi[2] là phần tử khi được đưa vào sử dụng, nếu bị hư hỏng thì sẽ loại bỏ
ngay mà không tiến hành sửa chữa do không thể hoặc việc sửa chữa không mang lại hiệu quả, ví
dụ như: linh kiện điện trở, tụ điện, IC … ta chỉ quan tâm đến sự kiện xảy ra sự cố đầu tiên.
Trong phần này sẽ nói đến những thông số cơ bản của phần tử không phục hồi và cách tính
các thông số đó dựa vào lý thuyết xác suất và thống kê.
1.2.2 Phần tử phục hồi
Phần tử phục hồi [2] là phần tử khi đưa vào sử dụng đến khi xảy ra sự cố có thể được đem đi

sửa chữa phục hồi.
Trong phần này sẽ nói đến những thông số cơ bản của phần tử không phục hồi và cách tính
các thông số đó dựa vào lý thuyết xác suất và thống kê.
1.3 Phương pháp tính độ tin cậy của hệ thống qua cấu trúc hệ thống
Cấu trúc của một hệ thống dù phức tạp đến đâu thì cũng chỉ quy về 2 dạng là cấu trúc nối tiếp
hoặc cấu trúc song song [4] (Phương pháp tính độ tin cậy của hệ thống không có dự phòng và có
dự phòng của hệ thống [2]).
Phương pháp này xây dựng mối quan hệ trực tiếp giữa độ tin cậy của hệ thống với độ tin cậy
của các phần tử đã biết. Sơ đồ khối độ tin cậy (Reliability Block Diagrams - RBD) của hệ thống
được xây dựng trên cơ sở phân tích ảnh hưởng của hỏng hóc phần tử đến hỏng hóc của hệ thống.
1.3.1 Sơ đồ khối độ tin cậy của các phần tử nối tiếp
Cấu trúc đơn giản hơn cả là cấu trúc không có dự phòng của một hệ thống được tạo nên bởi n
phần tử, mỗi trở ngại của một phần tử riêng biệt đều dẫn đến trở ngại của cả hệ thống.

Thời gian hoạt động an toàn trung bình của hệ thống là:

Xác suất trạng thái hỏng của hệ thống:

3

1.3.2 Sơ đồ khối độ tin cậy của các phần tử song song
Trong sơ đồ các phần tử song song [8] (hệ thống có dự phòng), sự cố của 1 phần tử nào đó
không nhất định là sẽ dẫn đến sự cố cho toàn hệ thống, ở sơ đồ này hệ thống sẽ gặp sự cố khi tất
cả các phần tử gặp sự cố.

Độ tin cậy của hệ thống:


Thời gian hoạt động an toàn trung bình của hệ thống là:


 Xác suất làm việc không có sự cố của hệ thống song song luôn cao hơn xác suất làm việc
không có sự cố của hệ thống nối tiếp.
1.4 Các biện pháp để nâng cao độ tin cậy của hệ thống
Nêu một số biện pháp để nâng cao độ tin cậy của hệ thống từ đó đưa ra những chiến lược bảo
dưỡng thích hợp.
1.5 Kết luận
Xác suất vận hành an toàn của phần tử giảm dần theo thời gian.
Xác suất vận hành an toàn của hệ thống song song luôn cao hơn xác suất vận hành an toàn
của hệ thống nối tiếp.
Độ tin cậy của một hệ thống có một ý nghĩa hết sức quan trọng đối với các hệ thống lớn như
máy bay, phi thuyền, tên lửa, dây chuyền sản xuất công nghiệp, …
Để đảm bảo độ tin cậy của toàn hệ thống trước hết cần thiết kế đảm bảo độ tin cậy riêng cho
các thành phần trong hệ thống
Độ tin cậy của sản phẩm phải được thể hiện bằng khả năng sản phẩm hoạt động hoàn hảo
trong thời gian xác định cụ thể.
Các công thức phân phối xác suất được sử dụng để tính toán, đánh giá độ tin cậy của từng
phần tử cũng như của cả hệ thống. Việc tính toán chính xác độ tin cậy của hệ thống đặc biệt quan
trọng bởi trong công tác bảo trì độ tin cậy của thiết bị càng thấp thì nhu cầu bảo trì càng cao.

CHƢƠNG 2
PHƢƠNG PHÁP ĐÁNH GIÁ ĐỘ TIN CẬY
CỦA HỆ THỐNG QUA CẤU TRÚC HỆ THỐNG

4

Sử dụng đồ thị và các ma trận liên kết để tính toán độ tin cậy của hệ thống, chẳng hạn như xác
suất để hệ thống làm việc an toàn trong thời gian t là P(t); xác suất hệ thống gặp sự cố Q(t); hàm
mật độ phân phối xác suất q(t),
Phần mềm tính toán các chỉ số tin cậy cho hệ thống có cấu trúc phức tạp gồm nhiều giai đoạn
[10] nhưng đều có chung bốn bước cơ bản sau:

Giai đoạn đầu: Xây dựng sơ đồ cấu trúc logic;
Giai đoạn 2: Tìm tất cả các đường đi thành công của hệ thống.
Giai đoạn 3: Tất cả các đường đi thành công của hệ thống sẽ được ghi lại dưới dạng các toán tử
logic cơ bản, tối thiểu hoá các toán tử logic đó.
Giai đoạn 4: Trực giao hoá các toán tử logic, chuyển đổi mô hình logic sang đại số và tính toán
xác suất hệ thống hoạt động an toàn, thời gian trung bình giữa các lần hỏng hóc và các chỉ số khác
của độ tin cậy.
2.1 BÀI TOÁN TÌM ĐƯỜNG ĐI TRONG ĐỒ THỊ HỆ THỐNG
2.1.1 Thuật toán chuyển đổi sơ đồ cấu trúc logic thành sơ đồ khối
Sơ đồ cấu trúc logic là biểu diễn cấu trúc logic của hệ thống bằng sơ đồ theo các quy ước về
cách mã hoá và biểu diễn mối quan hệ giữa các thành phần dưới dạng các ký hiệu. Việc xây dựng
thành công sơ đồ cấu trúc logic của hệ thống cho ta một hình ảnh trực quan về cấu trúc hệ thống
và sẽ là điều kiện tiên đề để có thể phân tích và đánh giá độ tin cậy của hệ thống.
2.1.2 Phân loại các đỉnh và các cạnh của đồ thị liên kết
Việc phân loại các đỉnh, các cạnh sẽ giúp ta xây dựng sơ đồ cấu trúc logic một cách chính xác.
2.1.3 Thuật toán chuyển đổi sơ đồ cấu trúc logic sang đồ thị liên kết
Trường hợp sơ đồ cấu trúc logic vô hướng thì việc biến đổi là đơn giản nhưng nếu sơ đồ cấu
trúc logic có hướng thì việc quan trọng là phải xác định hướng của các cung và xây dựng làm sao
cho hệ thống đạt hiệu quả.
2.1.4 Thuật toán tìm tất cả các đƣờng đi trong ma trận liên kết
Thuật toán để tìm tất cả các đường đi trong ma trận kề dựa trên thao tác nhân ma trận liên kết
một cột tương ứng của ma trận đó được thể hiện như sau:
B
k
= A B
*

k- 1
(*)
Trong đó:

- B
k
cột mà trận kết quả của phép nhân (*).
- B
*

k- 1
là kết quả của phép chuyển đổi B
k- 1
;
Vậy bài toán đặt ra ở đây là cho ma trận A và ma trận cột B
1
hãy tìm tất cả các đường đi có
thể có từ nguồn (điểm phát) tới đích (điểm nhận).
+) Bước 1: Kiểm tra ma trận cột B
1
có chứa cung bắt đầu từ đỉnh nguồn hay không. Nếu cung tồn
tại thì ghi nhận đường đi đó và thay thế cung đó bởi giá trị 0. Cho ta kết quả là B
*
1
;
+) Bước 2: Xét với k=2.
+) Bước 3: Thực hiện phép tính (*) để tìm các giá trị B
k
tương ứng.
5

+) Bước 4: Kiểm tra B
k
bắt đầu từ nguồn, nếu đường đi tồn tại thì ghi nhớ và thay thế đường đi đó

bởi giá trị 0. Nếu đường đi xuất hiện trong B
k
là đường đi đầy đủ thì thay thế B
k
=0. Kết quả là
B
*
k
.
+) Bước 5: Kiểm tra B
*
k
. Nếu B
*
k
=0 thì thực hiện tiếp bước 7. Nếu B
*
k
≠0 thì thực hiện tiếp bước 6.
+) Bước 6: Kiểm tra điều kiện k ≤ n-1. Nếu thoả mãn điều kiện k < n-1 thì tăng k lên 1 và thực
hiện tiếp bước 3. Nếu điều kiện k = n-1thì thực hiện tiếp bước 7.
+) Bước 7: Kiểm tra lại danh sách đường đi và kết quả nhận được là danh sách các đường đi có
thể có từ đỉnh đầu đến đỉnh cuối.
2.1.5 Thuật toán tìm tất cả đƣờng đi của ma trận liên kết trong lý thuyết đồ thị.
Tư tưởng của tìm kiếm theo chiều sâu là: Từ đỉnh nguồn (đỉnh đầu) của đồ thị ta di chuyển
đến một đỉnh khác (một đỉnh bất kỳ mà có thể đi từ đỉnh đầu). Từ đỉnh này ta tiếp tục đi đến khác
đỉnh khác. Nếu không thể đi tiếp được nữa thì quay lại đỉnh trước đó và đi đến đỉnh khác. Cứ như
vậy cho đến khi đến đỉnh cuối của đồ thị.
2.1.6 Kết luận
Dựa vào những kết quả các thuật toán đã trình bày, ta có thể rút ra một vài kết luận như sau:

- Thuật toán chuyển đổi từ sơ đồ cấu trúc logic sang đồ thị liên kết nếu thực hiện bằng tay sẽ
đơn giản hơn là lập trình, vì việc lập trình chuyển đổi là tương đối phức tạp. Đầu tiên phải nói đến
là số lượng lớn các thành phần trong sơ đồ cấu trúc logic và sự phức tạp trong việc xây dựng các
ký pháp đồ hoạ. Vậy việc chuyển đổi từ sơ đồ cấu trúc logic sang đồ thị liên kết bằng tay là đơn
giản tuy nhiên lại mất rất nhiều thời gian.
- Từ thuật toán tìm đường đi đã biết trong lý thuyết đồ thị ta có thể phát triển thành thuật
toán tìm tất cả các đường đi trong đồ thị bằng cách chuyển đồ thị đó thành ma trận tương ứng,
phần tử trong ma trân δ
ij
=1 nếu tồn tại đường đi giữa i và j, δ
ij
=0 nếu không tồn tại đường đi giữa
i và j.
2.2 BÀI TOÁN TỐI THIỂU CÁC TOÁN TỬ LOGIC
Việc tối thiểu hoá các toán tử logic thường dựa trên các hằng đẳng thức Boole hay còn
được gọi là các luật trong đại số Boole. Vậy đại số Boole là gì và các phép toán, các luật liên
quan đến đại số Boole mà ta sẽ sử dụng để tối thiểu hoá các toán tử logic là gì? Trong mục này
chúng ta sẽ đi giải quyết vấn đề đó.
2.2.1 Định nghĩa và các phép toán trong đại số Boole
Một đại số Boole là một cấu trúc đại số gồm một tập hợp S chứa ít nhất là 2 phần tử, được ký
hiệu là 0 và 1, cùng với hai phép toán 2 ngôi “+” (tuyển - ˅) và “.” (hội - ˄) và một phép toán
1 ngôi “¯” (phủ định) .
2.2.2 Các phƣơng pháp cơ bản để tối thiểu hoá các toán tử logic
- Phương pháp biến đổi đại số;
- Phương pháp bảng Karnaugh;
- Phương pháp Quine – Mc.Cluskey.
6

2.3 BÀI TOÁN XÁC ĐỊNH TRỰC GIAO HOÁ CÁC TOÁN TỬ LOGIC
Phương pháp trực giao chính là phương pháp biến đổi logic sao cho kết quả của các toán tử

đều bằng 0.
2.3.1 Các phƣơng pháp giảm thiểu các hàm đại số logic đối với các hình thức trực giao và
trực giao không lặp.
a) Thuật toán cắt giảm
Thuật toán này dựa trên việc triển khai các hàm logic cho ta kết quả là các hàm logic đã trực
giao, trực giao không lặp và trường hợp đặc biệt đó là dạng chuẩn tắc tuyển trực giao.
b) Thuật toán trực giao hoá theo công thức của Poresky
Thuật toán trực giao hoá theo công thức của Poresky [10] gồm các bước sau:
1. Hàm logic được viết dưới dạng chuẩn tắc tuyển như sau:
f(x
n
) = K
1
˅ K
2
˅ …˅ K
j
˅ ….˅ K
R

Trong đó: K
j
là mệnh đề sơ cấp có số thứ tự là j.
2. Tất cả các biến trong hàm logic khi được viết dưới dạng chuẩn tắc tuyển thì phải được sắp
xếp theo thứ tự tăng dần, bắt đầu với bậc thấp nhất của biến.
3. Dạng chuẩn tắc tuyển được viết dưới dạng công thức Poresky như sau:
f(x
n
) = K
1

˅ K
2
˅ …˅ K
j
˅ ….˅ K
R
=
4. Khai triển công thức ta được dạng trực giao không lặp của hàm ban đầu.
c) Thuật toán cắt giảm hàm đại số logic bằng cách đưa về dạng chuẩn tắc tuyển
Thuật toán gồm các bước sau đây:
1. Đây là một hàm của dạng chuẩn tắc tuyển.
2. Tìm các phép hội sơ cấp xuất hiện trong dạng chuẩn tắc tuyển.
3. Tìm tất cả các tập hợp được bao phủ bởi mỗi phép hội sơ cấp
4. Khai triển tất cả các tập hợp, ta sẽ được hàm ban đầu trong dạng chuẩn tắc tuyển hoàn toàn.
2.3.2 Các quy tắc chuyển đổi hàm logic sang dạng xác suất trong dạng chuẩn tắc tuyển
Quá trình chuyển đổi về hàm xác suất được thực hiện theo quy tắc sau:
1. Sử dụng công thức De Morgan để đưa về dạng chuẩn tắc hội, không chứa phép cộng logic
nào.
2. Các ký hiệu phép cộng và nhân logic được thay thế bởi dấu các phép cộng và phép nhân đại
số.
3. Các ký hiệu x
i
và được thay thế bằng các xác suất P
i
và Q
i
tương ứng.
4. được thay thế bởi 1-
2.3.3 Kết luận
- Thuật toán cắt giảm thích hợp để tính bằng tay vì khi khai triển hàm thì sẽ làm giảm các kết

quả trung gian.
7

- Việc sử dụng thuật toán cắt giảm để đưa về dạng chuẩn tắc tuyển có thể nhìn sẽ dài dòng hơn
nhưng nó lại dễ dàng hơn khi lập trình trên máy tính.
- Thuật toán trực giao hoá theo công thức Poresky không đơn giản khi giải bằng tay vì số lượng
các biến khi khai triển khá dài.

CHƢƠNG 3
THIẾT LẬP VÀ XÂY DỰNG CHƢƠNG TRÌNH
TÍNH ĐỘ TIN CẬY CỦA HỆ THỐNG MẠNG MÁY TÍNH

Sau khi đã hiểu rõ về cách thức cũng như phương pháp để tính toán độ tin cậy của hệ thống
thì ta sẽ phải cụ thể hoá các phương pháp đó bằng một ngôn ngữ lập trình cụ thể.
3.1 Thiết lập bài toán
3.1.1 Viết chƣơng trình để tìm các đƣờng đi trong ma trận liên kết
3.1.1.1 Các yêu cầu đối với chƣơng trình và xây dựng chƣơng trình
Chương trình được thiết kế với mục đích là tìm tất cả các đường đi giữa hai nút trong ma trận
liên kết, mà ma trận liên kết này được xây dựng từ đồ thị liên kết.
Tham số đầu vào của chương trình là ma trận liên kết được xây dựng từ đồ thị liên kết.
Chương trình phải hoạt động sao cho tìm được các đường đi của ma trận liên kết.
Tham số đầu ra của chương trình là tất cả các đường đi được viết dưới dạng các phép hội sơ cấp.
Để có thể chạy được ứng dụng này thì máy tính của bạn phải có bộ nhớ tối thiểu là 32MB.
3.1.1.2 Lựa chọn thuật toán để viết chƣơng trình tìm tất cả các đƣờng đi giữa hai nút trong
ma trận liên kết
Trong chương 2 chúng ta có nói đến thuật toán tìm tất cả các đường đi giữa hai nút. Thuật
toán ở phần 2.1.4 nói về việc tìm tất cả đường đi giữa hai nút trong ma trận liên kết, còn thuật toán
ở phần 2.1.5 nói về việc tìm tất cả các đường đi giữa hai nút của ma trận liên kết trong lý thuyết
đồ thị. Hai thuật toán đó đều có những ưu và nhược điểm riêng. Ta sẽ sử dụng thuật toán 2.1.5 để
xây dựng chương trình tìm tất cả các đường đi giữa hai nút trong ma trận kết nối.

3.1.1.3 Phát triển hàm tìm kiếm tất cả các đƣờng đi giữa hai nút trong ma trận liên kết
Vì các đường đi mà chúng ta tìm kiếm phải là khác nhau và không lặp, như thế có nghĩa là
chúng có thể khác nhau về độ dài, số đỉnh của mỗi đường đi mà cũng có thể không nhưng thứ tự
trong các đường đi phải khác nhau hoàn toàn.
Để thực hiện được điều này ta phải xác định loại của tất cả các đường đi như:
unsigned int K [maxN [maxK]
unsigned int i_line,
unsigned int Leng [maxN]
Tất cả các đường đi được lưu trong ma trận hai chiều K, với i_line dòng, chiều dài mỗi đường
đi được lưu trong ma trận Leng.
8

Các biến maxN (số lượng tối đa các đường đi), maxK (kích cỡ tối đa của ma trận) phải được
khai báo hạn chế để tiết kiệm tài nguyên bộ nhớ khi chạy chương trình.
Hàm tìm kiếm tất cả các đường đi giữa hai nút trong ma trận liên kết được viết bởi ngôn ngữ C++,
chi tiết thể hiện trong phụ lục 1,
/* function Find: Tim kiem vet can theo nguyen tac de quy tat ca cac duong di tu dinh Dau
(I_ISTOK) den dinh cuoi I_STOK)
*/ void Find(
unsigned int A[maxK][maxK],
unsigned int P[maxK
unsigned int L,
unsigned int N,
unsigned int i_istok,
unsigned int i_stok,
unsigned int i_end,
unsigned int K[maxN][maxK],
unsigned int Leng[maxN],
unsigned int &i_line );
3.1.2 Xây dựng chƣơng trình trực giao hoá hàm đại số logic

3.1.2.1 Các yêu cầu đối với chƣơng trình và xác định các vấn đề
Tham số đầu vào của chương trình là hàm đại số logic được thiết lập từ tập các biến mà mô tả
đặc điểm chức năng của một trạng thái hoạt động tốt trong một hệ thống phức tạp.
Tham số đầu ra của chương trình là hàm đại số logic đã được giảm thiểu, viết dưới dạng trực
giao hoặc trực giao không lặp.
3.1.2.2 Phân tích và lựa chọn thuật toán trực giao hoá
Ta thấy thuật toán trực giao hoá theo công thức Poresky là phù hợp để viết chương trình hơn
cả. Công thức Poresky được sử dụng trong thuật toán là:
K
1
˅ K
2
˅ …˅ K
j
˅ ….˅ K
n
=
Công thức có thể viết dưới dạng khác như sau:
K
1
˅ K
2
˅ …˅ K
j
˅ ….˅ K
n
=




=

9

K
i
có thể là một biến nhưng cũng có thể là một tập các biến:
K
i
= x
1
x
2
x
m

khi đó sẽ được tính như sau:
= v x
1
v x
1
x
2
v . . . v x
1
x
2
x
3
. . . .

3.1.2.3 Thiết kế các hàm chức năng cho thuật toán trực giao hoá
/* Function Ortogonal: Truc giao hoa tat ca cac thanh phan cua K1, ket qua luu trong ma tran AB,
ma van giu duoc dang CTT truc giao.*/
void ortogonal(
unsigned int K1[maxN][maxK], //input
unsigned int i_line,
unsigned int LengK1[maxN],
unsigned int AB[maxN][maxK], //output
unsigned int &i_line_AB,
unsigned int Leng_AB[maxN] );
3.2 Các ví dụ sử dụng các hàm đã xây dựng
Ví dụ 1:




a




b
Hình 3.4a: Sơ đồ cấu trúc logic; 3.4b: Đồ thị liên kết tương ứng
Ví dụ 2: Xét hệ thống máy chủ có cấu trúc như hình 3.5:
- 0: Là máy chủ (server);
- 1,2,3: Là các máy chủ thứ cấp mà kết nối trực tiếp với server;
- 4,5: Các đường truyền;
- 6,7,8: Các Bus;
- 9,10, ,14: Các trạm trung chuyển;
- 15,16,17: Các máy trạm (client) là người sử dụng cuối.

0
1
2
3
4
5
6
7
8
6
1
7
2
8
0
3
4
5
10

0
6
7
4
1
2
3
5
8 11
9

10
13
12
17
14
16
15
Hình 3.5 Đồ thị liên kết hệ thống
3.3 Phát triển các chức năng và các yêu cầu cần thiết bổ sung cho việc tính toán
Để giải quyết một số phép toán cộng và nhân ta sử dụng một số quy tắc trong toán logic sau:
- x.x = x hay x˄x = x;
- x+x = x hay x˅x = x;
- = 0, hay = 0;
- Nếu x
i
* K(x
i
) = K(x
i
) thì * K(x
i
) = 0, trong đó K(x
i
) là một phép tuyển mà có liên quan đến
biến logic x
i
.
3.4 Kết luận
Chương này nói đến các yêu cầu để thiết lập, hướng giải quyết và xây dựng các hàm chức
năng của bài toán –xây dựng hệ thống tính toán độ tin cậy và khả năng sống sót (khả năng hoạt

động an toàn) của hệ thống. Với những gì đã xây dựng được ở trên thì chúng ta có thể tính toán độ
tin cậy và khả năng sống sót của bất cứ hệ thống nào. Tuy nhiên ngay từ bước đầu việc chuyển đổi
từ sơ đồ cầu trúc logic sang ma trận liên kết nếu không được thực hiện chính xác thì kết quả thu
được sẽ không chính xác. Hướng phát triển của chương trình là xây dựng một giao diện đồ họa để
nâng cao khả năng tương tác giữa người và hệ thống làm việc.
Chương trình đã xây dựng đáp ứng được cơ bản các yêu cầu của bài toán, nhưng trong quá
trình phát triển chương trình vẫn còn nhược điểm chưa khắc phục được đó là việc sử dụng ma trận
lưu trữ tất cả các đường đi tìm được giữa hai nút trong đồ thị làm cho ma trận liên kết đầu vào
cũng phải được giới hạn về kích thước nếu không chương trình không thể hoạt động chính xác
được và cũng là để tiết kiệm tài nguyên bộ nhớ chương trình (nếu kích thước của ma trận liên kết
lớn khoảng 23x23 thì chương trình chạy khá lâu và kết quả xuất ra file out quá lớn - cỡ hàng Gb).
11


CHƢƠNG 4
ĐỘ TIN CẬY VÀ KHẢ NĂNG HỆ THỐNG HOẠT ĐỘNG AN TOÀN
QUA VÍ DỤ CỤ THỂ

4.1 Đặc tả hệ thống
Trong chương này tôi sẽ sử dụng chương trình tính toán đã mô tả trong chương III để tính
toán độ tin cậy cũng như khả năng vận hành an toàn của hệ thống máy chủ được mô tả như hình
4.1 dưới đây:
0
6
7
4
1
2
3
5

8 11
9
10
13
12
17
14
16
15

Hình 4.1 Sơ đồ cấu trúc logic của hệ thống
Trong đó:
- 0: Là máy chủ (server);
- 1,2,3: Là các máy chủ thứ cấp mà kết nối trực tiếp với server;
- 4,5: Các đường truyền;
- 6,7,8: Các Bus;
- 9,10, ,14: Các trạm trung chuyển;
- 15,16,17: Các máy trạm (client) là người sử dụng cuối.
Yêu cầu đặt ra của bài toán là:
Tính P(t) và T
HD
, biết cường độ hỏng hóc của các phần tử trong hệ thống máy chủ trên như
sau:
- 
i
= 0.0001 (1/năm) với i = (1, 2, 3,15,16,17);
- 
i
= 0.00001 (1/năm) với i = (4,5,6,7,8);
- 

i
= 0.0001 (1/năm) với i = (9, , 14);
Giả sử để người sử dụng ở nút 15 có thể nhận được dữ liệu thì sẽ có 2 trường hợp sau xảy ra:
- Trường hợp 1: Nút 15 nhận được tín hiệu từ cả ba máy chủ thứ cấp 1, 2 và 3 tức là nhận được
tín hiệu từ máy chủ số 0, khi đó hiệu suất tổng sẽ có dạng: F= f
1,15
*f
2,15
*f
3,15
(1)
- Trường hợp 2: Nút 15 nhận được tín hiệu từ một trong ba máy chủ thứ cấp số 1, số 2 và số 3,
khi đó hiệu suất tổng sẽ có dạng sau: F= f
1,15
˅f
2,15
˅f
3,15
(2)
12

4.2 Nghiên cứu các thuật toán và phát triển các hàm
Trường hợp 1: Sử dụng tính chất kết hợp trong đại số Boole:
F= f
1,15
*f
2,15
*f
3,15
= (f

1,15
*f
2,15
)*f
3,15
= f
12,15
*f
3,15

Sau đó sử dụng thuật toán trực giao hoá để chuyển đổi mô hình logic sang đại số và tính các
giá trị xác suất P(t) và T
HD
.
Trường hợp 2: Sử dụng tính chất kết hợp trong đại số Boole:
F= f
1,15
˅f
2,15
˅f
3,15
= (f
1,15
˅f
2,15
)˅f
3,15
= f
12,15
˅f

3,15

Sau đó sử dụng thuật toán trực giao hoá để chuyển đổi mô hình logic sang đại số và tính các
giá trị xác suất P(t) và T
HD
.
4.3 Kết quả thu được từ chương trình tính toán độ tin cậy của hệ thống
Trường hợp 1: F= f
1,15
*f
2,15
*f
3,15
Sử dụng các hàm chức năng đã xây dựng ở chương III và chương trình chính được mô tả chi
tiết trong phụ lục 2, ta thu được kết quả sau khi trực giao hoá như sau:
F(0=>15)= x1*x2*x3*x6*x7*x8*x15*(x9+x10*x'9)

Hình 4.5 Sự phụ thuộc của P(t) vào thời gian t
Trường hợp 2: F= f
1,15
˅f
2,15
˅f
3,15

Hình 4.7 Sự phụ thuộc của P(t) vào thời gian t
+) Trong trường hợp thứ 2 này ta sẽ xét thêm một trường hợp nữa đó là hệ thống đang hoạt
động bình thường đến giờ thứ 3000 thì nút 15 không nhận được tín hiệu phản hồi từ máy chủ số 3
mà chỉ nhận được tín hiệu phát từ máy chủ số 1 hoặc máy chủ số 2.
13



Hình 4.10 Sự phụ thuộc của P(t) vào thời gian t
+) Để hiểu rõ hơn về khả năng tồn tại của hệ thống ta xét tiếp một trường hợp: Hệ thống đang hoạt
động bình thường thì không nhận được tín hiệu phản hồi của máy chủ số 3 vào giờ thứ 3000 và
máy chủ số 1 vào giờ thứ 3500, chỉ nhận được tín hiệu từ máy chủ số 2.

Hình 4.13 Sự phụ thuộc P(t) vào thời gian t
4.4 Kết luận
Với việc phát triển thành công chương trình tính toán độ tin cậy ta đã nghiên cứu được độ tin
cậy cũng như khả năng sống sót của hệ thống, thông qua kết quả của chương trình có thể thấy kết
quả hoàn toàn phù hợp với sự mong đợi của chúng ta, điều này có nghĩa rằng chương trình ta đang
phát triển đã làm việc một cách chính xác và đó sẽ là cơ sở cho việc phát triển phần mềm tính toán
độ tin cậy của các hệ thống phức tạp hơn.
Qua ví dụ cụ thể ở trên càng chứng minh một điều là các thành phần của hệ thống đóng vai
trò vô cùng quan trọng, độ tin cậy cũng như khả năng sống sót của hệ thống phụ thuộc vào chúng.
Việc loại bỏ bớt các thành phần của hệ thống sẽ làm cho hệ thống hoạt động kém an toàn hơn.
14


KẾT KUẬN
1. Kết luận
Luận văn này đã đưa ra và phân tích được các lý thuyết liên quan đến độ tin cậy của hệ thống
và xây dựng thành công phần mềm ứng dụng giải quyết bài toán tính các chỉ số liên quan đến độ
tin cậy của hệ thống, bao gồm việc xây dựng bài toán, chỉ ra các giai đoạn giải quyết bài toán, các
thuật toán đã được phát triển trong quá trình tìm đường đi trong đồ thị, tối thiểu hoá các toán tử
logic, phương pháp trực giao hoá và các quy tắc để chuyển đổi về hàm xác suất để tính toán các
giá trị cần tìm.
Chương trình được viết bằng ngôn ngữ lập trình C++ là ngôn ngữ khá phá biến hiện nay, đã
giải quyết được yêu cầu đặt ra của bài toán, với tập hợp các tham số đầu vào sẽ cho các kết quả,

các kết quả được phân tích và thấy rằng chúng phù hợp với những gì chúng ta mong đợi, điều này
chứng tỏ chương trình hoạt động đúng đắn.
Chương trình tính toán độ tin cậy này là cơ sở để phát triển cho các phần mềm tính toán độ tin
cậy của hệ thống phần cứng trong tương lai.
2. Hướng phát triển
Để phần mềm giải quyết bài toán tính toán độ tin cậy của hệ thống có thể đáp ứng yêu cầu với
các hệ thống ngày càng phức tạp hơn thì cần có sự đầu tư nghiên cứu sâu hơn.Việc nhập dữ liệu
đầu vào là ma trận liên kết mất rất nhiều thời gian và có thể gây nhầm lẫn vì vậy có thể phát triển
phần mềm theo hướng giao diện đồ hoạ để tăng hiệu quả tương tác giữa người và hệ thống làm
việc. Hoặc cách khác là nghiên cứu khả năng lưu trữ các file input và output trong cơ sở dữ liệu
SQL, Oracle hoặc các cơ sở dữ liệu khác vì hệ thống càng lớn thì dữ liệu sẽ càng lớn.

References
Tiếng Việt
[1]. Trần Diên Hiển, Vũ Viết Yên (2005), Nhập môn lý thuyết xác suất và thống kê toán, Nhà
xuất bản Đại học Sư phạm, Hà Nội, tr16, 31.
[2]. Nguyễn Duy Việt (4/2011), “Tính độ tin cậy của hệ thống không phục hồi”, tạp chí Khoa
học Giao thông Vận tải, tr2-4.
[3]. Nguyễn Duy Việt (8/2009), “Độ tin cậy của hệ thống điều khiển tín hiệu”, Tạp chí Giao
thông vận tải, tr5-7.
[4]. Nguyễn Duy Việt (11/2002), “Các chỉ số an toàn của hệ thống điều khiển từ xa trong đường
sắt”, Tạp chí Khoa học Giao thông Vận tải, tr.3-5.
[5]. Đỗ Đức Giáo (2008), Toán rời rạc, Nhà xuất bản Đại học Quốc gia Hà Nội, tr.492-495,
496-498.
[6]. Phạm Thị Thanh Hồng, Phạm Minh Tuấn (2006), Hệ thống thông tin quản lý, Nhà xuất bản
Khoa học và kỹ thuật Hà Nội, tr.23, 24.
15

Tiếng Anh
[7]. Carlo Kopp (1996), System Reliability and metrics of Reliability, Peter Harding &

Associates Pty Ltd, pp.5-7, 8,9.
[8]. Mahesh Pandey, Mikko Jyrkama (2008), System Reliability Analysis, University of
Waterloo, pp.2-5, 23.
Tiếng Nga
[9]. Le Quang Minh (2007), “Анализ методов обеспечения отказоустойчивости и живучести
вычислительных систем”, Естественные науки и технологии- №5. (Phân tích các phương
pháp bảo đảm độ tin cậy và độ hoạt động của hệ thống tính toán, Tạp chí “Khoa học tự nhiên và
công nghệ”, số 5 – 2007).
[10]. Le Quang Minh (2007), “Анализ эффективности применения методов повышения
отказоустойчивости ИВС реального времени”, Микроэлектроники и информатики,
Тез. докл. Всероссийской конференции. (Phân tích hiệu quả của việc ứng dụng các phương
pháp nâng cao độ tin cậy cho hệ thống thời gian thực có cấu trúc dạng cây. Hội thảo khoa học
toàn LB Nga, Mátxcơva).

×