A. PHẦN TIÊU ĐỀ1. Họ tên: Nguyễn Văn Khởi Mã số HV: CH06020202. Tên chuyên đề: SỬ LÝ ĐA LUỒNG VÀ CHƯƠNG TRÌNH MÔ PHỎNG HỆ THỐNG THANG MÁYChuyên đề: CÔNG NGHỆ TRI THỨC3. Tên đề tài luận văn cao học:”TRUY VẤN DỮ LIỆU ĐA PHƯƠNG TIỆN BẰNG ĐẶC TẢ NỘI DUNG THEO CHUẨN MPEG 7 ỨNG DỤNG VÀO QUẢN LÝ THƯ VIỆN TRƯỜNG ĐẠI HỌC HẢI PHÒNG"Giáo viên hướng dẫn: VPGS.TS Nguyễn Đình Hóa Viện CNTT VNB. PHẦN NỘI DUNG1. Tổng quan về tình hình nghiên cứuNgày nay với sự phát triển với tốc độ chóng mặt của khoa học kỹ thuật, một kỷ nguyên mới được mở ra, kỷ nguyên của công nghệ thông tin, nhu cầu của loài người ngày càng lớn, đặc biệt là các ngành khoa học kỹ thuật khác đều cần đến sự hổ trợ của công nghệ thông tin, mặc dù công nghệ phần cứng phát triển rất nhanh, CPU với tốc độ xử lí ngày càng cao, nhưng lại nảy sinh nhiều bài toán trong thực tế sản xuất đòi hỏi phải xử lí nhanh hơn, mà máy tính với một CPU không đủ khả năng để giải quyếtVấn đề xử lý song song đang ngày càng được nghiên cứu nhiều để giải quyết một số bài toán mà thực tiễn đang đặt ra, những vấn đề cần có kết quả trong thời gian thực: như bài toán dự báo thời tiết, điều tiết giao thông, điều khiển các con tàu vũ trụ, các bài toán về mô phỏng…Vì vậy, việc nghiên cứu các giải thuật cho xử lý song song là một yêu cầu, và là một thách thức cho các nhà khoa học liên quan đến khoa học máy tính. Java ra đời trong sự dự đoán trước những gì sẽ xảy ra trong thế giới của công nghệ máy tính, nó hỗ trợ cho việc xử lí song song với cơ chế đa luồng.
2. Mục tiêu nghiên cứuVới việc tìm hiểu các giải thuật song song, các hệ thống đa xử lý, với cơ chế đa luồng của Java, đề tài nghiên cứu này chính là một ví dụ thực tế để mô phỏng sự hoạt động của một cầu thang máy. Qua đây chúng ta sẽ hướng tới nghiên cứu những bài tập thực tế khác liên quan tới sử lý đa luồng trong Java. 3. Phương pháp thực hiệnDựa trên cơ sở lý thuyết về luồng và đa luồng trong Java và những ý tưởng để thực hiện việc mô phỏng mô hình hoạt động của một hệ thống thang máy.Phần I luồng và đa luồngĐề tài này tác giả muốn giơí thiệu về LUỒNG VÀ ĐA LUỒNG, phân biệt cơ chế hoạt động đa luồng. Phần II cơ chế đa luồng trong Java- Các cách xây dựng lớp dữ liệu trong Java, khởi tạo và chạy các luồng - Giới thiệu các tính chất của luồng: đưa ra các trạng thái của luồng, mức độ yêu tiên của các luồng, đồng bộ hoá và chia sẻ, truy cập đồng bộ tài nguyên dùng chung.Phần III Giới thiệu ý tưởng mô phỏng hệ thống thang máy.- Ý tưởng mô phỏng hệ thống thang máy:Để thể hiện rõ kỹ thuật đa luồng trong Java, ở đây tác giả chọn hệ thống bao gồm 3 luồng trong đó có một luông người và 2 luồng thang máy.Với hệ thống thang máy bao gồm :+ Hai luồng để khởi động thang độc lập : Thang trái và thang phải.+ Một luồng người gồm yêu cầu của người sử dụng : Trong cùng một tầng có thể có nhiều người có yêu cầu khác nhau : Người yêu cầu lên tầng trên hoặc xuống tầng dưới so với tầng hiện thời.Một người đến 1 tầng đưa ra yêu cầu đến một tầng nào đó, sẽ có thang đến
nhận người đó trong thời gian nhanh nhất.Khi người vào thang rồi thang vẫn đi nhận các yêu cầu khác. Nếu người yêu cầu lên mà thang đi ngang qua đang ở trạng thái đi xuống thang sẽ không nhận người, chỉ khi thang đang chạy cùng chiều với yêu cầu mới nhận người. (nhưng nếu trên thang chưa có người, thang máy đang di chuyển đến vị trí chờ lệnh thì thang sẽ nhận người khi đến được tầng có yêu cầu dù là chiều đi ngược lại với hướng di chuyển của thang, với điều kiện trên tầng đó không có người yêu cầu đi đến tầng theo hướng đi của thang)- Ý tưởng xây dựng chương trình :Xây dựng lớp chính để khởi tạo dữ liệu và chạy luồng của lớp này sẽ chạy lớp Giaodien.Lớp Giaodien xây dựng các phương thức vẽ, và gọi các phương thức này trong Update, để mỗi khi gọi repaint sẽ vẽ lại. (Ở đây các hình được vẽ trong bộ đệm sau đó đưa ra để hình khỏi bị giật . Trước khi vẽ hình có điều khiển người vào và ra thang. phải để phương thức điều khiển người vào ra trong lớp này vì người trên tầng do luồng người thực hiện. Nhưng người vào thang còn tùy thuộc vào thang trái hay thang phải. Phương thức điều khiển người này lấy dữ liệu từ 2 biến ở 2 luồng Ngưoi và Dieukhienthang.Lớp thangmay chứa dữ liệu dùng chung cho luồng Dieukhienthang và luồng Nguoi, nên các phương thức phải đồng bộ hóa.Lớp Dieukhienthang. Phương thức run sẽ điều khiển việc di chuyển thang lên xuống. Để có hai thang chỉ cần tạo hai biến lớp với khởi tạo ban đầu khác nhau, hai biến này sẽ là hai luồng chạy độc lập, phụ thuộc vào dữ liệu của luồng người.Lớp Nguoi chạy trên một luồng, mỗi khi kích chuột luồng này nhận giá trị cho các biến lưu trữ người trên tầng. Sở dĩ phải dùng luồng riêng để kíck chuột 2 luồng kia vẫn hoạt động.
Như hình minh hoạ sau :Thang tráiBảng chứa các nút chọn tầngĐưa người vào tầng đợiThang phải
4. Tài liệu tham khảo- Đoàn Văn Ban, Bài giảng lập trình hướng đối tượng với Java, 2004.- Gary Cornell & Cay S.Hortmann, Core Java, Prentice Hall, 1996.- Joseph JáJá, An Introduction to Parallel Algorithms, Addison-wesley, 1992.- Khalid A.Mughal & Rolf W.Rasmussen, A Programmer’s Guide to Java TM Certification, Addison-Wesley, 2000.- Lập trình JaVa – Nhà xuất bản thống kê tổng hợp và biên dịch. 1999C. KẾT QUẢ, KHUYẾN NGHỊ Qua nghiên cứu về cơ lý thuyết về luồng và đa luồng, với ý tưởng mô phỏng hệ thống thang máy tác giả đã cố gắng mô phỏng một hệ thống thang máy hoàn hảo nhất. Qua đó chúng ta có thể hiểu rõ hơn về cơ chế đa luồng. Thông qua đó chúng ta có thể đưa ra những ý tưởng mới để giải quyết những bài toán phức tạp hơn.
. A. PHẦN TIÊU ĐỀ1. Họ tên: Nguyễn Văn Khởi Mã số HV: CH06020202 . Tên chuyên đề: SỬ LÝ ĐA LUỒNG VÀ CHƯƠNG TRÌNH MÔ PHỎNG HỆ THỐNG. TRƯỜNG ĐẠI HỌC HẢI PHÒNG"Giáo viên hướng dẫn: VPGS.TS Nguyễn Đình Hóa Viện CNTT VNB. PHẦN NỘI DUNG1. Tổng quan về tình hình nghiên cứuNgày nay với sự phát