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

Phân tích thiết kế hệ thống điều khiển đèn giao thông thông minh thời gian thực tại ngã tư

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 (2.01 MB, 74 trang )

MỤC LỤC
MỤC LỤC ...............................................................................................................i
LỜI CAM ĐOAN.................................................................................................. iii
LỜI CẢM ƠN ........................................................................................................vi
LỜI MỞ ĐẦU .......................................................................................................vii
1. Đặt vấn đề .....................................................................................................vii
2. Mục đích và nội dung nghiên cứu.................................................................viii
3. Phương pháp đối tượng, phạm vi nghiên cứu................................................viii
3.1. Phương pháp nghiên cứu. ......................................................................viii
3.2. Đối tượng và phạm vi nghiên cứu..........................................................viii
4. Kết cấu chung của đề tài.................................................................................ix
Chương 1.TỔNG QUAN VỀ HỆ THỐNG THỜI GIAN THỰC .............................1
1.1. Các khái niệm cơ sở của hệ thống thời gian thực ..........................................1
1.2. Yêu cầu của các hệ thống thời gian thực.......................................................4
1.2.1. Xử lý thời gian thực...............................................................................4
1.2.2. Yêu cầu thời gian trong hệ thống thời gian thực ....................................5
1.2.3. Đặc tính của hệ thống thời gian thực...................................................10
1.3. Thời gian trong hệ thống thời gian thực ......................................................11
1.3.1. Quan niệm thời gian trong hệ thống thời gian thực ..............................11
1.3.2. Các hệ thống thời gian thực .................................................................13
2.1. Giới thiệu UML..........................................................................................15
2.1.1. Mục đích của UML .............................................................................17
2.1.2. Các thành phần của UML ....................................................................18
2.1.3. Kiến trúc của hệ thống.........................................................................26
2.2. Các giai đoạn phát triển phần mềm với UML .............................................27
2.2.1 Xác lập yêu cầu (Dự kiến kế hoạch) .....................................................28
2.2.2. Giai đoạn phân tích.............................................................................28
2.2.3. Giai đoạn thiết kế ................................................................................28
2.2.4. Giai đoạn triển khai .............................................................................29
2.3. Ứng dụng UML để phân tích và thiết kế hệ thống thời gian thực ...............29
2.3.1. Mô hình đối tượng của UML ...............................................................30


2.3.2. Mô hình động của UML ......................................................................31
i


2.3.3. Những thuận lợi của UML đối với hệ thống thời gian thực..................36
Chương 3. XÂY DỰNG ỨNG DỤNG ..................................................................39
3.1. Phân tích và thiết kế ứng dụng thời gian thực ............................................39
3.1.1. Mô tả bài toán......................................................................................39
3.1.2. Tác Nhân và Use Case.........................................................................40
3.1.3. Biểu đồ UC..........................................................................................42
3.1.4. Biểu đồ trình tự ..................................................................................44
3.1.5. Biểu đồ cộng tác.................................................................................50
3.1.6. Thiết kế chi tiết....................................................................................52
3.1.7. Biểu đồ lớp..........................................................................................55
3.1.8. Biểu đồ thành phần..............................................................................57
3.2. Ngôn ngữ lập trình cho hệ thống thời gian thực ..........................................57
3.3. Triển khai ứng dụng. ..................................................................................58
KẾT LUẬN...........................................................................................................64
TÀI LIỆU THAM KHẢO .....................................................................................65

ii


DANH MỤC HÌNH ẢNH
HÌNH 1.1 SƠ Đồ TUầN Tự CủA CÁC Sự KIệN RÀNG BUộC Về THứ Tự ................................... 1
HÌNH 1.2 SƠ Đồ TUầN Tự CủA CÁC Sự KIệN QUAN Hệ RÀNG BUộC Về THờI GIAN. ......... 1
HÌNH 1.3 SƠ Đồ TUầN Tự CủA CÁC Sự KIệN RÀNG BUộC THờI GIAN CHÍNH XÁC ........... 1
HÌNH 1.4 SƠ Đồ TUầN Tự ............................................................................................................... 1
HÌNH 1.5 SƠ Đồ TUầN Tự ............................................................................................................... 1
HÌNH 2.1 XÂY DựNG HợP NHấT CÁC KÍ HIệU VÀO TRONG MÔ HÌNH UML ...................... 1

HÌNH 2.2 SƠ Đồ TUầN Tự MÔ Tả CA Sử DụNG “GọI ĐIệN THOạI” .......................................... 1
HÌNH 2.3 BIểU Đồ CộNG TÁC MÔ Tả HOạT ĐộNG “GọI ĐIệN THOạI”.................................... 1
HÌNH 2.4 SƠ Đồ TRạNG THÁI CủA LớP “HETHONG” ............................................................... 1
HÌNH 2.5 KIếN TRÚC CủA Hệ THốNG2.1.3.1. KIểU XEM UC.................................................. 26
HÌNH 2.6 BIểU Đồ LớP .................................................................................................................... 1
HÌNH 2.7 SƠ Đồ CA Sử DụNG DIễN Tả THIếT Bị GIÁM SÁT THờI GIAN................................ 1
HÌNH 2.8 BIểU Đồ TUầN Tự CHO GIÁM SÁT THờI GIAN HÀNH VI ĐÚNG ........................... 1
HÌNH 2.9 BIểU Đồ TUầN Tự CHO GIÁM SÁT THờI GIAN HÀNH VI LỗI................................. 1
HÌNH 2.10 SƠ Đồ TRạNG THÁI PROCESSOR.............................................................................. 1
HÌNH 2.11 SƠ Đồ TRạNG THÁI WATCHDOG ............................................................................. 1
HÌNH 2.12 SƠ Đồ TUầN Tự ĐÁNH DấU THờI GIAN BắT ĐầU THI HÀNH.............................. 1
HÌNH 3.1 ĐÈN GIAO THÔNG TạI NGÃ TƯ ĐƯờNG ................................................................... 1
HÌNH 3.2. SƠ Đồ CA Sử DụNG CủA Hệ THốNG ĐÈN GIAO THÔNG...................................... 42
HÌNH 3.3 SƠ Đồ TUầN Tự CA Sử DụNG “DIEU KHIEN DEN GT TU DONG”........................ 46
HINH 3.4 SƠ Đồ TUầN Tự HOạT Vụ “DIEU KHIEN CHUYEN DOI DEN GT”........................ 48
HÌNH 3.5 SƠ Đồ TUầN Tự HOạT Vụ “NHAN TIN HIEU QUA TAI”......................................... 49
HÌNH 3.6 BIểU Đồ CộNG TÁC HOạT Vụ “DIEU KHIEN DEN GT TU DONG” ....................... 50
HÌNH 3.7 BIểU Đồ CộNG TÁC CủA HOạT Vụ “DIEU KHIEN CHUYEN DOI DEN GT”.......... 1
HÌNH 3.8 SƠ Đồ CộNG TÁC HOạT Vụ “NHAN TIN HIEU QUA TAI” ...................................... 1
HÌNH 3.9 SƠ Đồ BIểU Đồ TRạNG THÁI DENGIAOTHONG ...................................................... 1
HÌNH 3.10 SƠ Đồ BIểU Đồ TRạNG THÁI CHU Kỳ SốNG DENBAC-DENNAM...................... 52

iii


