intTypePromotion=1

LUẬN VĂN:NGHIÊN CỨU LẬP TRÌNH CHO CÁC THIẾT BỊ DI ĐỘNG ÁP DỤNG CHO BÀI TOÁN HƯỚNG DẪN DU LỊCH

Chia sẻ: Lan Lan | Ngày: | Loại File: PDF | Số trang:46

0
127
lượt xem
25
download

LUẬN VĂN:NGHIÊN CỨU LẬP TRÌNH CHO CÁC THIẾT BỊ DI ĐỘNG ÁP DỤNG CHO BÀI TOÁN HƯỚNG DẪN DU LỊCH

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Việc hướng dẫn du lịch ngày nay hết sức đa dạng, chúng ta có thể được hướng dẫn thông qua internet, hướng dẫn viên, sách báo…Nhưng tất cả các cách trên đều có một hạn chế đó là tính độc lập, như internet thì chúng ta luôn phải cần một chiếc máy tính kết nối mạng, còn hướng dẫn viên thì ta luôn phải đi theo sát họ…Vì vậy việc hướng dẫn du lịch qua mobile là một giải pháp tốt. Ứng dụng "Hướng dẫn du lịch qua mobile theo ngữ cảnh" được viết lên nhằm mục đích hướng dẫn...

Chủ đề:
Lưu

