Trong Chương 3, sẽ giới thiệu tiến trình phát triển các phần mềm ROPES, một tiến trình được sử dụng khá hiệu quả để phát triển hệ thống thời gian thực sử dụng các ký hiệu UML, sẽ [r]
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Lê Thị Hồng Hà
PHÂN TÍCH THIẾT KẾ
HỆ THỐNG THỜI GIAN THỰC
Nghành: Công nghệ thông tin
Mã số: 1.01.10
LUẬN VĂN THẠC SĨ
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS Đoàn Văn Ban
Hà Nội - 2007
Trang 2LỜI CAM ĐOAN
Tôi xin cam đoan luận văn “Phân tích thiết kế hệ thống thời gian thực” là do tôi thực hiện dưới sự hướng dẫn của PGS TS Đoàn Văn Ban – Viện Công Nghệ Thông Tin, Viện Khoa Học và Công Nghệ Việt Nam Mọi trích dẫn và tài liệu tham khảo được sử dụng trong luận văn đều được tôi chỉ rõ nguồn gốc
Tôi xin hoàn toàn chịu trách nhiệm về lời cam đoan trên
Hà Nội, ngày 5 tháng 10 năm 2007
Lê Thị Hồng Hà
Trang 3MỤC LỤC
LỜI CAM ĐOAN 2
MỤC LỤC 3
DANH MỤC CÁC TỪ VIẾT TẮT 5
DANH MỤC CÁC BẢNG BIỂU 6
DANH MỤC CÁC HÌNH VẼ 8
MỞ ĐẦU 12 CHƯƠNG 1 - HỆ THỐNG THỜI GIAN THỰC Error! Bookmark not
defined
1.1 Hệ thống thời gian thực Error! Bookmark not defined.
1.1.1 Khái niệm Error! Bookmark not defined 1.2.2 Phân loại Error! Bookmark not defined 1.1.3 Đặc trưng Error! Bookmark not defined 1.1.4 Xử lý thời gian thực Error! Bookmark not defined 1.1.5 Ứng dụng Error! Bookmark not defined
1.2 Hệ điều hành thời gian thực Error! Bookmark not defined.
1.2.1 Định nghĩa về hệ điều hành thời gian thực Error! Bookmark not defined 1.2.2 Một số đặc tính hiệu năng của hệ điều hành thời gian thực Error!
Bookmark not defined.
1.2.3 Các dịch vụ và chức năng thời gian thực Error! Bookmark not defined
1.2.4 Một số vấn đề cần quan tâm trong thiết kế hệ điều hành thời gian thực
Error! Bookmark not defined 1.2.5 Một số tiêu chuẩn liên quan đến hệ điều hành thời gian thực Error!
Bookmark not defined.
1.2.6 Phân loại hệ điều hành thời gian thực Error! Bookmark not defined 1.2.7 Một số hệ điều hành thời gian thực tiêu biểu Error! Bookmark not
defined.
1.3 Nền tảng phần cứng Error! Bookmark not defined 1.4 Ngôn ngữ lập trình cho hệ thống thời gian thực Error! Bookmark not defined.
1.4.1 Tổng quan về ngôn ngữ lập trình cho hệ thống thời gian thực Error!
Bookmark not defined.
1.4.2 Các đặc điểm của ngôn ngữ lập trình thời gian thực Error! Bookmark not
defined.
1.5 Truyền thông thời gian thực Error! Bookmark not defined.
1.5.1 Giới thiệu Error! Bookmark not defined 1.5.2 Xử lý lời gọi RTC Error! Bookmark not defined
Trang 41.5.3 Giao thức khởi tạo phiên SIP Error! Bookmark not defined 1.5.4 Giao thức mô tả phiên SDP Error! Bookmark not defined 1.5.5 Giao thức truyền thông thời gian thực Error! Bookmark not defined
1.6 Cơ sở dữ liệu thời gian thực Error! Bookmark not defined.
1.6.1 Tổng quan Error! Bookmark not defined 1.6.2 Duy trì tính nhất quán Error! Bookmark not defined 1.6.3 Ràng buộc thời gian Error! Bookmark not defined 1.6.4 Hệ quản trị cơ sở dữ liệu thời gian thực Error! Bookmark not defined
1.7 Kết luận Error! Bookmark not defined.
CHƯƠNG 2 - NGÔN NGỮ MÔ HÌNH HOÁ UML Error! Bookmark not
defined
2.1 Giới thiệu Error! Bookmark not defined 2.2 Kiến trúc của UML Error! Bookmark not defined 2.3 Mô hình khái niệm của UML Error! Bookmark not defined.
2.3.1 Các khối xây dựng (building blocks Error! Bookmark not defined 2.3.2 Các quy tắc của UML Error! Bookmark not defined 2.3.3 Các kỹ thuật chung của UML Error! Bookmark not defined
2.4 Kết luận Error! Bookmark not defined.
CHƯƠNG 3 - TIẾN TRÌNH ROPES Error! Bookmark not defined.
3.1 Giới thiệu Error! Bookmark not defined 3.2 Các pha Error! Bookmark not defined.
3.2.1 Phân tích Error! Bookmark not defined 3.2.2 Thiết kế Error! Bookmark not defined 3.2.3 Cài đặt và kiểm thử đơn vị Error! Bookmark not defined 3.2.4 Kiểm thử hệ thống Error! Bookmark not defined
3.3 Kết luận Error! Bookmark not defined.
CHƯƠNG 4 - PHÂN TÍCH THIẾT KẾ HỆ THỐNG KIỂM SOÁT KHÔNG LƯU Error! Bookmark not defined.
4.1 Giới thiệu Error! Bookmark not defined.
4.1.1 Tại sao chọn hệ thống kiểm soát không lưu? Error! Bookmark not
defined.
4.1.2 Mô tả hoạt động của hệ thống kiểm soát không lưu Error! Bookmark not
defined.
4.2 Phân tích hệ thống Error! Bookmark not defined.
4.2.1 Các thuật ngữ Error! Bookmark not defined 4.2.2 Phân tích yêu cầu Error! Bookmark not defined 4.2.3 Phân tích cấu trúc Error! Bookmark not defined
Trang 54.2.4 Phân tích hành vi Error! Bookmark not defined
4.3 Thiết kế Error! Bookmark not defined 4.4 Kết luận Error! Bookmark not defined.
KẾT LUẬN Error! Bookmark not defined TÀI LIỆU THAM KHẢO 14
Trang 6DANH MỤC CÁC TỪ VIẾT TẮT
ARTCC Air Route Traffic Control Centers
ATCSCC Air Traffic Control System
Command Center
ATCT Air Traffic Tontrol Tower Tháp điều khiển không lưu
FSS Flight Service Station Trạm dịch vụ bay
IP Internet Protocol Giao thức Internet
ROPES
Rapid Object-Oriented Process
for Embedded Systems
Tiến trình phát triển hướng đối tượng cho các hệ thống nhúng RTC Real–Time Communication Truyền thông thời gian thực
RTCP Real-Time Transport Control
Protocol
Giao thức điều khiển truyền thông thời gian thực
RTP Real-Time Transport Protocol
Giao thức truyền thông thời gian thực
SDP Session Description Protocol Giao thức mô tả phiên
SIP Session Initiation Protocol Giao thức khởi tạo phiên SIP TCP Transmition Control Protocol Giao thức điều khiển
TRACON Terminal Radar Approach Control
UDP User Datagram Protocol
UML Unified Modeling Language Ngôn ngữ mô hình hoá hợp nhất
Trang 7DANH MỤC CÁC BẢNG BIỂU
Bảng 1.5 Các phương thức SIP và chức năng của chúng 39
Bảng 3.1 Các vật phẩm thu được của phân tích yêu cầu 76 Bảng 3.2 Các vật phẩm thu được của phân tích hệ thống 77 Bảng 3.3 Các vật phẩm thu được của phân tích đối tượng 79 Bảng 3.4 Các vật phẩm thu được của thiết kế kiến trúc 81 Bảng 4.1 Các thuật ngữ của hệ thống kiểm soát không lưu 96
Trang 8Bảng 4.5 Luồng sự kiện chính của ca sử dụng “locate track” 102 Bảng 4.6 Luồng sự kiện chính của ca sử dụng “identify aircraft” 105 Bảng 4.7 Luồng sự kiện chính của ca sử dụng “create the flight plan” 108 Bảng 4.8 Luồng sự kiện chính ca sử dụng “create flight progress trip” 110
Trang 9DANH MỤC CÁC HÌNH VẼ
Hình 1.1 Hệ thống thời gian thực cứng và mềm 16 Hình 1.2 Hệ thống phi thời gian thực, hệ thống thời gian thực cứng và hệ
thống thời gian thực mềm
16
Hình 1.6 Sự đoạt quyền: (a) không hỗ trợ; (b) có hỗ trợ 26 Hình 1.7 Hệ điều hành thời gian thực thuần tuý 28 Hình 1.8 Hệ điều hành thời gian thực mở rộng từ các hệ điều hành khác 29
Hình 1.10 Luồng sự kiện một phiên SIP trực tiếp giữa các user agent 35 Hình 1.11 Luồng sự kiện một phiên SIP có Proxy Server 35 Hình 1.12 Luồng sự kiện một phiên SIP với Registrar Server 36 Hình 1.13 Luồng sự kiện một phiên SIP với Redirect Server 36
Trang 10Hình 2.2 Biểu diễn lớp 59
Trang 11Hình 3.1 Các pha và luồng công việc trong ROPES 71 Hình 3.2 Các vật phẩm được tạo ra trong tiến trình ROPES 72
Hình 3.5 Pha biên dịch và kiểm thử đơn vị trong ROPES 82
Hình 4.1 Kiểm soát viên không lưu trong một tháp sân bay 86
Hình 4.3 Mô tả sơ lược hành trình của một chuyến bay thương mại 89 Hình 4.4 Một máy bay chạy trượt trên đường băng theo hướng dẫn từ
kiểm soát viên mặt đất
90
Hình 4.5 Các hành lang khởi hành và tiếp cận giao thông phía Tây của
không gian TRACON khu vực cảng San Francisco
91
Hình 4.6 Sơ đồ một hệ thống kiểm soát không lưu 92 Hình 4.7 Phối hợp viên trung tâm xem xét các hiển thị của TMA 93 Hình 4.8 Hàng lang khởi hành và tiếp cận trong không gian TRACON
khu vực phía Đông sân bay
94
Hình 4.9 Các kiểm soát viên không lưu trong tháp điều khiển điều khiển
việc cất cánh, hạ cánh và giao thông trên mặt đất bằng radar và các công cụ trực quan
95
Hình 4.10 Biểu đồ ca sử dụng nhóm các ca sử dụng điều khiển trên đường
bay
100
Hình 4.11 Biểu đồ ca sử dụng nhóm các ca sử dụng quản lý cất và hạ cánh 100 Hình 4.12 Biểu đồ tuần tự hệ thống ca sử dụng “Locate track” 103 Hình 4.13 Biểu đồ tuần tự đối tượng ca sử dụng “Locate track” 104 Hình 4.14 Biểu đồ tuần tự hệ thống ca sử dụng “Identify Aircraft” 106
Trang 12Hình 4.15 Biểu đồ tuần tự đối tượng ca sử dụng “Identify Aircraft” 107 Hình 4.16 Biểu đồ tuần tự hệ thống ca sử dụng “create the flight plan” 108 Hình 4.17 Biểu đồ lớp phân tích thực thi ca sử dụng “Create Flight Plan” 109 Hình 4.18 Biểu đồ tuần tự đối tượng ca sử dụng “Create Flight Plan” 109 Hình 4.19 Biểu đồ tuần tự hệ thống ca sử dụng “create flight progress trip” 110 Hình 4.20 Biểu đồ tuần tự đối tượng ca sử dụng “create flight progress trip” 111 Hình 4.21 Biểu đồ lớp nhóm ca sử dụng liên quan đến quản lý bay 115
Hình 4.23 Miền quản lý máy bay và Miền giám sát máy bay 117 Hình 4.24 Miền quản lý máy bay và Miền hiển thị (Display Domain) 118 Hình 4.25 Biểu đồ cộng tác phát hiện vi phạm khoảng cách 118 Hình 4.26 Biểu đồ hoạt động ca sử dụng ““identify aircraft” 119 Hình 4.27 Giao diện ca sử dụng “create flight plan” 120
Trang 13MỞ ĐẦU
Xã hội càng phát triển, công nghệ thông tin càng giữa vị trí quan trọng trong đời sống và kỹ thuật Cùng với xu hướng phát triển của công nghệ thông tin, việc xây dựng các hệ thống thời gian thực, đặc biệt là các hệ thống điều khiển trở thành một vấn đề tất yếu, một nhu cầu cấp thiết
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 Tất cả các hệ thống điều khiển đều là các hệ thống thời gian thực
Hệ thống thời gian thực được ứng dụng phổ biến trong rất nhiều lĩnh vực, như thương mại, quân đội, y tế, giáo dục, cơ sở hạ tầng,… và hiện nay đang phát triển rất mạnh mẽ
Hệ thống kiểm soát không lưu (Air Traffic Control System) là một ví dụ tiêu biểu cho hệ thống thời gian thực bởi rất nhiều lý do Trước hết, hệ thống kiểm soát không lưu là một ứng dụng quan trọng, phức tạp, phổ biến và có mặt ở hầu hết các nước trên thế giới Hơn nữa, hệ thống này mang đầy đủ các đặc trưng của một hệ thống thời gian thực Và cuối cùng, các bộ phận của hệ thống này có thể tách ra để minh họa cho các ý tưởng kỹ thuật khác nhau
Giao thông phát triển, số lượng máy bay tăng, số lượng các chuyến bay trong không phân một nước và giữa các nước tăng nhanh, do đó yêu cầu có hệ thống kiểm soát không lưu hoạt động để điều khiển giao thông hàng không trở thành nhu cầu không của riêng quốc gia nào
Mục tiêu của luận văn này là tìm hiểu các vấn đề về hệ thống thời gian thực, ngôn ngữ mô hình hoá UML, tiến trình phát triển phần mềm cho các hệ thống thời gian thực ROPES và sử dụng tiến trình này để phân tích thiết kế hệ thống kiểm soát không lưu
Luận văn được trình bày trong bốn chương với nội dung mỗi chương như sau: Chương 1 giới thiệu hệ thống thời gian thực: khái niệm, phân loại, đặc trưng, ứng dụng và các vấn đề thời gian thực liên quan như hệ điều phần thời gian thực, cơ sở dữ
Trang 14liệu thời gian thực, truyền thông thời gian thực, ngôn ngữ lập trình thời gian thực, yêu cầu phần cứng cho một hệ thống thời gian thực
Tiếp theo, Chương 2 trình bày những vấn đề cơ bản của ngôn ngữ mô hình hoá hợp nhất UML gồm các ký hiệu, các đặc trưng, các mô hình
Trong Chương 3, sẽ giới thiệu tiến trình phát triển các phần mềm ROPES, một tiến trình được sử dụng khá hiệu quả để phát triển hệ thống thời gian thực sử dụng các
ký hiệu UML, sẽ trình bày mô hình tiến trình, các pha, các hoạt động và các vật phẩm thu được trong từng pha
Chương 4 tìm hiểu hệ thống kiểm soát không lưu, tầm quan trọng, hoạt động và
mô hình của một hệ thống kiểm soát không lưu, phân tích và thiết kế một hệ thống kiểm soát không lưu đơn giản sử dụng tiến trình phát triển ROPES
Chắc chắn, luận văn còn có những thiếu sót trong nội dung cũng như trong trình bày Tác giả của luận văn rất mong nhận được sự đóng góp ý kiến của các thầy cô giáo
và của các anh/chị học viên
Trang 15TÀI LIỆU THAM KHẢO Tiếng Việt
1 Nguyễn Trung Kiên, Hệ điều hành thời gian thực và hướng ngiên cứu ứng dụng trong viễn thông, Hội nghị khoa học lần thứ 4, Học viện công nghệ bưu chính viến
thông
Tiếng Anh
2 Abbot, Robert K., and Hector Garcia-Molina, Scheduling Real-Time Transactions: a
Performance Evaluation, Stanford University and Digital Equipment Corp ACM,
1992 13 Dec 2006
3 Alan C Shaw, Real-Time System and Software, John Wiley & Sons, Inc
4 Booch, Grady, Object Solutions: Managing the Object-Oriented Project, Reading,
MA: Addison-Wesley, 1996
5 Bruce Powel, Douglass, Real-Time UML Second Edition Developing Efficient Objects For Embedded Systems, Low Price Edition
6 Bruce Powel, Douglass, ROPES - Rapid Object-Oriented Process for Embedded Systems, I-Logix
7 Craiq C Freudenrich, Ph.D, How Air Traffic Control Works
8 Douglass, Bruce Powel, Doing Hard Time: Developing Real-Time Systems using UML, Objects, Frameworks, and Patterns Reading, MA: Addison-Wesley, 1999
9 Douglass, Bruce Powel, Real-Time UML: Developing Efficient Objects for Embedded Systems Reading, MA: Addison-Wesley, 1998
10 John A Stankovic et al, Strategic Directions in Real-Time and Embedded Systems, ACM Computing Surveys, Vol 28, No 4, December 1996
11 John A Stankovic et al, Misconceptions About Real-Time Computing, IEEE
Computer, 21 Oct 1988
Trang 1612 Buchmann, A "Real Time Database Systems." Encyclopedia of Database Technologies and Applications Ed Laura C Rivero, Jorge H Doorn, and Viviana E
Ferraggine Idea Group, 2005
13 Carpron, H.L., J A Johnson Computers: Tools for the Information Age Prentice
Hall, 1998 5th ed
14 Grady Booch, Software Architecture and the UML, Rational Software, 4/2000
15 Haritsa, J., J Stankovic, and M Xiong A State-Conscious Concurrency Control Protocol for Replicated Time Databases University of Virginia IEEE
Real-Time Applications Symposium 13 Dec 2006
16 Kang, K D., S Son, and J Stankovic Specifying and Managing Quality of Real-Time Data Services University of Virginia IEEE TKDE, 2004
17 Kanitkar, Vinay, and Alex Delis A Case for Real-Time Client-Server Databases Polytechnic University Brooklyn, New York, 1997 13 Dec 2006
18 Kao, Ben, and Hector Garcia-Molina An Overview of Real-Time Database Systems NATO Advanced Study Institute on Real-Time Computing, 9 Oct 1992,
NATO 13 Dec 2006
19 Lam, Kam-Yiu, and Tei-Wei Kuo Real-Time Database Systems: Architecture and Techniques Springer, 2001
20 Lee, Juhnyoung Concurrency Control Algorithms for Real-Time Database Systems Diss Univ of Virginia, 1994 13 Dec 2006
21 Ozsoyoglu, Gultekin, and Richard T Snodgrass Temporal and Real-Time Databases: a Survey Knowledge and Data Engineering, 1995 13 Dec 2006
22 Scott W.Amber, The Unified Modeling Language and Beyond: The Techniques of Object-Oriented Modeling, An AmbySoft Inc.White Paper 2/2000
23 Scott Johnson, Kristopher Zarns, Ritu Banerjee, Robert Ellingson, Travis Dazell,
Ryan Langseth, and Tyler Mathwich, A Study in the Analysis, Design and Implementation of an Air Traffic Control Simulation System Using UML, Department
os Computer Science, University of North Dakota, Grand Forks, ND 58202