HÌNH 3.11 SƠ Đồ BIểU Đồ TRạNG THÁI CHU Kỳ SốNG DENDONG-DENTAY ..................... 1
HÌNH 3.12 SƠ Đồ TRạNG THÁI MộT CHU Kỳ CủA DENGIAOTHONG.................................... 1
HÌNH 3.13 SƠ Đồ BIểU Đồ TRạNG THÁI HOạT ĐộNG ĐốI TƯợNG DIEUKHIEN ................... 1
HÌNH 3.14 SƠ Đồ BIểU Đồ TRạNG THÁI CHUKYDK ................................................................. 1
HÌNH 3.15 BIểU Đồ HOạT ĐộNG KHởI TạO VÀ TÍNH GIÁ TRị PHADEN................................ 1

HÌNH 3.16 BIểU Đồ HOạT ĐộNG XÁC ĐịNH GIÁ TRị DẫN XUấT DO,XANH,VANG............. 1
HÌNH 3.17 SƠ Đồ LớP CủA Hệ THốNG GIAO THÔNG................................................................ 1
HÌNH 3.18 BIểU Đồ THÀNH PHầN CủA Hệ THốNG ĐÈN GIAO THÔNG ................................. 1

iv


LỜI CAM ĐOAN
Tôi xin cam đoan:
1. Những nội dung trong đồ án tốt nghiệp này là do tôi thực hiện dưới sự hướng
dẫn trực tiếp của thầy giáo ThS. Hà Mạnh Hùng.
2. Mọi tham khảo dùng trong đồ án tốt nghiệp này đều được trích dẫn rõ ràng
tên tác giả, tên công trình, thời gian, địa điểm công bố.
3. Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá tôi xin
chịu hoàn toàn trách nhiệm.
Sinh viên

Nguyễn Thị Hồng

v


LỜI CẢM ƠN
Qua quá trình học tập, nghiên cứu và rèn luyện tại Trường Đại Học Công nghệ
thông tin và truyền thông, đến nay em đã kết thúc khóa học và hoàn thành đồ án tốt
nghiệp của mình.
Để có được kết quả như ngày hôm nay, em xin chân thành cảm ơn: Các thầy
cô giáo công tác tại Trường Đại học Công Nghệ Thông Tin và Truyền Thông – Đại
Học Thái Nguyên nói chung, cũng như các thầy cô giáo trong Khoa Công Nghệ
Thông Tin nói riêng đã truyền đạt kiến thức và tạo điều kiện tốt nhất cho em được

học tập, nghiên cứu, rèn luyện trong suốt thời gian theo học tại trường.
Em xin cảm ơn thầy giáo ThS. Hà Mạnh Hùng, người đã trực tiếp giảng dạy và
hướng dẫn em rất tận tình, cho em những định hướng và ý kiến quý báu trong quá
trình học tập và đặc biệt là trong suốt thời gian hoàn thành đồ án.
Cuối cùng, cho em được gửi lời cảm ơn tới gia đình và bạn bè, những người luôn
tạo cho em niềm tin và là nền tảng vững chắc để em có thể hoàn thành đề tài.

Thái Nguyên, tháng 06 năm 2016.
Sinh viên thực hiện:

Nguyễn Thị Hồng

vi


LỜI MỞ ĐẦU
1. Đặt vấn đề
Ngày nay, trên thế giới hệ thống thời gian thực được phát triển mạnh mẽ. Do
khả năng hỗ trợ thiết thực của hệ thống thời gian thực đối với việc nghiên cứu khoa
học trong đời sống thường nhật nên các hệ thống thời gian thực đã được ứng dụng
và phát triển từ rất lâu và đang được ứng dụng và phát triển trong nhiều nghành
công nghiệp trong các hệ thống điều khiển. Trong vô số các ứng dụng đa phần các
hệ thống thời gian thực đều mang tính chất chuyên dụng. Nghĩa là chúng được phát
triển cho riêng một mục đích nào đó, cho riêng một hệ thống thiết bị, việc phát triển
được thực hiện không sử dụng đến một hệ điều hành đã có hay một ngôn ngữ cấp
cao. Tuy nhiên, hiện nay các hệ thống thời gian thực được phát triển nhanh và hiệu
quả nhờ các công cụ trung gian, các hệ thống thời gian thực, các hệ điều hành thời
gian thực, các ngôn ngữ lập trình thời gian thực.
Tại Việt Nam, các ứng dụng hệ thống thời gian thực được sử dụng trong các
hệ thống điều khiển máy bay, các hệ thống điều khiển Rada quân sự, hệ thống mổ

nội soi trong y tế, đa số các hệ thống thời gian thực cứng này đều được nhập từ
nước ngoài mà chúng ta chưa có đơn vị nào xây dựng và phát triển chúng. Tuy
nhiên trong những năm gần đây, chúng ta đã từng bước tìm hiểu, nghiên cứu và xây
dựng được các hệ thống thời gian thực mang tính chất mô phỏng các hệ thống thời
gian thực cứng, từng bước chuẩn bị xây dựng và làm chủ được công nghệ đối với
các hệ thống thời gian thực cứng ví dụ như hệ thống giả lập Radar, hay hệ thống
điều khiển giám sát hệ thống tín hiệu nhà ga, hệ thống đường ngang liên hoàn…
Với một nền kinh tế còn thấp, thu nhập của người dân chưa cao các phương
tiện giao thông với giá thành thấp được sử dụng phổ biến, ý thức chấp hành luật an
toàn giao thông kém của người tham gia giao thông tạo ra dòng xe lưu thông trên
tuyến là dòng hỗn tạp gây nhiều khó khăn cho việc tổ chức điều khiển giao thông.
Trong thời gian gần đây ở một số thành phố lớn của nước ta đẵ ứng dụng tiến bộ
của khoa học kĩ thuật trong điều khiển giao thông bằng tín hiệu đèn. Chính hệ thống
điều khiển bằng tín hiệu này đẵ góp phần giải quyết nạn ùn tắc giao thông trên các
tuyến trên đô thị. Tuy nhiên chủ yếu trên các nút điều khiển đèn giao thông đều sử
dụng hệ thống đèn ”không thông minh” với thời gian lưu thông định sẵn. Khi xe
gặp đèn đỏ trong một chu kì đèn dài 60s thì lượng tiêu hao nhiên liệu cho 1000 xe là
vii


: xe con 3,06 lit/1000xe; xe tải 4,75 lit/1000xe; xe buýt 6,0 lit/1000xe, đã gây ra ùn
tắc giao thông, gia tăng mức độ ô nhiễm khói do khí thải của động cơ khi chờ đèn
xanh và tiếng ồn cũng như tạo tâm lý căng thẳng, khó chịu dưới thời tiết không tốt
cho người lái xe. Tình trạng này càng phức tạp hơn khi trong tương lai lưu lượng xe
tăng nhanh và nhiều.
Xuất phát từ những hiểu biết trên và để có thể hiểu sâu hơn về lĩnh vực ứng
dụng hệ thống thời gian thực, dùng công nghệ mới để phân tích, thiết kế ứng dụng
hệ thống thời gian thực. Đề tài “Phân tích thiết kế hệ thống điều khiển đèn giao
thông thông minh thời gian thực tại ngã tư ” được hình thành.
2. Mục đích và nội dung nghiên cứu.