Nội dung Text: LUẬN VĂN:NGHIÊN CỨU LẬP TRÌNH CHO CÁC THIẾT BỊ DI ĐỘNG ÁP DỤNG CHO BÀI TOÁN HƯỚNG DẪN DU LỊCH

  1. ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Lê Xuân Chính NGHIÊN CỨU L ẬP TRÌNH CHO CÁC THIẾT BỊ DI ĐỘNG ÁP DỤNG CHO BÀI TOÁN HƯỚNG DẪN DU LỊCH KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Mạng và truyền thông máy tính HÀ NỘI - 2010
  2. ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Lê Xuân Chính NGHIÊN CỨU L ẬP TRÌNH CHO CÁC THIẾT BỊ DI ĐỘNG ÁP DỤNG CHO BÀI TOÁN HƯỚNG DẪN DU LỊCH KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Mạng và truyền thông máy tính Cán bộ hướng dẫn: ThS Nguyễn Việt Anh HÀ NỘI - 2010
  3. Tóm Tắt Việc hướng dẫn du lịch ngày nay hết sức đa dạng, chúng ta có thể được hướng dẫn thông qua internet, hướng dẫn viên, sách báo…Nhưng tất cả các cách trên đều có một hạn chế đó là tính độc lập, như internet thì chúng ta luôn phải cần một chiếc máy tính kết nối mạng, còn hướng dẫn viên thì ta luôn phải đi theo sát họ…Vì vậy việc hướng dẫn du lịch qua mobile là một giải pháp tốt. Ứng dụng “Hướng dẫn du lịch qua mobile theo ngữ cảnh” được viết lên nhằm mục đích hướng dẫn khách tham quan thu được thông tin một cách chính xác nhất về địa điểm mà họ quan tâm. Ứng dụng tổ chức dữ liệu dưới dạng cây, tùy vào ngữ cảnh mà người dùng đưa vào sẽ quyết định độ chi tiết của thông tin trả về. Sau hơn 5 tháng nghiên cứu dưới sự hướng dẫn của thầy ThS Nguyễn Việt Anh và sự giúp đỡ của các bạn trong nhóm khóa luận. Bước đầu khóa luận đã thu được những kết quả nhất định . Áp dụng xử lý dữ liệu theo ngữ cảnh vào bài toá n du lịch. - Tìm hiểu về J2ME, Webservice. - Xây dựng thành công chương trình “Hướng dẫn du lịch qua mobile theo ngữ - cảnh”. Ứ ng dụng đã đáp ứng được những chức năng cần thiết nhất trong việc hướng dẫn du lịch qua mobile theo ngữ cảnh.
  4. MỤC LỤC Lời nói đầu ...............................................................................................................................1 Mục tiêu của đề tài ..........................................................................................................3 Ch ươ ng 1. Xử lý dữ liệu theo ngữ cảnh trên mobile ......................................................3 1.1. Giới thiệu ..................................................................................................................3 1.2. Hạn chế của hư ớng dẫn du lịch thông thư ờng ......................................................3 1.3. Hướng dẫn du lịch theo ngữ cảnh ..........................................................................4 1.4. Các chương trình liên quan .....................................................................................4 1.5. Cấu trúc DTG ...........................................................................................................6 1.6. Xác định ngữ cảnh ...................................................................................................7 1.7. Kết luận .....................................................................................................................8 Ch ươ ng 2. Ứng dụng “hư ớng dẫn du lịch qua mobile theo ngữ cảnh” .....................9 2.1. Ngữ cảnh của ch ương trình .....................................................................................9 2.2. Mô hình kết nối ......................................................................................................10 2.3. Thiết kế c ơ sở dữ liệu ............................................................................................11 2.3.1. Các bảng dữ liệu của ch ương trình ..........................................................11 2.3.2. Chi tiết các bảng .........................................................................................11 2.4. Mô hình dữ liệu ......................................................................................................13 2.5. Cài đặt thuật toán ...................................................................................................14 2.5.1. Các khái niệm c ơ bản về cây ....................................................................14 2.5.2. Cài đặt cây ...................................................................................................16 2.6. Luồng xử lý dữ liệu của chươ ng trình .................................................................20 2.6.1. LoginScreen ................................................................................................20 2.6.2. Welcome ......................................................................................................21 2.6.3. List................................................................................................................22 2.6.4. Form .............................................................................................................24 2.7. Cài đặt thử nghiệm .................................................................................................25 Ch ươ ng 3. J2ME ...................................................................................................................26 3.1. Giới Thiệu ...............................................................................................................26 3.2. Những phiên bản Java ...........................................................................................26 3.3. Tại sao dùng J2ME? ..............................................................................................27 3.3.1. Configurations (Cấu hình) .........................................................................27 3.3.2. Profile ..........................................................................................................28 3.4. Cấu hình CONFIGURATION và PROFILE đ ược phát triển như thế nào? ...29 3.4.1. Máy ảo Java (JVM – J ava Virtual Machines) ........................................29 3.4.2. KVM và CLDC liên quan nh ư thế nào? ..................................................29
  5. 3.5. Tính t ương thích giữa những phiên bản Java .....................................................30 3.5.1. Ứng dụng J2SE sẽ tiếp tục chạy trên môi tr ường J2ME? .....................31 3.5.2. Những ứng dụng J2ME vẫn chạy trên J2SE? .........................................31 3.6. Kết chương ..............................................................................................................31 Ch ươ ng 4. Web service .......................................................................................................32 4.1. Định nghĩa ...............................................................................................................32 4.2. Thành phần c ơ bản của Web service ...................................................................32 4.3. Hoạt động của Web service ..................................................................................32 4.3.1. SOAP ...........................................................................................................33 4.3.2. WSDL (Web Service Definition Language) ...........................................33 4.3.3. UDDI(Universal Description, Discovery, and Integration) ..................33 4.5. Các thành phần chính của Web Service ..............................................................35 4.5.1. SOAP (Simple Object Access Protocol) .................................................35 4.6. WSDL (Web Service Definition Language) ......................................................35 4.6.1. C ấu trúc file WSDL ...................................................................................37 Ch ươ ng 5. Kết luận ..............................................................................................................38 5.1. Kết luận ...................................................................................................................38 5.1.1. Các kết quả đạt đ ược ..................................................................................38 5.1.2. Các vấn đề chư a giải quyết đ ược .............................................................38 5.2. Hướng phát triển t ương lai ....................................................................................38
  6. Lời cảm ơn! Sau hơn năm tháng tìm hiểu và thực hiện, luận văn “Nghiên cứu lập trình cho các thiết bị di động áp dụng cho bài toán hướng dẫn du lịch” đã cơ bản hoàn thành. Để đạt được kết quả này, em đã nỗ lực hết sức và đồng thời cũng nhận được rất nhiều sự quan tâm, giúp đỡ, ủng hộ của thầy cô, bạn bè và gia đình. Điều đầu tiên, em xin gửi lời cảm ơn chân thành đến bộ môn Mạng và Truyền thông máy tính, Khoa Công nghệ thông t in, Trường Đại học Công N ghệ , Đại học Quốc Gia Hà Nội và các thầy cô đặc biệt là ThS N guyễn Việt Anh đã tận tình giúp đỡ, hướng dẫn em hoàn thành luận văn. Mình rất cảm ơn các bạn bè trong khoa, đặc biệt là nhóm làm cùng khóa luận và cộng đồng Java Việt Nam đã luôn bên cạnh, giúp đỡ và đóng góp ý kiến trong suốt quá trình làm luận văn. Và con xin chân thành cảm ơn đến gia đình đã luôn động viên và tạo điều kiện thuận lợi nhất để con học tập và hoàn thành luận văn. Luận văn đã hoàn thành và có được kết quả n hất định, tuy nhiện vẫn không thể tránh khỏi những sai sót. Rất mong sự cảm thông và đóng góp ý kiến nhiệt tình từ thầy cô và các bạn. Hà Nộ i, tháng 5 năm 2010 Lê Xuân Chính
  7. Lời nói đầu Mạng điện thoại di động xuất hiện tại Việt Nam từ đầu những năm 1990, và theo thời gian số lượng nhà cung cấp dịch vụ và số lượng thuê bao tăng lên hàng ngày. Giờ đây c hiếc điện thoại di động không chỉ đơn thuần l à gọi, nhắn tin và nghe mà nó còn là một thiết bị giải trí đa phương tiện, tra cứu thông tin rất tiện lợi... Việc xây dựng các ứng dụng trên điện thoại đi động là một lĩnh vực mới, hứa hẹn nhiều thú vị và là một xu thế tất yếu hiện nay. Các dịch vụ giá trị gia tăng trên điện thoại di động có thể nó i là một mảnh đất màu mỡ cho các doanh nghiệp cung cấp dịch vụ di động. Ngày nay có hai hướng phát triển ứng dụng trên thiết bị di động chính là sử dụng ngôn ngữ C++ trên nền hệ điều hành Symbian và J2ME. Các ứng dụng viết trên nền Symbian có ưu thế truy c ập trực tiếp các tài nguyên của điện thoại di động cũng như hỗ trợ hệ thống tập tin, thư mục… Nhưng việc phát triển trên nền Symbian tương đối phức tạp và dung lượng ứng dụng khá lớn. Có thể nói J2ME là một đối thủ của Symbian API, J2ME có ưu điểm là nhỏ gọ n, tiện dụng, hỗ trợ hầu hết các dòng điện thoại hiện nay, kể cả điện thoại sử dụng hệ điều hành Symbian. J2ME không chỉ là ngôn ngữ dùng để viết cho các ứng dụng di động, mà nó còn có thể lập trình cho các thiết bị gia dụng, thẻ tín dụng điện tử, và các ứ ng dụng thông minh khác. Rất khó để so sánh các dòng ngôn ngữ lập trình. Vì mỗi ngôn ngữ đều có thế mạnh riêng của nó. Dựa trên tiêu trí tính phổ biến và thích hợp với điều kiện hiện thời, tôi đã chọn J2ME là ngôn ngữ để xây dựng ứng dụng. Với sự phát triển mạnh của mạng di động và ngày nay vấn đề về phần cứng đã được cải thiện một cách đáng kể về tốc độ xử lý và dung lượng bộ nhớ. S ự kiện đáng chú ý gần đây Việt Nam đã có một số đơn vị cung cấp dịch vụ 3G. 3G, hay 3-G, (viết tắt của third -generation technology ) là công nghệ truyền thông t hế hệ thứ ba, cho phép truyề n cả dữ liệu thoại và dữ liệu ngoài thoại (tải dữ liệu, gửi email, tin nhắn nhanh, hình ảnh...). Với những thế mạnh vượt trội đó, 3G sẽ hứa hẹn là một mảnh đất cho các lập trình viên thỏa mãn đam mê lập trình trên các thiết bị di động. Và tiến tới hầu như tất cả các ứng dụng trên desktop sẽ có mặt trên mobile. Dựa trên nền tảng ngôn ngữ J2ME, tôi đã xây dựng ứng dụng “ hướng dẫn du lịch qua mobile theo ngữ cảnh ”. Với một chiếc máy tính việc tra cứu thông tin du lịch là việc cực kì đơn giản, chỉ bằng một cú c lick để truy cập http://google.com sau vài giây thì bạn sẽ nhận được hàng triệu kết quả để tham khảo . Ngày nay chiếc điện thoại di động với những tính năng mạnh mẽ đi cùng, các chức năng dần tiến tới như desktop 1
  8. chỉ là vấn đề thời gian, ứng dụng “hướng dẫn du lịch qua mobile theo ngữ cảnh” được viết nên nhằm trợ giúp các khách du lịch trong việc tìm kiếm và tra cứu thông tin địa lý, điểm đặc biệt ở chương trình là tính mềm dẻo về dữ liệu trả về, không có gì buồn chán hơn khi ta đọc đi đọc lại một lượng thông tin cố định, mà không có sự thay đổi theo thời gian. Ứng dụng của tôi đã giải qu yết được vấn đề này, tù y vào thông tin truy vấn của người dùng mà dữ liệu trả về sẽ khác nhau, có thể nói đây là sự thông minh của chương trì nh. Với sự phát triển về tốc độ của mạng di động, dung lượng của dữ liệu không còn là vấn đề quan trọng nữa, vì vậy nội dung của ứ ng dụng sẽ thêm phong phú và đa dạng. Chương trình bước đầu đã hoàn thành, dữ liệu lúc này đơn giản chỉ là chữ và hình ảnh, nhưng cũng đủ để truyền tải hết thông tin tới người dùng. Nhận thấy 3G đã có mặt tại Việt Nam, vì vậy hướng phát triển tương lai của chương trình là tích hợp thêm video, cụ thể ở đây là ứng dụng sử dụng công nghệ Video Streaming, hiện còn rất mới, đây là hướ ng đi hứa hẹn nhiều thành công. Tuy đã đầu tư khá nhiều thời gian và công sức vào luận văn, nhưng không thể tránh khỏi những sai sót, tôi rất mong nhận được những đóng góp và phản hồi từ thầy cô và c ác bạn! Xin chân thành cảm ơn! Lê Xuân Chính 2
  9. Mục tiêu của đề tài Tìm hiểu ngôn ngữ lập trình J2ME. - Tìm hiểu Web service. - Tìm hiểu vể “xử lý dữ liệu theo ngữ cảnh”. - Xây dựng ứng dụng demo “Hướng dẫn du lịch qua mobile theo ngữ cảnh”. - Chương 1. Xử lý dữ liệu theo ngữ cảnh trên mobile 1 .1. G iới thiệu Những khách du lịch bụi thường phải dựa vào bản đồ hoặc dựa vào những biển hiệu trên đường đi để tự khám phá một thành phố lạ lẫm. Họ cần có một người hướng dẫn viên giúp họ tới những nơi mà họ muốn, cho họ thông tin về bất cứ những gì mà họ tìm thấy thậm c hí là đảm bảo đưa họ trở về đúng giờ. Đây là mục tiêu chính của Dynamic Tour Guide - Hướng dẫn viên du lịch di động(DTG). DTG là một thiết bị di động cho phép cá nhân hóa những thông tin về tour du lịch. Nó chọn những địa điểm thu hút khách du lịch, lên l ịch cho một tour thăm quan cá nhân, cung cấp những thông tin về đường đi trong suốt quá trình du lịch và những thông tin về môi trường. Những thông tin phản hồi thông minh này dựa trên tất cả những phân tích về bối cảnh hiện tại để hỗ trợ cho khách du lịch bất cứ lúc nào. 1.2 . H ạn chế của hướng dẫn du lịch thông thường Khách du lịch luôn cần có những thông tin chi tiết về địa điểm mình tham quan ví dụ như: bảo tàng có những giờ mở cửa khác nhau hoặc có thể có những giờ mở cửa thêm. Ví dụ vào những dịp cuối tuần, mùa hè thì những cửa hàng luôn kín chỗ, còn vào khoảng tháng 11 thì luôn đóng cửa. Nếu không nắm bắt được những thông tin này, khách du lịch sẽ không có được những chuẩn bị cần thiết, vì vậy chỉ còn cách đi theo những biển hiệu, chỉ dẫn trên bản đồ h ay đường đi. Những hướng dẫn viên du lịch thường chỉ hướng dẫn cho cả đoàn khách, họ đi theo những tour đã định sẵn và chỉ tham quan những điểm chính, trong khi có những địa điểm thú vị lại không được tham quan, mặc dù chỉ cách những điểm chính rất gần. Lý t ưởng nhất là có một t hiết bị giống như hướng dẫn viên du lịch, luôn thường trực, am hiểu những địa danh và hiểu được sở thích cá nhân của khách du lịch, quản lý được về thời gian, biết được tình hình hiện tại, đưa ra một tour du lịch cá nhân, và có thể c ất gọn trong túi áo. Đây là mục tiêu của DTG. Mục đích ở đây là lập ra một tour 3
  10. du lịch, giống như một chuyên viên hướng dẫn viên du lịch sẽ làm khi sau khi biết được những thông tin về khách du lịch. Điều này hoàn toàn có thể thực hiện được bằng việc áp d ụng công nghệ mới là kết hợp sự nhận thức về ngữ nghĩa và ngữ cảnh của máy tính. 1.3 . Hướng dẫn du lịch theo ngữ cảnh Một khách du lịch luôn muốn khám phá ngay địa điểm họ sắp tới. Họ có một hồ sơ về sở thích, điểm xuất phát và kết thúc và một khoảng thời gian cho tour du lịch. Những thông tin này cần được nạp vào hệ thống. Ngữ cảnh ở đ ây là tất c ả những thông tin hiện thời về một địa điểm nhất định, một khoảng thời gian nhất định . Thách thức đặt ra là phải đưa ra một tour tối ưu dựa trên những thông tin c á nhân và ngữ cảnh. Trong suốt quá trình tham quan, khách du lịch có thể được hướng dẫn để đi tới tổ hợp các tòa nhà, đ ịa điểm cần đến(Tour Building Block – TBB). Khi khách du lịch bắt đầu c huyến du lịch, DTG có thể đo được tốc độ di chuyển và cập nhật những thông tin này để có thể tính toán, sắp xếp lại tour du lịch. Ngay khi khách du lịch tới một TBB, DTG có thể đưa ra thông tin giới thiệu phù hợp với hoàn cảnh hiện tại. Một số khách du lịch có thể quyết định khám phá TBB bằng cách nhiều cách, ví dụ như đi bộ , hoặc xem lướt qua… Trong trường hợp này, những t hông tin thêm phù hợp cũng sẽ được cung cấp. Ngay khi khách du lịch rời khỏi TBB, DTG sẽ ngừng cung cấp thông tin về TBB này và nạp l ại quá trình điều hướng, có thể sang TBB tiếp theo. Trong trường hợp du khách dừng chân lại lâu hơn dự kiến ban đầu thì thời gian còn lại phải được tính toán lại. Trên đ ường tới TBB tiếp theo, du khách có thể sẽ bị phân tán bởi một điểm tham quan khác hoặc đơn giản là 1 cửa hàng. Lúc này DTG sẽ tạm dừng những gợi ý điều hướng và cung cấp những thông tin về bối cảnh hiện tại nếu có thể. Trong trường hợp này, DTG sẽ phải chờ cho tới khi du khách rời khỏi điểm hiện t ại và tính toán lại thời gian. 1 .4. Các chương trình liên quan Tour Guides từ lâu đã trở thành 1 chủ đề rất quan trọng trong hoạt động nghiên cứu. Cũng có nhiều chương trình được viết lên nhằm mục đích hướng dẫn theo ngữ cảnh, các chương trình đều có đặc điểm riêng của nó nhưng đều có những hạn chế nhất định, chỉ phục vụ cho những yêu cầu đặc biệt. Những dự án quan trọng sau đây cũng xử lý những vấn đề tương tự DTG. 4
  11.  Guide: Là một hướng dẫn viên du lịch di động - sử dụng hệ thống định vị theo từng ô thay vì GPS. Khách du lịch có thể chọn địa điểm tham quan theo phân loại trong chuyến du lịch. Đường đi đã được tính trước . Thứ tự tham quan có thể được thay đổi phụ thuộc vào thời gian. Sở thích cá nhân hay thông tin về ngữ cảnh được c ung cấp sẵn.  D TG sẽ lên lịch một tour dựa theo hồ sơ cá nhân của khách du lịch. Khái niệm về hướng dẫn du lịch theo ngữ cảnh cũng được đề cập nhưng DTG xử lý vấn đề này tốt hơn.  Cyberguide: L à 1 trong những hướng dẫn viên du lịch đầu tiên. Nó làm việc với sự trợ giúp của GPS và tia hồng ngoại để nhận biết những thông t in ngữ cảnh như vị trí của người dùng và sự điều hướng. Tour không được định trước, nhưng người dùng vẫn có thể nhận thông tin về bất cứ thứ gì, bất cứ địa điểm nào mà họ nhìn thấy. Yêu cầu về 1 đường dẫn tới những địa điểm ưa thích cũng có thể được đáp ứng. Bên cạnh đó, nó cũng cho phép tạo nhật ký về toàn bộ tour . Khác biệt chính là sự tính toán trước về toàn bộ tour du lịch dựa trên những sở thích của khách du lịch trong hệ thống DTG.  Dự án Crumpet: Cho phép 1 thiết bị di động tìm ra một địa điểm nhất đ ịnh, thể hiện nó trên bản đồ và tính toán 1 đ ường tới địa điểm đó. Địa điểm tham quan được tìm thấy trên bản đồ và người dùng phải quyết định xem có đủ thời gian hay có nê n tham quan không.  P hần mềm phát triển bởi eNarro: C ung cấp những tour định sẵn, giới thiệu những địa điểm nổi tiếng ở những thành phố lớn trên thế giới. Khách du lịch cần có 1 chiếc PDA và 1 thiết bị đặc biệt dành cho những tour đặc biệt. Họ cũng cần có 1 phần mềm điều hướng, hướng dẫn họ đến 1 địa điểm khác. Những thông tin hướng dẫn sau đó sẽ được truyền tải tới người dùng nhờ vào thiết bị nghe nhìn đặc biệt.  N gười dùng chỉ có thể chọn những tour được định sẵn – phù hợp với mục đích quảng bá. Những tour du lịch đã được định sẵn không phải là mục tiêu của DTG, cái m à nó hướng đến là tạo ra một tour du lịch mang tính cá nhân hóa trong thời gian thực. Bên cạnh đó, nó cũng chú trọng đến những bối cảnh thực tại như thời gian đóng/mở cửa 5
  12. bằng cách luôn cập nhật thông tin qua web service. Những thách thức mà DTG cần giải quyết là: Thu thập những thông tin về sở thích cá nhân của khách du lịch để tạo 1 hồ sơ hoàn chỉnh. Xếp hạng của TBBs(danh sách các địa điểm mà ta sẽ thăm) bằng cách kết hợp ngữ nghĩa. Đưa ra 1 tour du lịch trong thời gian sớm nhất có thể . Nhận biết ngữ cảnh, môi trường. Giám sát tour và điều hướng tour phù hợp. 1 .5. Cấu trúc D TG Mỗi địa điểm, giống như một thành phần có thể có của TBB, chúng là mô hình ngữ nghĩa của một nhà cung cấp nội dung sử dụng Authoring tool DTG. Mỗi TBB sẽ có một WS( Web Service) riêng của nó. Một dịch vụ được cung cấp giốn g như là nhà hàng thì sẽ nằm tro ng hệ thống các các địa điểm nhà hàng và được quản lý bởi một WS. WS sẽ cung cấp các mô hình ngữ nghĩa, các thông tin hiện thời như là giờ mở cửa, đóng cửa, hình thức giao dịch của cửa hàng… Các WS c ủa các TBB sẽ được đăng ký tại UDDI( Universal Description, Discovery, and Integration). M áy chủ DTG sẽ thực hiện thuật toán phù hợp theo ngữ nghĩa để xếp hạng các điểm tham quan cho một khách du lịch cụ thể. Các thiết bị di động sẽ xác định được vị trí củ a nó, nếu ở trong t hành phố t hì sẽ thông qua một hệ thống định vị toàn cầu GPS hoặc bên trong các tòa nhà như là bảo tàng t hì sẽ thông qua mạng WLAN, lưới hồng ngoại hoặc RFIDs. 6
  13. Hình 1.1: Phát hiện đựa trên ngữ cảnh, môi trường Sau khi đã chọn được một điểm du lịch, thì phần mềm định vị sẽ mô phỏng các tour du lịch trên bản đồ, và hướng dẫn khách du lịch qua các tín hiệu âm thanh. DTG sẽ luôn theo dõi hành trình của các tour du lịch bằng cách thay đổi theo ngữ cảnh. Ví dụ như du khách thay đổi tốc độ di chuyển, đến một mức nào đó thì sẽ kích hoạt một tính toán nào đó để đảm bảo đến được điểm mong muốn trong thời gian đã được định sẵn. 1 .6. Xác định ngữ cảnh Bất kỳ một tính năng đặc trưng của một thực thể đều bị chi phối bởi ngữ cảnh của nó. Ngữ cảnh này s ẽ được chia ra làm các dạng khác nhau: 1. Ngữ cảnh cá nhân: Ngữ cảnh cá nhân bao gồm những thông tin cá nhân. Nó được xác định bởi các yếu tố tĩnh như tên, sở thích, thói quen như là tốc độ đi bộ, màu sắc… 2. Ngữ cảnh địa điểm: Ngữ cảnh địa điểm bao gồm các thông tin về môi trường, như là độ dài các con đường, số lượng các vị trí thực tế trên một con đường, thời tiết tại đó… 3. Hỗ trợ khám phá: Ngữ cảnh dịch vụ là miêu tả các dịch vụ có sẵn . Hệ thống nhận thức ngữ cảnh có khả năng thích ứng được với các chức năn g vì nó có khả năng lọc ra các thông tin theo ngữ cảnh. Đây được gọi là trí thông minh thích ứng với môi trường xung quanh. Ngữ cảnh cá nhân được ánh xạ đến ngữ cảnh dịch vụ với từng địa điểm một. DTG sẽ làm việc bằng cách phát hiện các vị trí gần vị 7
  14. trí hiện tại và yêu cầu các thông tin sẵn có, và đánh giá chúng theo sở thích cá nhân và tạo ra một tour du lịch trong một khoản thời gian giới hạn. DTG sẽ phụ thuộc vào các ngữ cảnh sau đây: Khoảng thời gian sẵn có, các tour du lịch sẽ khác nhau về độ dài. Vị trí hiện tại, điểm bắt đầu và điểm cuối là khác nhau. Thời gian hiện tại(ngày hoặc mùa) . Ví dụ như thời gian đóng mở cửa của các nhà hàng hoặc triển lãm. Sở thích cá nhân. Các điểm thăm quan lựa chọn sẽ được thay đổi cho phù hợp. Ngoài ra các DTG sẽ luô n giám sát các tour du lịch, bất kỳ sự thay đổi về tốc dộ di chuyển thì DTG sẽ điều chỉnh thích hợp để du khách đến được nơi đúng giờ. Tốc dộ di chuyển và thời gian cho một tour sẽ đưa ra các chú ý về vấn đề thời gian. Hướng đi của du khách tại vị trí hiện tại có thể được thể hiện bằng các hình ảnh trực quan trên màn hình điện thoại, và các thông tin phù hợp về vị trí đó. 1.7 . Kết luận D TG sử dụng công nghệ tiên tiến để tạo ra các tour du lịch theo ngữ cảnh. Độc lập với vị trí và thời gian, xác định thông t in cần thiết bằng cách xác định và truy vấn đến các web service có sẵn. Nó hỗ trợ khách du lịch bằng cách đưa ra các dướng dẫn chuyển hướng và cung cấp thông tin đúng lúc, đúng chỗ. Bất kỳ ảnh hưởng nào, hay quyết định tự phát của khách du lịch sẽ được phả n hồi về server. 8
  15. Chương 2. Ứng dụng “hướng dẫn du lịch qua mobile theo ngữ cảnh” Mấy năm gần đây việc phát triển các ứng dụng trên điện thoại di động đã trở lên phổ biến. Sự gia tăng về dung lượng bộ nhớ và tốc độ xử lý trên điện thoại đi động cho phép ta phát triển các ứng dụng mà trước kia tưởng chừng như chỉ có thể phát triển trên desktop. Và sự ra đời của các ngôn ngữ lập trình cho điện thoại càng làm việc phát triển ứng dụng tr ên di động thêm dễ dàng và thú vị . Hướng dẫn du lịch qua sách báo, hướng dẫn viên, hay internet đã quá q uen thuộc với mọi người. Mỗi phương thức đều có ưu khuyết điểm riêng nhưng tựu chung lại chúng đều t hiếu tính độc lập cao, ví dụ muốn tìm hiểu du lịch qua i nternet thì ta phải cần một chiếc máy tính để bàn khá là cồng kềnh, hướng dẫn viên thì ta phải luôn đi theo họ... Vì vậy phát triển ứng dụng hướng dẫn du lịch trên mobile là hết sức hợp lý và thích hợp trong thời điểm này, ứng dụng có thể khai thác triệt để các tính năng của điện thoại di động như là tính độc lập, tức là người sử dụng luôn có thể mang theo máy di động bên mình, về thông tin hiển thị trên mobile về cơ bản chín h là thông tin hiển thị trên máy tính để bàn. Ứng dụng mà chỉ dùng để hiể n thị thông tin trên di động thay vì hiển thị trên desktop thì về cơ bản không có gì là đáng chú ý lắm. Điểm mấu chốt ở đây là sự thông minh của ứng dụng, tức là từ truy vấn của người sử dụng thì thông tin trả về là khác nhau qua mỗi lần truy vấn, và tùy thuộc vào đối tượng truy vấn mà thông tin trả về cũng khác nhau. Một ứng dụng đ iện thoại thông minh, đặc biệt là ứng dụng hướng dẫn du lịch trên điện thoại thì có thể coi như là một người bạn đồng hành và hướng dẫn viên du lịch nhiệt tình, cần là có. Xuất phát từ ý tưởng đó, ứng dụng “hướng dẫn du lịch qua mobile theo ngữ cảnh” đã ra đời, với mục đích tra cứu thông tin du lịch mọi chỗ mọi lúc. 2.1. Ngữ cảnh của chương trình Đây là ứng dụng hướng dẫn du lịch qua mobile theo ngữ cảnh. Vì vậy sự thông minh của chương trình phụ thuộc rất nhiều vào lượng ngữ cảnh mà người dùng đưa vào. Ngữ cảnh càng nhiều thì thông tin sẽ được trả về theo nhiều lớp, điều này sẽ giúp khách du lịch có được một hướng dẫn thích hợp nhất . N hư ở chương một thì “ngữ 9
  16. cảnh là tất c ả những thông tin hiện thời về một địa điểm nhất định, một khoảng thời gian nhất định”, c ác ngữ cảnh mà tôi đưa vào chương trình là:  Thời gian: Một ngữ cảnh hết sức quan trọng, nó là ngữ cảnh chính của chương trình. Đi du lịch thì vấn đề là hết sức quan trọng và thời gian cũng là một ngữ cảnh luôn thay đổi, vì vậy việc thích ứng với sự thay đổi về thời gian để đưa ra một tour du lịch thích ứng là cần thiết.  Font: Đối tượng du lịch là rất da dạng trẻ, già… Ngoài chất lượng của thông tin hướng dẫn thì vấn đề hiển thị cũng rất quan trọng, góp phần quan trọng vào sự thân thiện của chương trình với người dùng. Không có gì khó chịu hơn là khi ta mắt kém mà nhìn vào màn hình với những dòng chữ nhỏ , hay m àn hình hiển thị tương đối nhỏ mà chữ thì to choáng hết màn hình.  P rofile: Đây là thông tin về người sử dụng, được lưu trong cơ sở dữ liệu trên server. Để sử dụng chương trình thì người dùng phải đăng nhập vào hệ thống, trong đó những thông tin được lưu trữ như là tên, tuổi, giới tính…Những yếu tố này cũng là một thành phần ngữ cảnh của chương trình. 2 .2. Mô hình kết nối 10
  17. Hình 2.1: Mô hình kết nối • Ứng dụng viết trên điện thoại di động sử dụng ngôn ngữ J2ME. • Web server sử dụng JSP. • Cơ sở dữ liệu sử dụng MySQL. Ứng dụng viết trên điện thoại đóng vai trò là 1 client giao tiếp với server thông gia GPRS được cài đặt trên điện thoại thông qua giao thức H TTP. Dựa vào các request/response từ phía client thì server sẽ truy vấn đến cơ sở dữ liệu MySQL thông qua các store procedures. Khi người dùng chạy ứng dụng trên, và tiến hành đăng nhập vào chương trình, khi người dùng có một thao tác bất kỳ trên ứng dụng và gửi 1 request đến server dưới dạng gói tin, gói tin sẽ được gửi dưới dạng sóng GPRS đến trạm điện thoại, tại đây sẽ có thiết bị chuyển các gói tin dạng sóng GPRS sang dạng tín hiệu truyền trong đường truyền hữu tuyến Internet. Lúc này nhà cung cấp dịch vụ di động đóng vai trò như là một gateway, làm trung gian liên lạc cho thiết bị di động và webserver. Gói tin được được máy di động gửi đến webserver là những gói tin HTTP request, và thiết bị di động sẽ nhận được các HTTP response từ webserver. Các gói tin H TTP request và HTTP response này sẽ chứa bên trong các thông điệp SOAP request và SOAP response tương ứng. Các thông điệp SOAP sẽ chứa các operation dùng để xử lý kết nối đến cơ sở dữ liệu tạo thành mô hình truy cập hàm từ xa RPC(Remote P rocedure Call). Các gói tin HTTP response sẽ đến nhà cung cấp mạng di động, chuyển thành tín hiệu GPRS và về đến client. Yêu cầu duy nhất trên điện thoại di động để giao tiếp được với server là diện thoại phải hỗ trợ GPRS và có thư viện JSR 172. Thư viện JSR 172 có chức năng tạo ra các thông điệp SOAP và phân tích nội dung các thông điệp này. Nếu không có thư viện này thì điện thoại không thể giao tiếp được với server. 2 .3. Thiết kế cơ sở dữ liệu 2.3.1. Các bảng dữ liệu của chương trình user_name (id , password, name, age, sex). info (infoID, label, image, content, brotherID, childID). log(id , date, route, font, time, level). 2.3.2. Chi tiết các bảng 11
  18. User_name : Bảng chứa thông tin về người dùng. . Kiểu Nội dung Thuộc tính Tên Mã đăng nhập chương trình của người Khóa chính id varchar dùng Mật khẩu dùng để đăng nhập chương password varchar trình Họ tên đầy đủ của người dùng name varchar Tuổi của người dùng age int Giới tính của người dùng(1=Nam, Sex int 0=Nữ) Hình 2.2: Bảng user_name Info : Bảng chứa thông tin về tất cả các địa điểm, địa danh có trong cơ sở dữ liệu. Kiểu Nội dung Thuộc tính Tên Kí hiệu mã thông tin infoID varchar Khóa chính Tiêu đề của địa danh, địa điểm đó label varchar Ảnh đại diện của địa danh, địa điểm image blog đó mediumtext Nội dung thông tin của địa danh, địa content điểm đó Mã thông tin về địa điểm cùng mức brotherID varchar Khóa ngoài Mã thông tin về địa điểm con childID varchar Khóa ngoài Hình 2.3: Bảng info Log : bảng chứa profile của người dùng. Kiểu Nội dung Thuộc tính Tên Mã đăng nhập chương trình của người id varchar Khóa chính dùng Ngày tháng của lần đăng nhập gần date varchar nhất Dấu vết lộ trình tham quan người route varchar dùng Font chữ của người dùng lựa chọn font varchar Thời gian mà người dùng có thể thăm time int Khóa ngoài quan Mức độ đưa ra thông tin theo ngữ level int Khóa ngoài cảnh Hình 2.4: Bảng log 12
  19. 2.4. Mô hình dữ liệu Hình 2.5: Mô hình dữ liệu Các operator của Web service truy vấn đến cơ sở dữ liệu: checkLogin(String id, String password): kiểm tra việc đăng nhập. getAgeOfUser (String id): lấy về tuổi của người dùng. getNameOfUser (String id): l ấy về họ tên của người dùng. getSexOfUser (String id): l ấy về giới tính của người dùng 0=Nữ, 1=Nam. getDateVisited(String id): t rả về ngày tháng thăm quan. updateDateVisited(String sdate, Str ing id): c ập nhập ngày tháng thăm quan của người dùng. getFont(String id): trả về font chữ mà người dùng lựa chọn update Font(String id, String font): cập nhập lại font chữ mà người dùng vừa mới lựa chọn. 13
  20. removeLog(String id): xóa tất cả những lộ trình mà chương trình lưu trong cơ sở dữ liệu. getLabel(String infoID): t rả về một mảng chứa label của từng địa điểm getContent(String infoID): l ấy ra thông tin về một địa điểm. getInfoID(String infoID): l ấy ID của một thông tin. getChildID(String infoID): l ấy ID của một địa điểm con. getFather(String infoID): t rả về ID của địa điểm cha getSize (String infoID): trả về số lượng các địa danh ở một mức thông tin nào đó. 2.5. C ài đặt thuật toán 2.5.1. Các khái niệm cơ bản về cây Chúng ta có thể xác định khái niệm cây bằng hai cách: đệ quy và không đệ quy. Trước hết chúng ta đưa ra định nghĩa cây thông qua các khái niệm trong đồ thị định hướng. Một ví dụ điển hình về cây là tập hợp các thành viên trong một dòng họ với quan hệ cha-con. Trừ ông tổ của dòng họ này, mỗi một người trong dòng họ là con của một người cha nào đó trong dòng họ. Biểu diễn dòng họ dưới dạng định hướng: quan hệ cha-con được biểu diễn bởi các cung của đồ thị, nếu A là cha của B, thì trong đồ thi có cung đi từ đỉnh A tới đỉnh B. Xem xét các đặc điểm của đồ thị định hướng này, chúng ta có định nghĩa cây như sau: Cây là một đồ thị định hướng thỏa mãn các tính chất sau: Có mộ t đỉnh đặc biệt gọi là gốc cây. Mỗi đỉnh C bất kỳ không phải là gốc, tồn tại duy nhất một đỉnh P có cung đi từ P đến C. Đỉnh P được gọi là cha của đỉnh C, và C là con của P. Có đường đi duy nhất từ gốc tới mỗi đỉnh của cây. 14
ADSENSE
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2