Mục đích của đồ án là lựa chọn công cụ thích hợp để phân tích thiết kế mô
phỏng hệ thời gian thực cho một nút đèn giao thông nhằm hạn chế tắc nghẽn và thời
gian chờ của người tham gia giao thông.
* Nội dung nghiên cứu của đồ án:
Tìm hiểu tổng quan về hệ thống thời gian thực.
Nghiên cứu về phần mềm hướng đối tượng UML trong việc mô hình hóa hệ
thời gian thực và ứng dụng.Vận dụng quá trình phân tích thiết kế mô phỏng hệ thời
gian thực để xây dựng chương trình mô phỏng cho một nút đèn giao thông tại ngã tư.
3. Phương pháp đối tượng, phạm vi nghiên cứu.
3.1. Phương pháp nghiên cứu.
Với mục đích nêu trên phương pháp nghiên cứu của đề tài là :
+ Nghiên cứu lý thuyết hệ thời gian thực cho việc phân tích thiết kế bằng
ngôn ngữ mô hình hóa UML.
+ Xây dựng mô phỏng điều khiển đèn giao thông sử dụng ngông ngữ C#.Net
trên winForm.
3.2. Đối tượng và phạm vi nghiên cứu
Với mục đích của đề tài là nghiên cứu về hệ thời gian thực và sử dụng UML
để phân tích thiết kế hệ thống điều khiển đèn giao thông nên đối tượng nghiên cứu
là một nút đèn giao thông có điều khiển bằng tín hiệu đèn.
* Phạm vi nghiên cứu của đồ án:
+Tổng quan về hệ thống thời gian thực.
+Ứng dụng UML trong phân tích thiết kế phần mềm thời gian thực.
viii


+ Nút đèn giao thông tại ngã tư đường có điều khiển bằng tín hiệu đèn.
+Thời gian cho mỗi chu kì đèn thay đổi theo thời gian quá tải.
+ Tỉ lệ lưu lượng xe tham gia là như nhau trên các trục giao thông.
4. Kết cấu chung của đề tài.
Với mục đích và nội dung nghiên cứu trên, kết cấu của đề tài gồm 3 chương:

Chương 1: Tổng quan về hệ thống thời gian thực.
Chương 2: Ứng dụng UML để phân tích và thiết kế hệ thống thời gian thực.
Chương 3: Xây dựng ứng dụng.

ix


Chương 1.
TỔNG QUAN VỀ HỆ THỐNG THỜI GIAN THỰC
Chương này giới thiệu các khái niệm cơ bản của hệ thống thời gian thực
(RTS – Real Time System), các yêu cầu và ràng buộc về thời gian khi thiết kế phần
mềm thời gian thực tương tác với môi trường bên ngoài. Hệ điều hành thời gian
thực cũng được trình bày, và với các ví dụ được giới thiệu cho ta thấy hệ thống thời
gian thực được ứng dụng rộng rãi và những yêu cầu đối với hệ thống đó cũng rất
khắt khe, nhằm để đáp ứng kích thích từ môi trường bên ngoài tác động.
Một vấn đề nảy sinh khi nghiên cứu về hệ thống thời gian thực đó là các hệ
điều hành đang được sử dụng phổ biến ở Việt Nam có phải là hệ điều hành thời gian
thực không? Chúng có thể được sử dụng để xây dựng phát triển các hệ thống thời
gian thực không?
1.1. Các khái niệm cơ sở của hệ thống thời gian thực
Hệ thời gian thực là một hệ thống mà sự hoạt động tin cậy của nó không chỉ
phụ thuộc vào sự chính xác của kết quả, mà còn phụ thuộc vào thời điểm đưa ra kết
quả, hệ thống có lỗi khi yêu cầu về thời gian không được thoả mãn.
Ví dụ: Hệ thống thông tin điều khiển màn hình hiển thị giờ chính xác của các
tàu điện ngầm sẽ đến và đi tại một ga nhất định.
Theo từ điển Oxford về máy tính cung cấp định nghĩa: Một hệ thống tại một
thời điểm cung cấp tín hiệu đầu ra quan trọng. Điều này là dĩ nhiên vì tín hiệu đầu vào
tương ứng đã được đưa vào trong không gian thiết bị và tín hiệu đầu ra có liên quan
đến sự di chuyển tương ứng đó. Thời gian trễ (delay) được bắt đầu từ thời điểm tín
hiệu đầu vào được đưa vào đến thời điểm nhận được tín hiệu đầu ra phải đủ nhỏ để có

thể chấp nhận được kịp thời.
Đây là một định nghĩa khác trên “Journal of Systems and Control Engineering”
(Chuyên đề Ứng dụng thiết kế hệ thống và điều khiển): RTS là hệ thống cung cấp các
phản ứng trả lời chính xác trong một giới hạn thời gian rõ ràng. Do đó việc tính toán
các phản ứng trả lời vượt quá ranh giới thời gian cho phép khi đó hiệu quả thực thi bị
biến đổi và gây ra kết quả sai lệch.
Hệ thống thời gian thực khác với các hệ thống khác ở chỗ gò bó về mặt
thời gian.

1


Hệ thống không chỉ đưa ra kết quả một cách chính xác mà còn phải thực hiện
xử lý trong khoảng thời gian cho phép. Tính thời gian thực ở đây là khả năng đáp ứng
kịp thời và chính xác.
Hệ thống thời gian thực được thiết kế nhằm cho phép phản hồi (response) lại
các yếu tố kích hoạt phát sinh từ các thiết bị phần cứng theo một ràng buộc thời
gian xác định.Trong những RTS chỉ có một số công việc được gọi là công việc thời
gian thực, các công việc này có một mức độ khẩn cấp riêng cần phải hoàn tất, ví dụ
một tiến trình đang cố gắng điều khiển hoặc giám sát một sự kiện đang xảy ra trong
thế giới thực. Bởi vì các sự kiện xuất hiện trong thế giới thực nên tiến trình giám sát
sự kiện này phải xử lý theo kịp với những thay đổi của sự kiện. Sự thay đổi của sự
kiện trong thế giới thực xảy ra thường rất nhanh, mỗi tiến trình giám sát sự kiện
phải thực hiện việc xử lý trong một khoảng thời gian ràng buộc gọi là deadline,
khoảng thời gian ràng buộc được xác định bởi thời gian bắt đầu và thời gian hoàn
tất công việc. Trong thực tế, các yếu tố kích thích xảy ra trong thời gian rất ngắn
vào khoảng vài mili giây, thời gian mà hệ thống trả lời lại yếu tố kích thích đó tốt
nhất vào khoảng dưới một giây, thường vào khoảng vài chục mili giây, khoảng thời
gian này bao gồm thời gian tiếp nhận kích thích, xử lý thông tin và trả lời lại kích
thích. Một yếu tố khác cần quan tâm trong RTS là những công việc thời gian thực

này có tuần hoàn hay không? Công việc thời gian tuần hoàn thì ràng buộc thời gian
ấn định theo từng chu kỳ xác định. Công việc không tuần hoàn xảy ra với ràng buộc
thời gian vào lúc bắt đầu và lúc kết thúc công việc, giới hạn thời gian ràng buộc chỉ
được xác định vào lúc bắt đầu công việc. Các biến cố kích hoạt công việc không
tuần hoàn thường dựa trên kỹ thuật xử lý ngắt của hệ thống phần cứng.
Một trong những tiêu chuẩn cho hành động chính xác của RTS đó là tính
chính xác lôgic , cũng được gọi là sự chính xác đầu vào/đầu ra, chính xác thiết thực
và sự chính xác biến đổi. Mặc khác, RTS thực yêu cầu cả tính chính xác lôgic lẫn
tính chính xác thời gian. Tính chính xác lôgic thường thể hiện trong giới hạn đúng
đắn đầu ra và đầu vào. Tiêu chuẩn về tính chính xác thời gian cũng được gọi là sự
chính xác tác động trở lại, có thể nhìn thấy như là sự mở rộng của tính chính xác
lôgic bao gồm sự định hướng mới, tên thời gian thực. Phần mềm thời gian thực là
một kiểu thiết kế như là một tập hợp những qui trình trao đổi thông điệp hiện tại.
Trong nhiều trường hợp, có những qui trình thực thi ở trạng thái không đồng bộ để
2


cung cấp sự kiểm tra các thành phần và sự tác động trở lại của các thành phần với
các tốc độ khác nhau. Qui trình truyền đạt thông điệp còn được dùng để chuyển đổi
dữ liệu hoặc điều khiển thông tin.
Về mặt cấu tạo, RTS thường được cấu thành từ các thành tố chính sau :
+ Đồng hồ thời gian thực: Cung cấp thông tin thời gian thực.
+ Bộ điều khiển ngắt: Quản lý các biến cố không theo chu kỳ.
+ Bộ định biểu: Quản lý các quá trình thực hiện.
+ Bộ quản lý tài nguyên: Cung cấp các tài nguyên máy tính.
+ Bộ điều khiển thực hiện: Khởi động các tiến trình.
 Đặc điểm tiêu biểu của một hệ thống thời gian thực:
* Tính bị động: Hệ thống phải phản ứng với các sự kiện xuất hiện vào các thời điểm
thường không biết trước. Ví dụ, sự vượt ngưỡng của một giá trị đo, sự thay đổi
trạng thái của một thiết bị quá trình phải dẫn đến các phản ứng trong bộ điều khiển.

* Tính nhanh nhạy: Hệ thống phải xử lý thông tin một cách nhanh chóng để có thể
đưa ra kết quả phản ứng một cách kịp thời. Tuy tính nhanh nhạy là một đặc điểm
tiêu biểu, nhưng một hệ thống có tính năng thời gian thực không nhất thiết phải có
đáp ứng thật nhanh mà quan trọng hơn là phải có phản ứng kịp thời đối với các yêu
cầu, tác động bên ngoài.
* Tính đồng thời: Hệ thống phải có khả năng phản ứng và xử lý đồng thời nhiều sự
kiện diễn ra. Có thể, cùng một lúc một bộ điều khiển được yêu cầu thực hiện nhiều
vòng điều chỉnh, giám sát ngưỡng giá trị nhiều đầu vào, cảnh giới trạng thái làm
việc của một số động cơ.
* Tính tiền định: Dự đoán trước được thời gian phản ứng tiêu biểu, thời gian phản ứng
chậm nhất cũng như trình tự đưa ra các phản ứng. Nếu một bộ điều khiển phải xử lý
đồng thời nhiều nhiệm vụ, ta phải tham gia quyết định được về trình tự thực hiện các
công việc và đánh giá được thời gian xử lý mỗi công việc. Như vậy người sử dụng mới
có cơ sở để đánh giá về khả năng đáp ứng tính thời gian thực của hệ thống.
Các thành tố trên có thể được phân định là thành phần cứng hay mềm tùy
thuộc vào hệ thống và ý nghĩa sử dụng. Thông thường, các RTS được kết hợp vào
phần cứng có khả năng tốt hơn so với hệ thống phần mềm có chức năng tương ứng
và tránh được chi phí quá đắt cho việc tối ưu hóa phần mềm. Ngày nay, chi phí
phần cứng ngày càng rẻ, chọn lựa ưu tiên phần cứng là một xu hướng chung.
3


 Hệ điều hành thời gian thực:
Hệ điều hành thời gian thực (RTOS-Realtime operating system) là hệ điều
hành (HĐH) có sự chú trọng giải quyết vấn đề đòi hỏi khắt khe về thời gian cho các
thao tác xử lý hoặc dòng dữ liệu. Đây là HĐH hiện đại, tinh vi, thời gian xử lý
nhanh, phải cho kết quả chính xác trong thời gian bị thúc ép nhanh nhất. RTOS
thường sử dụng một đồng hồ hệ thống có cho kỳ ngắt nhỏ vào khoảng vài micro
giây để thực hiện điều phối các tiến trình.
Hệ điều hành thời gian thực thực hiện đa nhiệm cũng với nguyên lý trên

nhưng các đối tượng của nó thì rất khác so với các đối tượng của hệ không phải thời
gian thực. Sự khác biệt này được phản ánh bởi cơ chế lập lịch trình. Hệ thời gian
thực/hệ nhúng được thiết kế sao cho các dáp ứng về mặt thời gian là thực đối với
các sự kiện xả ra trên thế giới thật. Các sự kiện này xảy ra trên thế giới thực có thể
có thời điểm kết thúc trước ngay cả hệ nhúng/hệ thời gian thực phải đáp ứng và cơ
chế lập lịch của hệ RTOS phải xác định được thời điểm kết thúc mà nó phải gặp.
Mỗi hệ thống điều khiển là một hệ thời gian thực. Có thể nói, tất các các hệ
thống điều khiển là hệ thời gian thực. Ngược lại, một số lớn các hệ thống thời gian
thực là các hệ thống điều khiển. Không có hệ thống điều khiển nào có thể hoạt động
bình thường nếu như nó không đáp ứng được các yêu cầu về thời gian, bất kể là hệ
thống điều khiển nhiệt độ, điều khiển áp suất, điều khiển lưu lượng hay điều khiển
chuyển động. Một bộ điều khiển phải đưa ra được tín hiệu điều khiển kịp thời sau
một thời gian nhận được tín hiệu đo để đưa quá trình kỹ thuật về trạng thái mong
muốn. Một mạng truyền thông trong một hệ thống điều khiển có tính năng thời gian
thực phải có khả năng truyền tin một cách tin cậy và kịp thời đối với các yêu cầu
của các bộ điều khiển, các thiết bị vào/ra, các thiết bị đo và thiết bị chấp hành. Tính
năng thời gian thực của một hệ thống điều khiển phân tán không chỉ phụ thuộc vào
tính năng thời gian thực của từng thành phần trong hệ thống, mà còn phụ thuộc vào
sự phối hợp hoạt động giữa các thành phần đó.
1.2. Yêu cầu của các hệ thống thời gian thực
1.2.1. Xử lý thời gian thực
Xử lý thời gian thực là hình thức xử lý thông tin trong một hệ thống để đảm
bảo tính năng thời gian thực của nó. Như vậy, xử lý thời gian thực cũng có các đặc
điểm tiêu biểu nêu trên như tính bị động, tính nhanh nhạy, tính đồng thời và tính
4


tiền định. Để có thể phản ứng với nhiều sự kiện diễn ra cùng một lúc, một hệ thống
xử lý thời gian thực sử dụng các quá trình tính toán đồng thời.
Quá trình tính toán là một tiến trình thực hiện một hoặc một phần chương

trình tuần tự do hệ điều hành quản lý trên một máy tính, có thể tồn tại đồng thời với
các quá trình khác kể cả trong thời gian thực hiện lệnh và thời gian xếp hàng chờ
đợi thực hiện.
 Các hình thức tổ chức các quá trình tính toán đồng thời:
* Xử lý cạnh tranh: Nhiều quá trình tính toán chia sẻ thời gian xử lý thông tin của
một bộ xử lý.
* Xử lý song song: Các quá trình tính toán được phân chia thực hiện song song trên
nhiều bộ xử lý của một máy tính.
* Xử lý phân tán: Mỗi quá trình tính toán được thực hiện riêng trên một máy tính.
Trong các hình thức trên đây thì hình thức xử lý cạnh tranh có vai trò chủ
chốt. Mặc dù hệ thống điều khiển có thể có nhiều trạm, và mỗi trạm có thể là một hệ
đa vi xử lý, số lượng các quá trình tính toán cần thực hiện thường bao giờ cũng lớn
hơn số lượng vi xử lý. Trong khi một vi xử lý không thể thực hiện song song nhiều
lệnh, nó phải phân chia thời gian để thực hiện xen kẽ nhiều nhiệm vụ khác nhau
theo thứ tự tùy theo mức ưu tiên và phương pháp lập lịch.
Trong các hệ thống điều khiển, khái niệm tác vụ (task) cũng hay được sử
dụng bên cạnh quá trình tính toán. Có thể nói, tác vụ là một nhiệm vụ xử lý thông
tin trong hệ thống, có thể thực hiện theo cơ chế tuần hoàn (periodic task) hoặc theo
sự kiện (event task). Các dạng tác vụ qui định trong chuẩn IEC 61131-3
(Programmable Controllers – Part3: Programming Languages). Ví dụ, một tác vụ
thực hiện nhiệm vụ điều khiển cho một hoặc nhiều mạch vòng kín có chu kỳ trích
mẫu giống nhau. Hoặc, một tác vụ có thể thực hiện nhiệm vụ điều khiển logic, điều
khiển trình tự theo các sự kiện xảy ra. Tác vụ có thể thực hiện dưới dạng một quá
trình tính toán duy nhất, hoặc một dãy các quá trình tính toán khác nhau.
1.2.2. Yêu cầu thời gian trong hệ thống thời gian thực
Nét đặc trưng cơ bản quan trọng nhất của hệ thống thời gian thực là sự đòi
hỏi để theo kịp môi trường tự trị với sự phản ứng của thuộc tính và thời gian để sự
kiện xuất hiện trong môi trường đồng bộ từ thao tác của hệ thống. Bởi vậy, sự tương
tác trong môi trường hệ thống, sự phản ứng lại của hệ thống với tác nhân kích thích
5



từ môi trường bên ngoài truyền vào sẽ tăng lên để trả lời lại tác nhân của máy móc,
là chủ thể yêu cầu. Trong nội dung được đề cập, sự kiện giới hạn sẽ sử dụng cho
việc truyền đạt các thực thể không có hiệu lực thời gian (ví dụ: sự chuyển đến của
thông điệp). Những hành động giới hạn đã sử dụng cho thực thể với một số khoảng
thời gian, có thể khởi tạo bởi sự kiện đưa ra sự thay đổi trong trạng thái của hệ
thống. Những yêu cầu thời gian có thể phân loại như sau:
 Thời gian tuần tự
Thời gian tuần tự mối quan hệ thứ tự của các sự kiện theo trình tự thời gian. Ví
dụ: trong phạm vi cấu trúc thời gian tuần tự chúng ta có thể nói rằng sự kiện A1
trước sự kiện A2. Kết hợp với thứ tự lôgic hoặc lôgic thời gian chúng ta có thể biểu
diễn sự phụ thuộc và các mối quan hệ giữa 2 sự kiện khác nhau. Trình tự thời gian là
khái niệm định tính của thời gian thực, bởi vì trạng thái về độ dài thời gian giữa các
sự kiện không thể có trong phạm vi cấu trúc này.
X

A1

Y

Event

Event
A2

Hình 1.1 Sơ đồ tuần tự của các sự kiện ràng buộc về thứ tự
 Thời gian quan hệ
Thời gian quan hệ là khái niệm ngầm của thời gian thực xuyên suốt các sự
kiện, là quan hệ giữa những sự kiện trong suốt quãng thời gian các hoạt động. Mối

quan hệ giữa các sự kiện được mô tả trong thuật ngữ của các mối quan hệ ưu tiên và
độ dài khoảng thời gian giữa các sự kiện, tính thứ tự có thể được mô tả trên giây.
Cho nên sự kiện được mô tả không tham chiếu cố định đến một điểm trong thời
gian đã được đưa ra trong các mối quan hệ giữa chúng. Thời gian quan hệ là khái
niệm định tính của thời gian thực.

6


Ví dụ: sự kiện re_A1 phản ứng trả lời, đáp ứng sự kiện A1 trong khoảng thời
gian nhỏ hơn hoặc bằng 4s, sự kiện A2 xuất hiện sau sự kiện A1 chậm nhất là 5s và
sự kiện A2 sau re_A1
X

Y
Event

{re_A1-A1  4s}

A1
ResPonse
Re_A1

{A2-A1  5s}

Event

A2

 Thời

chính
Hình
1.2gian
Sơ đồ
tuầnxác
tự của các sự kiện quan hệ ràng buộc về thời gian.
Mẫu thời gian này là khái niệm rõ ràng của thời gian thực mà hành vi hệ thống
có thể chỉ rõ từng điểm trong thời gian, với độ chính xác để chọn lựa trọng tâm. Vì
thế trong thời gian chính xác tất cả các sự kiện hiện tại đều được kiểm tra điểm
tham chiếu cố định và do đó đây là khái niệm định tính của thời gian thực.
Ví dụ: sự kiện An+1 xuất hiện đều đặn sau sự kiện An 4s.
X

Ai

Y

Event
{Ai+1-Ai=4s}

Ai+1

Event

Hình 1.3 Sơ đồ tuần tự của các sự kiện ràng buộc thời gian chính xác

7


 Thời gian trả lời: đây là quan hệ thời gian xuất hiện của các sự kiện và phản ứng

trả lời của nó. Các trường hợp thường sử dụng nhất đó là:
- Khoảng thời gian nhanh nhất giữa sự kiện và phản ứng trả lời của nó.
Ví dụ 1: sự kiện a tiếp đến là phản ứng trả lời b trong khoảng thời gian 3 giây
(yêu cầu đặc trưng sẵn sàng hành động).
- Khoảng thời gian chậm nhất giữa sự kiện và phản ứng trả lời của nó.
Ví dụ 2: sự kiện a tiếp đến là phản ứng trả lời b, khoảng thời gian nhỏ nhất là
8 giây giữa a và b.
- Khoảng thời gian chính xác (Exact) giữa sự kiện và phản ứng trả lời của nó.
Ví dụ 3: sự kiện a tiếp đến là phản ứng trả lời b trong khoảng thời gian chính xác 7
giây (như với sự cài đặt thời gian bấm giờ và thời gian không tính của nó).

X

Y

Event
A

Max: {b-a  3s}
Min: {b-a  8s}
Exact:{b-a=7s}

Response
B

Hình 1.4 Sơ đồ tuần tự, ví dụ 1-3
 Tính thường xuyên: đây là quan hệ xuất hiện của các sự kiện tương tự. Các
trường hợp thường sử dụng nhất:
- Khoảng thời gian nhanh nhất giữa các sự kiện xuất hiện.
Ví dụ 4: xuất hiện liên tục sự kiện ax và ax+1 cách nhau khoảng thời gian lớn

nhất là 4 giây.
- Khoảng thời gian chậm nhất giữa các sự kiện xuất hiện.
Ví dụ 5: xuất hiện liên tục sự kiện ax và ax+1 cách nhau khoảng thời gian nhỏ
nhất là 5 giây (kiểu giả định tỉ lệ tác nhân từ môi trường)
- Khoảng thời gian chính xác (Exact) giữa các sự kiện xuất hiện, đây cũng được gọi
là tính chu kỳ.

8


Ví dụ 6: sự kiện a xuất hiện đều đặn cách nhau khoảng thời gian 2 giây (như
với sự lấy mẫu).
X

Y

Event

An

An+1

Max: {b-a  4s}
Min: {b-a  5s}
Exact:{b-a=2s}

Event

Hình 1.5 Sơ đồ tuần tự, ví dụ 4-6


Phát triển hệ thống thời gian thực yêu cầu cần xem xét về khái niệm thời gian
áp dụng cho yêu cầu thi hành trên hệ thống. Một vấn đề cần làm rõ ràng, ngôn ngữ
mô hình là nền tảng sẽ hỗ trợ cho qui trình phát triển và nó cũng hỗ trợ khái niệm thời
gian do vậy các yêu cầu về thời gian cũng được mô tả. Trong các ứng dụng đồ họa
tổng quát hoặc ngôn ngữ mô hình thời gian thực nguyên mẫu nó có thể được mô tả
bởi các mối quan hệ sự kiện-phản ứng trả lời và mối quan hệ xuất hiện của các sự
kiện trong giới hạn thời gian thực. Khi một sự kiện muốn mô tả yêu cầu thời gian
chính xác, thời gian thực cần kiểm tra khả năng xuất hiện của các sự kiện và phản
ứng trả lời để xác định điểm tham chiếu.
Đến nay các yêu cầu về thời gian chỉ dành cho các sự kiện riêng, phản ứng
trả lời trực tiếp của chúng và các sự kiện xuất hiện có quan hệ với nhau. Có một số
kiểu yêu cầu dành cho hệ thống với một tình huống, mà tình huống đó xuất hiện
chính xác tại một thời điểm và nó không cần thiết trong suốt chu kỳ sống của hệ
thống. Ví dụ: sự kiện A xảy ra, sau đó đến phản ứng trả lời B, khoảng thời gian
giữa A và B là 5 giây. Yêu cầu khoảng thời gian 5 giây chỉ áp dụng khi sự kiện A có
xảy ra. Trong suốt chu kỳ sống của hệ thống sự kiện A chỉ xảy ra tại một thời điểm
xác định nào đó. Những kiểu yêu cầu này được gọi là: yêu cầu ngữ cảnh. Yêu cầu
ngữ cảnh luôn tùy thuộc vào sự xuất hiện của các sự kiện trước đó.
Ngoài ra còn có những yêu cầu không phụ thuộc vào ngoại lệ sự kiện nhưng
nó tồn tại trong hệ thống trong suốt chu kỳ sống cho đến khi hoàn thành, được gọi
9


là: những yêu cầu chung. Một ví dụ về yêu cầu chung tại hệ thống trạm điều khiển
hạt nhân: lò phản ứng sẽ không nổ. Đây là một yêu cầu mà cần phải thỏa mãn trong
toàn bộ chu kỳ hoạt động tồn tại của hệ thống trạm điều khiển hạt nhân và không
tùy thuộc vào thứ tự trước sau của sự kiện (tình huống) nào, mặt khác có thể có một
tai nạn tai họa xuất hiện. Như vậy khoảng thời gian trong ngôn ngữ mô hình tổng
quát có thể hỗ trợ cho các qui trình phát triển, nó dùng để mô tả các yêu cầu ngữ
cảnh cũng như các yêu cầu tổng quát.

1.2.3. Đặc tính của hệ thống thời gian thực
Các RTS có một số đặc điểm đặc trưng, tuy nhiên không phải tất cả các RTS
đều quan tâm đến các điểm đó. Thường thì ngôn ngữ lập trình và HĐH cho RTS đã
có rất nhiều cung cấp một số điểm đặc trưng hoặc tạo môi trường thuận lợi cho việc
thực hiện các đặc điểm đó.
 Hệ thống lớn và phức tạp
Lượng thông tin đầu vào của các hệ thống thời gian thực thường lớn. Tốc
độ của các thông tin này không ổn định, thất thường, trong khi đó hệ thống lại đòi
hỏi chúng được xử lý trong một khoảng thời gian xác định trước. Và bởi thông
tin đầu vào đa dạng với mục đích mô phỏng các thực thể của thế giới thực. Vì
vậy, cấu trúc của hệ thống thời gian thực thường phức tạp để đáp ứng được các yêu
cầu của thế giới thực.
Đây là vấn đề chung cho lĩnh vực phần mềm, yếu tố phức tạp và quy mô của
hệ thống thường tỉ lệ thuận với nhau. Đặc biệt khi mà RTS phải phân chia thời gian
hợp lý, sử dụng nhiều thuật toán phức tạp, phải thực hiện lập lịch, đồng bộ... nên độ
phức tạp là rất lớn, cả từ các giai đoạn đặt vấn đề, phân tích, thiết kế, tiến hành,
kiểm tra, bảo trì, ...
 Xử lý trên số thực
RTS luôn làm việc trên các thông số trạng thái thực của thiết bị vật lý. Việc
tính toán trên số thực tốn rất nhiều thời gian xử lý. Ngày nay, tốc độ xử lý của máy
tính đã rất nhanh, việc xử lý số thực được hỗ trợ ngay từ phần cứng, HĐH và ngôn
ngữ lập trình nhưng sử dụng một phương pháp tính toán phù hợp, ít tốn thời gian
nhất vẫn là một yêu cầu thực tế.
 Thực sự an toàn và đáng tin cậy
Các ứng dụng thời gian thực là các ứng dụng liên quan mật thiết đến thế
10


giới thực, đến hoạt động của con người. Kết quả tính toán của chúng ảnh
hưởng lớn đến quyết định của người sử dụng, thao tác hệ thống. Vì vậy, tính

toán của hệ thống phải đảm bảo độ chính xác cả về kết quả và thời gian đáp ứng.
 Giao tiếp trực tiếp với thiết bị phần cứng
Các thiết bị vật lý giao tiếp trực tiếp thường là các bộ phận cảm biến, các loại
đồng hồ trạng thái, nhiệt kế, các thiết bị điện, điện tử, bán dẫn. Các thiết bị này có
khả năng phát sinh hoặc tiếp nhận các tín hiệu, phát sinh các ngắt được nhận biết
bởi máy tính. Thông qua các tín hiệu, các ngắt mà máy tính có thể kiểm soát các
trạng thái hoặc điều khiển sự hoạt động của thiết bị.
 Thực hiện trên môi trường và ngôn ngữ lập trình hiệu quả
Khác với các hệ thống khác, RTS có yêu cầu thực thi nhanh và hiệu quả. Vì
vậy việc sử dụng một môi trường không hợp lý hay một ngôn ngữ lập trình bình
thường thì khó mà có thể đạt được yêu cầu, ví dụ : Hệ thống xử lý thời gian có độ
chia cho đến micro giây thì không thể thực hiện trên ngôn ngữ lập trình chỉ hỗ trợ
đến mili giây.
 Người sử dụng điều khiển
Trong các hệ thống kinh điển, thường thì người sử dụng ra yêu cầu và chờ nhận
kết quả. Trong những RTS còn yêu cầu người sử dụng phải nắm vững về hệ thống nền
(HĐH). Để kết quả công việc thành công tốt, người sử dụng có thể can thiệp trực tiếp
đến từng tiến trình, từng tiểu trình, cho phép, cấp quyền ưu tiên đến từng công việc
nhằm tạo sự thông suốt trong hệ thống, tránh sự tắt nghẽn.
1.3. Thời gian trong hệ thống thời gian thực
1.3.1. Quan niệm thời gian trong hệ thống thời gian thực
 Đồng hồ hệ thống
Đơn giản nhất là hệ thống chỉ có một đồng hồ chủ (sever lock), yêu cầu độ
chính xác và tin cậy rất cao. Loại đồng hồ chủ giá thành rất đắt. Một loại khác gồm
một đồng hồ chính (master clock) đồng bộ với nhiều đồng hồ phụ (slave clock) theo
kiểu “polling” (kiểm soát vòng), tất cả các đồng hồ có cùng độ chính xác, nếu đồng
hồ chính bị hỏng thì một trong những đồng hồ phụ sẽ thay thế.
Đối với hệ thống phân tán, đồng hồ hệ thống bao gồm tất cả các đồng hồ
phân tán và được đồng bộ với nhau theo cùng một thuật toán.


11


 Quan niệm về rời rạc thời gian
Trong quan niệm của RTS, thời gian được xem như là một yếu tố rời rạc.
Đây là một khía cạnh rất phức tạp và lý thú.
(1) Trong các HĐH kinh điển, có một đồng hồ quản lý thời gian đồng bộ
giữa các tiến trình. Đồng hồ này phát sinh ra ngắt báo hiệu cho hệ thống theo chu
kỳ. Chu kỳ này có thể được điều chỉnh nhưng không quá nhanh hay quá chậm làm
ảnh hưởng đến thời gian thực thi các tiến trình và thường là vào khoảng vài chục
mili giây. Chính chu kỳ này đã chia thời gian ra thành các mảnh đủ nhỏ.
(2) Còn trong các hệ thống điều khiển thời gian thực, hệ thống sử dụng một
đồng hồ có khả năng lập trình điều phối ngắt theo một chu kỳ đủ nhỏ, hợp lý, chu
kỳ ở hệ thống này vào khoảng vài micro giây.
Trong thực tế thì các hệ thống thời gian thực thường dựa trên cách tiếp cận
kết hợp giữa hai quan niệm trên, thường thì quan điểm (1) là nền tảng có sự hỗ trợ
của quan điểm (2).
 Ràng buộc về thời gian
Với mỗi yếu tố kích thích, hệ thống tiếp nhận vào một thời điểm t0, hệ thống
tiến hành cấp phát tài nguyên, thực hiện các xử lý tính toán và hoàn tất việc trả lời
vào thời điểm tk khác sau đó.
Một ràng buộc tối thiểu có thể được định nghĩa qua bộ ba sau:
Trong đó:

(ID, Tbegin(condition1), Tend(condition2)
ID

: Chỉ số của tiến trình

Tbegin(condition1) : Thời gian bắt đầu tiến trình

Tend(condition2)

: Thời gian tiến trình hoàn tất xử lý

Đây là một ràng buộc đơn giản đối với tiến trình trong hệ thống thời gian
thực, ràng buộc trên không có tiền điều kiện và xác định được khoảng thời gian mà
tiến trình phải thi hành (Tend-Tbegin).
Một ràng buộc khác, khắc khe hơn, phụ thuộc vào hệ thống và thời gian xác
định tài nguyên cần cấp phát, cũng như quá trình giải phóng tài nguyên sau khi tiến
trình sử dụng được xác định như sau:

(ID, Tbegin(condition1),CID,FID, Tend(condition2))dC(t)dt ti

12


Trong đó:
ID

: chỉ số của tiến trình

Tbegin(condition1) : Thời gian bắt đầu tiến trình
Tend(condition2)

: Thời gian tiến trình hoàn tất xử lý

CID

: Thời gian ước tính của tiến trình (số mẫu thời gian)


FID

: Tần số mẫu thời gian

Mỗi chỉ thị cơ sở có một thời gian thực thi cố định phụ thuộc vào phần cứng.
Như vậy, mỗi tiểu trình thực hiện một công việc được viết bằng một nhóm các chỉ
thị (hàm) sẽ có thời gian thực hiện là cố định, them vào đó còn có thời gian dung để
khởi tạo tiểu trình, kết thúc tiểu trình dẫn đến thời gian thực hiện công việc đó sẽ
lớn hơn thời gian thực thụ thực hiện tiểu trình. Câu hỏi đặt ra là làm thế nào những
công việc có thể thực thi một cách hoàn chỉnh trong thời gian bị hạn chế. Câu trả lời
đó là cơ chế điều phối quá trình được xem xét ở phần sau.
1.3.2. Các hệ thống thời gian thực
Các RTS thường được phân thành hai loại chính tùy thuộc vào ràng buộc
thời gian: Hệ thống thời gian thực mềm và Hệ thống thời gian thực cứng.
Hệ thống thời gian thực mềm: đó là hệ thống mà thời gian trả lời cho các yếu
tố kích thích là quan trọng, tuy nhiên trong trường hợp ràng buộc bị vi phạm, tức là
thời gian trả lời của hệ thống vượt quá giới hạn trễ cho phép (deadlines) hoặc nói
cách khác đó là giới hạn thời gian không thỏa mãn tính đúng đắn của chương trình,
trong trường hợp đó hệ thống vẫn cho phép tiếp tục hoạt động bình thường, không
quan tâm đến các tác hại do sự vi phạm gây ra (thường thì ảnh hưởng của các tác
hại không đáng kể).
Đối với hệ thống thời gian thực cứng: người ta quan tâm khắc khe đến các
hậu quả do sự vi phạm giới hạn thời gian gây ra, vì những hậu quả này có thể là rất
tồi tệ, ảnh hưởng hết sức nghiêm trọng lên hoạt động chung, gây thiệt hại về vật
chất hoặc có những ảnh hưởng xấu đến đời sống con người.
Ràng buộc thời gian thực cứng được mô tả chặc chẽ hơn trong thực thi của
hệ thống so với thời gian thực mềm, do đó các hệ thống cũng khó khăn hơn khi đưa
ra để phát triển phần cứng và phần mềm. Hầu hết các RTS bao gồm tổng hợp các
hoạt động đó là khóa cơ bản hoặc sự tương tác cơ bản của cả ràng buộc thời gian
cứng và thời gian mềm.

13


Trong các hệ thống thời gian thực, các thao tác phải được xác định biên bằng
các thời điểm tác động của các ngắt thời gian, nghĩa là có thể đoán trước được
trường hợp xấu nhất trong việc đáp ứng thực tế có thể có, thực tế thì có nhiều RTS
bao gồm cả hai loại mềm (Soft) và cứng (Hard). Trong cả hai loại trên, máy tính
thường can thiệp trực tiếp hoặc gián tiếp đến các thiết bị vật lý để kiểm soát cũng
như điều khiển sự hoạt động của thiết bị. Đứng trên góc độ phân tích, người ta
thường chia các RTS ra làm hai loại sau:
Hệ thống nhúng: Bộ vi xử lý điều khiển là một phần trong toàn bộ thiết bị,
nó được sản xuất trọn gói từ yếu tố cứng đến yếu tố mềm từ nhà máy, người sử
dụng không biết về chi tiết của nó và chỉ sử dụng thông qua các nút điều khiển, các
bảng số. Với chủng loại hệ thống này, ta sẽ không thấy được những thiết bị như
trong máy tính bình thường như bàn phím, màn hình... mà thay vào đó là các nút
điều khiển, các bảng số, đèn tín hiệu hay các màn hình chuyên dụng đặc trưng cho
từng hệ thống. Máy giặt là một ví dụ, người sử dụng chỉ việc bấm nút chọn chương
trình giặt, xem kết quả qua hệ thống đèn hiệu, ... Bộ vi xử lý trong hệ thống nhúng
đã được lập trình trước và gắn chặt vào ngay từ khi sản xuất và không thể lập trình
lại. Những chương trình như vậy chạy độc lập, không có sự giao tiếp với hệ điều
hành cũng như không cho phép người sử dụng can thiệp vào.
Loại thứ hai là bao gồm những hệ thống có sự can thiệp của máy tính
thông thường. Thông qua máy tính ta hoàn toàn có thể kiểm soát cũng như điều
khiển mọi hoạt động của thiết bị phần cứng của hệ thống. Những chương trình điều
khiển kiểu dạng trên có rất nhiều loại, phục vụ cho nhiều mục đích khác nhau và có
thể được viết lại cho phù hợp với yêu cầu thực tế. Hiển nhiên loại hệ thống như vậy
hoạt động được phải cần một HĐH điều khiển máy tính, HĐH phải có khả năng
nhận biết được thiết bị phần cứng, có khả năng hoàn tất công việc trong giới hạn
thời gian nghiêm ngặt và phải là HĐH hỗ trợ xử lý thời gian thực.


14


Chương 2.
ỨNG DỤNG UML ĐỂ PHÂN TÍCH THIẾT KẾ
HỆ THỐNG THỜI GIAN THỰC
Chương này sẽ giới thiệu khái quát về các cấu trúc của mô hình tĩnh và mô
hình động của ngôn ngữ mô hình hợp nhất UML, áp dụng những sơ đồ để thiết kế
mô hình doanh nghiệp, cũng như đáp ứng được những ràng buộc khắt khe về thời
gian, tuần tự thông điệp để thiết kế mô hình thời gian thực. Đưa ra các thuận lợi của
cấu trúc thành phần UML để xây dựng nên một hệ thống hướng đối tượng, và áp
dụng UML vào việc thiết kế một hệ thống thời gian thực, các khó khăn khi xác định
chính xác trình tự lôgic từng thông điệp đã được ngôn ngữ mô hình hợp nhất hỗ trợ
giải quyết bằng các sơ đồ tuần tự, sơ đồ cộng tác có sự ràng buộc giữa các đối
tượng với nhau. Bên cạnh đó, chúng ta có thể thêm vào các thời điểm mà sự kiện
xảy ra khi hệ thống yêu cầu. Những biểu đồ trạng thái mô tả hoạt động của từng đối
tượng tại từng UC từ lúc bắt đầu cho đến kết thúc, nó giúp người đọc thông tin hệ
thống nhanh chóng nắm bắt, hiểu được quá trình hoạt động của đối tượng.
2.1. Giới thiệu UML
Những năm đầu của thập kỷ 90 có rất nhiều phương pháp phân tích, thiết kế hệ
thống hướng đối tượng và cùng với chúng là các ký hiệu riêng cho từng phương pháp.
Số lượng các phương pháp trong khoảng từ 10 đã lên đến gần 50 trong những năm từ
1989 đến 1994. Ba phương pháp phổ biến nhất là OMT [James Rumbaugh], Booch91
[Grady Booch] và OOSE [Ivar Jacobson]. Mỗi phương pháp đều có những điểm mạnh
và yếu. Như OMT mạnh trong phân tích và yếu ở khâu thiết kế, Booch91 thì mạnh ở
thiết kế và yếu ở phân tích. OOSE mạnh ở phân tích các ứng xử, đáp ứng của hệ thống
mà yếu trong các khâu khác.
Do các phương pháp chưa hoàn thiện nên người dùng rất phân vân trong việc
chọn ra một phương pháp phù hợp nhất để giải quyết bài toán của họ. Hơn nữa, việc
các ký hiệu khác nhau của các phương pháp đã gây ra những sự mập mờ, nhầm lẫn

khi mà một ký hiệu có thể mang những ý nghĩa khác nhau trong mỗi phương pháp.
Ví dụ như một hình tròn được tô đen biểu hiện một bội số (multiplicity) trong
OMT, lại là một kết hợp (aggregation) trong Booch. Thời kỳ này còn được biết đến
với tên gọi là cuộc chiến giữa các phương pháp. Khoảng đầu năm 94, Booch đã cải
tiến phương pháp của mình trong đó có ứng dụng những ưu điểm của các phương
15


pháp của Rumbaugh và Jacobson. Tương tự Rumbaugh cũng cho đăng một loạt các
bài báo được biết đến với tên gọi phương pháp OMT-2 cũng sử dụng nhiều ưu điểm
của phương pháp của Booch. Các phương pháp đã bắt đầu hợp nhất, nhưng các kí
hiệu sử dụng ở các phương pháp vẫn còn nhiều điểm khác biệt.
Cuộc chiến này chỉ kết thúc khi có sự ra đời của UML. Đó là do có sự hợp
nhất các cách kí hiệu của Booch, OMT và Objectory cũng như các ý tưởng tốt nhất
của một số phương pháp khác như hình vẽ sau:

Hình 2.1 Xây dựng hợp nhất các kí hiệu vào trong mô hình UML
Bằng cách hợp nhất các kí hiệu sử dụng trong khi phân tích, thiết kế của các
phương pháp đó, UML cung cấp một nền tảng chuẩn trong việc phân tích thiết kế.
Có nghĩa là các nhà phát triển vẫn có thể tiến hành theo phương pháp mà họ đang
sử dụng hoặc là có thể tiến hành theo một phương pháp tổng hợp hơn (do thêm vào
những bước ưu điểm của từng phương pháp). Nhưng điều quan trọng là các ký hiệu
giờ đây đã thống nhất và mỗi ký hiệu chuẩn của tổ chức OMG vào tháng 7-1997.
UML là một ngôn ngữ đặc tả, trực quan, cấu trúc và sưu liệu để tạo ra các hệ
thống phần mềm, cũng như các mô hình doanh nghiệp và các hệ thống phần mềm
khác. UML mô tả một tập hợp thực hành thiết kế tốt nhất đã được chứng minh
thành công trong các mô hình hệ thống lớn và phức tạp.
UML cung cấp cho các nhà phân tích thiết kế các hệ thống hướng đối tượng
cách hình dung ra những hệ thống phần mềm, mô hình hóa các tổ chức nghiệp vụ sử
16



×