Đặc điểm chính của các thiết bị trong các hệ thống tính toán nhân rộng là sự nhận biết ngữ cảnh của chúng để cho phép chúng cung cấp các dịch vụ thíchứng một cách chủ động tới người dùng
Trang 2MỤC LỤC
Trang phụ bìa 1
Lời cam đoan 1
MỤC LỤC 3
Danh mục các ký hiệu, các chữ viết tắt 6
Danh mục bảng 7
Danh mục hình vẽ 8
MỞ ĐẦU 9
Chương 1: Tổng quan 9
1.1 Môi trường tính toán nhân rộng 9
1.1.1 Đặc điểm 9
1.1.2 Cơ hội và thách thức 10
1.1.2.1 Cơ hội 10
1.1.2.2 Thách thức 11
1.2 Ngữ cảnh 12
1.2.1 Các định nghĩa về ngữ cảnh 13
1.2.2 Các đặc trưng của thông tin ngữ cảnh 16
1.2.3 Phân loại các hạng mục ngữ cảnh 18
1.2.4 Mô hình làm việc cho ngữ cảnh 20
1.3 Nhận biết ngữ cảnh 21
1.3.1 Xu thế nhận biết ngữ cảnh và lợi ích trong tính toán nhân rộng 21
1.3.2 Nhận biết ngữ cảnh là gì? 22
1.3.3 Tính toán nhận biết ngữ cảnh 23
Chương 2 Biểu diễn và mô hình hóa ngữ cảnh 25
2.1 Các yêu cầu của mô hình thông tin ngữ cảnh 25
2.1.1 Tính không đồng nhất và di động (Heterogeneity and mobility) 26
2.1.2 Các mối quan hệ và sự phụ thuộc (Relationships and dependencies) 26
2.1.3 Thời điểm (Timeliness) 26
2.1.4 Không hoàn hảo (Imperfection) 26
2.1.5 Lập luận (reasoning) 27
2.1.6 Tính sử dụng được của các hình thức mô hình hóa (Usability of modelling formalisms) 27
2.1.7 Dữ liệu ngữ cảnh hiệu quả (Efficient context provisioning) 27
2.2 Các cách tiếp cận mô hình hóa ngữ cảnh 28
2.2.1 Các mô hình Giá trị - thuộc tính và Lược đồ đánh dấu (Markup-Scheme) 28
Trang 32.2.2 Các mô hình thông tin ngữ cảnh dựa vai trò các đối tượng
(Object-role Context Modelling) 28
2.2.2.1 Tổng quan CML 29
2.2.2.2 Hỗ trợ lập luận 30
2.2.2.3 Đánh giá 31
2.2.3 Các mô hình không gian của thông tin ngữ cảnh 32
2.2.3.1 Mô hình thông tin ngữ cảnh 32
2.2.3.2 Hỗ trợ lập luận 34
2.2.3.3Đánh giá 34
2.2.4 Các mô hình thông tin ngữ cảnh dựa bản thể học (Ontology-based Context Modelling) 35
2.2.4.1 Mô hình thông tin ngữ cảnh 35
2.2.4.2 Hỗ trợ lập luận 37
2.2.4.3 Đánh giá 38
2.2.5 Các mô hình ngữ cảnh lai 38
2.2.5.1 Tại sao các mô hình lai là cần thiết 38
2.2.5.2 Hai cách tiếp cận theo hướng lai 40
2.2.5.2.1 Mô hình lai dựa sự kiện/ontology 40
2.2.5.2.2 Mô hình kết hợp lỏng lẻo giữa markup-based/ontological 40
2.2.5.2.3 Hướng tới một mô hình lai phân cấp 41
Chương 3 Ứng dụng nhận biết ngữ cảnh và chương trình minh họa 44
3.1 Kiến trúc và phong cách kiến trúc hệ thống 44
3.1.1 Một số kiến trúc 45
3.1.2 Tiêu chí đánh giá kiến trúc theo mức phát triển của ứng dụng nhận biết ngữ cảnh 47
3.2 Các thành phần trong hệ thống 48
3.2.1 Context supplier 49
3.2.2 Context comsumer (bộ tiêu dùng ngữ cảnh) 49
3.2.3 Context Abstractor (bộ trừu tượng ngữ cảnh) 49
3.3 Các công việc cần thiết cho tính toán nhận biết ngữ cảnh 50
3.3.1 Các cơ chế thu hồi và cảm ngữ cảnh 50
3.4 Ứng dụng minh họa 52
Xây dựng tiện ích tìm kiếm quán cà phê theo ngữ cảnh tích hợp trên Smartphone Android: “Coffee Context Search” 52
3.4.1 Giới thiệu về hệ điều hành Android 52
3.4.1.1 Android là gì? 52
3.4.1.2 Kiến trúc Android 53
Trang 43.4.1.3 Công cụ phát triển phần mềm Android (Android SDK) 54
3.4.1 Xác định kịch bản và ngữ cảnh sử dụng trong hệ thống 56
3.4.2.1 Kịch bản sử dụng 56
3.4.2.2 Xác định ngữ cảnh và mô hình hóa 56
3.4.3 Mô hình kiến trúc hệ thống 57
3.4.4 Cài đặt ứng dụng 58
3.4.4.1 Xây dựng các modul 59
3.4.2.2 Modul Tìm kiếm 60
3.4.2.3 Modul Kết quả 60
Kết luận và hướng phát triển 62
Tài liệu tham khảo 64
Trang 5Danh mục các ký hiệu, các chữ viết tắt
API Application Programming Interface
CML Context Modeling Language
GPS Global Positioning System
ORM Object Role Modeling
OWL Ontology Web Language
PDA Personal Digital Asistant
RDF Resource Description Framework
SDK Software Development Kit
WGS World Geodetic System
Trang 6Danh mục bảng
Bảng 1 Các thuộc tính đặc trưng của ngữ cảnh 18
Bảng 2 Phân loại các chiều của ngữ cảnh 19
Bảng 3 Các giá trị của sự kiện “located at” 31
Bảng 4.Tổng kết các kiến trúc 47
Trang 7Danh mục hình vẽ
Hình 1.1 Mô hình ngữ cảnh 16
Hinh 1.2 Kiến trúc quản lý ngữ cảnh mức cao 16
Hình 1.3 Tổng quan các hạng mục ngữ cảnh 20
Hình 1.4 Không gian đặc tính ngữ cảnh 21
Hình 2.1 Vị trí của mô hình ngữ cảnh trong hệ thống nhận biết ngữ cảnh 25
Hình 2.2 Một ví dụ về mô hình biểu diễn ngữ cảnh với CML 30
Hình 2.3 Framework đa lớp 42
Hình 3.1 Các thành phần hệ thống nhận biết ngữ cảnh 49
Hình 3.2 Thu hồi ngữ cảnh 50
Hình 3.3 Phát hiện ngữ cảnh 51
Hình 3.4 Cấu trúc diễn giải ngữ cảnh 52
Hình 3.5 Kiến trúc Android 53
Hình 3.6 Mô hình hóa ngữ cảnh hệ thống 57
Hình 3.7 Mô hình kiến trúc hệ thống 58
HÌnh 3.8 Giao diện giả lập Android 59
Hình 3.9 Giao diện nhập thông tin quán cà phê 60
Hình 3.10 Giao diện tìm kiếm 60
Hình 3.11 Giao diện hiển thị kết quả tìm kiếm 61
Trang 8MỞ ĐẦU Chương 1: Tổng quan
1.1 Môi trường tính toán nhân rộng
Máy tính đã được nâng tầm vượt xa máy tính để bàn và phát triển thànhnhiều thành phần của cuộc sống hàng ngày Và với sự biến đổi không ngừng củacông nghệ, các thiết bị nhỏ gọn, di động xâm nhập trong hầu hết các lĩnh vựccủa đời sống Do đói môi trường tính toán mọi nơi/nhân rộng được hiểu chung
là các môi trường với ngữ cảnh luôn biến động làm thay đổi hành vi và cáchhành xử của con người và hệ thống trong môi trường đó Tính toán mọi nơi làmột kiểu tính toán trong ngữ cảnh: nó xảy ra trong các tình huống của thế giớithực Cho đến nay hầu hết các nghiên cứu mà đặc biệt là trong lĩnh vực tính toán
di động chủ yếu tập trung giúp cho việc sử dụng của các thiết bị máy tính làtrong suốt, độc lập với môi trường Nỗ lực nghiên cứu là khai thác ngữ cảnh.Trong đó các nghiên cứu báo cáo đang kiểm nghiệm các vấn đề: ngữ cảnh đượcthu thập, phân tán và sử dụng như thế nào, nó thay đổi tương tác người máytrong môi trường tính toán nhân rộng ra sao Các công nghệ cảm nhận cụ thểnhư các cảm biến vật lý mức thấp và các kỹ thuật nhận thức được đánh giá vàgiá trị của chúng cung cấp ngữ cảnh trong các hệ thống tính toán mọi nơi đượcphân tích
Các thiết bị ngày nay thường được sử dụng trong các môi trường luônnhiều biến đổi và chúng thích ứng vẫn chưa được tốt lắm theo những thay đổinày Một giả thiết rằng một số các nhà nghiên cứu tính toán mọi nơi để giúp cácthiết bị và các ứng dụng thích ứng một cách tự động với sự thay đổi của môitrường vật lý xung quanh chúng và các môi trường điện từ dẫn tới việc nâng caokinh nghiệm của người dùng
Thông tin trong các môi trường vật lý và điện tử tạo ra ngữ cảnh chotương tác giữa con người và các dịch vụ tính toán Như vậy ngữ cảnh là cácthông tin đặc trưng cho một tình huống có liên quan tới tương tác giữa ngườidùng, ứng dụng và môi trường xung quanh Hoạt động nghiên cứu đang pháttriển với tính toán nhân rộng sẽ giải quyết các thách thức của tính toán nhận biếtngữ cảnh Việc hiểu và điều khiển ngữ cảnh và xử lý nó như một đầu vào rõràng ảnh hướng lớn đến hành vi của một ứng dụng
1.1.1 Đặc điểm
Các môi trường tính toán hiện thời được đặc trưng bởi tính di động củangười dùng và sự không đồng nhất của các thiết bị tính toán và mạng, ngữ cảnhcủa các ứng dụng có thể thay đổi (kiểu mạng, chất lượng dịch vụ, sở thích ngườidùng, lượng pin của thiết bị tính toán) Do vậy, chúng cần hiểu ngữ cảnh và có
Trang 9thể điều chỉnh hành vi theo các thay đổi của ngữ cảnh Để giải quyết các tháchthức đang ngày càng tăng của việc xây dựng các ứng dụng cảm ngữ cảnh có tínhlinh động.
Có rất nhiều nỗ lực nghiên cứu cụ thể để ứng dụng các công nghệ tínhtoán nhân rộng ở thế giới thực Thực tế, khía cạnh quan trọng nhất trong môitrường tính toán nhân rộng không phải là công nghệ của chính nó nhưng cách nóđược sử dụng và thông qua thế giới thực như nào mới là đáng nói
Các ứng dụng thông tin di động được sử dụng ngày càng nhiều với các tìnhhuống và vị trí khác nhau tạo nên các yêu cầu mới với các phương thức tươngtác của chúng Khi tình huống, vị trí, hành động của người dùng thay đổi, chứcnăng của các thiết bị nên thích ứng với những thay đổi này
Đặc điểm chính của các thiết bị trong các hệ thống tính toán nhân rộng là
sự nhận biết ngữ cảnh của chúng để cho phép chúng cung cấp các dịch vụ thíchứng một cách chủ động tới người dùng và tới các ứng dụng theo ngữ cảnh toàncục
1.1.2 Cơ hội và thách thức
1.1.2.1 Cơ hội
Hầu hết chúng ta vẫn quen gắn thuật ngữ máy tính với một chiếc máy tính
để bản và màn hình sử dụng của nó Tuy nhiên trong cuộc sống ngày nay rấtnhiều người sử dụng các công cụ tính toán hay ít nhất là các kỹ thuật tính toánnhư các bộ xử lý và các bộ điều khiển rất nhỏ bé mà không hề liên quan gì đếnmáy tính Các thiết bị như điện thoại di động, thiết bị nghe nhạc MP3, Tivi vàmáy giặt…đều sử dụng các công nghệ tính toán và xử lý Nhưng đại đa số mọingười vẫn coi chiếc Tivi của họ chỉ là một chiếc tivi đơn thuần mà không có liênquan gì tới máy tính mà thực chất nó cũng chính là một chiếc máy tính chỉ cóđiều giao diện sử dụng thì hoàn toàn khác [2] Tương tác trong thế giới thựcđược đúc rút từ rất lâu và tri thức về cách hành xử với môi trường xảy ra hangngày trong cuộc sống đời thường Tri thức này cho phép hành xử một cáchthông minh, ví dụ như khả năng dự đoán các phản xạ với một số hành động…Trong môi trường tính toán mọi nơi/nhân rộng, thế giới thực trở thành một phầncủa máy tính và của giao diện người dùng, sự mong chờ của người dùng với hệthống cũng được mở rộng dựa trên kinh nghiệm về các tương tác trong thế giớithực Tuy nhiên, người thiết kế vẫn thoải mái khi tạo các xử lý tương tác trong
hệ thống Nhận biết ngữ cảnh trở thành một kỹ thuật hữu ích cơ bản đối với tínhtoán mọi nơi/nhân rộng và là yếu tố chính khi tạo các thiết bị tính toán ẩn giấu
và biến mất theo nghĩa là với người dùng Thuật ngữ “nhận
Trang 10Nếu ngữ cảnh chỉ đơn giản là vị trí thì việc có thể hiểu và nhận biết khônglấy gì làm khó khăn cho các hệ thống Tuy nhiên, trong nhiều trường hợp việc nhận biết này còn dựa trên các thông tin khác vượt xa cả vị trí, và do đó sự phức tạp bắt đầu nảy sinh Các thách thức trong tính toán nhận biết ngữ cảnh: - Phải hiểu khái niệm ngữ cảnh
Ngữ cảnh đó là gì và nó liên quan tới các tình huống trong thế giới thực như thếnào? Trong khi đó chúng ta vẫn chưa có một hiểu biết thật rõ ràng và cơ bản vềthuật ngữ “các ngữ cảnh liên quan tới các tình huống như nào” và thông tin ngữcảnh chung được sử dụng để hỗ trợ nâng cao các ứng dụng ra sao Vấn đề nàycũng đi kèm câu hỏi biểu diễn ngữ cảnh theo một cách chung nhất như nào?
- Sử dụng ngữ cảnh như nào?
- Thu hồi ngữ cảnh như thế nào?
Thu hồi ngữ cảnh là yêu cầu đầu tiên cho bất kỳ hệ thống nhận biết ngữ cảnhnào Nhìn chung, việc lấy ngữ cảnh có thể xem như là quá trình xử lý trong đótình huống thực trong thế giới được nắm bắt, các đặc tính hữu ích được xem xétđánh giá và một biểu diễn trừu tượng được tạo, sau đó nó được cung cấp tới cácthành phần trong hệ thống với những mục đích sử dụng cao hơn Các cách tiếpcận thu hồi ngữ cảnh thì rất đa dạng như: lần vết vị trí, các hệ thống cảm biến và
cả các cách tiếp cận mang tính chất dự đoán như mô hình hóa người dùng vàhành vi của họ…
- Kết nối ngữ cảnh thu được với ngữ cảnh sử dụng
Trong một hệ thống nhận biết vị trí, mối quan hệ giữa thu hồi ngữ cảnh và sửdụng ngữ cảnh là rất gần, hầu hết các cảm biến vị trí được nạp vào các thiết bịđịnh vị Trong trường hợp này, biểu diễn ngữ cảnh cũng là giữa các thành phần.Trong môi trường chung hơn, ngữ cảnh sử dụng và ngữ cảnh thu hồi được phân
Trang 11tán Ở đây, khó khăn thể hiện ở hai điểm: vượt quá khả năng phân tán bởi các thành phần mạng và tích hợp để biểu diễn với đa thành phần.
- Hiểu tác động trên tương tác người máy
Khi các thệ thống nhận biết ngữ cảnh thì hành vi của chúng là độc lập với ngữcảnh được dùng hoặc tình huống chung được dùng Mục tiêu chung là tạo chocác hệ thống theo cách có thể hành xử như được biết trước bởi người dùng Tuynhiên trong đời sống thực, điều này gây nên các vấn đề phức tạp, cụ thể như nếu
hệ thống hành xử khác với mong đợi của người dùng Hai tiêu chí là “người
dùng có thể hiểu hệ thống và hành vi của nó như nào” và “người dùng điều khiển hệ thống như thế nào?”
- Hỗ trợ xây dựng các hệ thống nhận biết ngữ cảnh mọi nơi/nhân rộng
Nhận biết ngữ cảnh là một kỹ thuật hữu ích cho các hệ thống tính toán nhânrộng và do đó đây là yêu cầu chung khi hiện thực các hệ thống như vậy Để xâydựng các môi trường tính toán nhân rộng một cách hiệu quả thì chúng ta cầnphải cung cấp hỗ trợ để xây dựng các ứng dụng nhận biết ngữ cảnh Đó là việccung cấp các kỹ thuật thu hồi ngữ cảnh, cung cấp ngữ cảnh và sử dụng ngữcảnh…
- Đánh giá hệ thống nhận biết ngữ cảnh
Vì các hệ thống nhận biết ngữ cảnh được sử dụng trong một ngữ cảnh nhất địnhnên việc đánh giá chính nó cũng đòi hỏi phải được thực hiện trong ngữ cảnh đó.Trong trường hợp này, chức năng không chỉ sẵn có và hữu ích trong một ngữcảnh chắc chắn mà nó còn được yêu cầu tạo hay mô phỏng một tình huống cụthể với các kết quả trong ngữ cảnh mong muốn để đánh giá hệ thống Tuy nhiên,tình huống và ngữ cảnh cụ thể ấy cũng phải phù hợp và có hiệu quả để làmthước đo cho việc đánh giá
Một thách thức nữa trong môi trường tính toán nhân rộng là cung cấp chongười dùng các ứng dụng cảm ngữ cảnh phức tạp, hoạt động một cách tự động
từ các dịnh vụ kết nối mạng [2]
1.2 Ngữ cảnh
Như vậy việc hiểu rõ ngữ cảnh là gì và các đặc trưng của ngữ cảnh ra sao làrất quan trọng khi xây dựng và phát triển các hệ thống trong môi trường tínhtoán nhân rộng Việc hiểu rõ ngữ cảnh hay loại ngữ cảnh cần dùng giúp ngườiphát triển có những phương pháp đặc tả và thiết kế phù hợp từ việc cảm nhận tớiviệc xử lý hành vi sao cho phù hợp với tính chất của các hệ thống trong môitrường hay thay đổi này Đó cũng là lý do mà ngay từ khi thuật ngữ “ngữ cảnh”này xuất hiện (1990), các nhà nghiên cứu đã bắt đầu đưa ra các định nghĩa về
Trang 12Ngữ cảnh và nhận biết ngữ cảnh đã bắt đầu được nghiên cứu trong tính toánphân tán với sức mạnh của các thành phần tính toán di động từ những năm 90.Những nghiên cứu từ rất sớm này đã nhận biết vị trí của người dùng và sử dụng
vị trí như là trung tâm của các tính toán nhận biết ngữ cảnh
Theo Schilit[23], ngữ cảnh là vị trí, các định danh gần người và các đốitượng cùng những thay đổi của đối tượng (1994) Cũng trong một định nghĩatương tự, Brown, Bovey và Chen xác định ngữ cảnh là vị trí, các định danh củanhững người xung quanh người dùng, thời gian trong ngày, mùa, nhiệt độ…(1997) Ryan, Pascoe và Morse xác định ngữ cảnh là vị trí của người dùng, môitrường, định danh và thời gian Dey đã liệt kê ngữ cảnh là trạng thái cảm xúccủa người dùng, tập trung vào ý tưởng, vị trí, ngày giờ, các đối tượng và conngười trong môi trường của người dùng (1998) Các định nghĩa này xác địnhngữ cảnh bằng ví dụ nên rất khó khăn trong việc ứng dụng Khi xem xét tiềmnăng của kiểu dữ liệu mới là thông tin ngữ cảnh thì việc khái niệm như thế nàokhông rõ ràng để chúng ta có thể quyết định liệu nên phân lớp thông tin này làngữ cảnh hay không Ví dụ như với sở thích và các mối quan tâm của ngườidùng
Cũng theo các định nghĩa trên chúng ta có thể thấy rằng các khía cạnhquan trọng nhất của ngữ cảnh là: người dùng đang ở đâu, người dùng đang ởcùng ai và các tài nguyên gần đó Và ngữ cảnh này là cố định với những thay đổicủa môi trường thực thi Môi trường ở đây gồm ba yếu tố
- Môi trường tính toán: bộ xử lý có sẵn, các thiết bị truy cập cho người dùng với đầu vào và hiển thị, khả năng mạng, các kết nối, chi phí tính toán
- Môi trường người dùng: vị trí, tập những người gần kề, tình huống xã hội
- Môi trường vật lý: ánh sáng, mức độ nhiễu, ồn…
Trang 13Dey, Abowd và Wood định nghĩa ngữ cảnh là trạng thí vật lý, xã hội, cảmxúc và thông tin của người dùng.
Khái niệm về ngữ cảnh vẫn là một vấn đề cần bàn luận trong suốt nhữngnăm qua với nhiều định nghĩa khác nhau được đưa ra Chúng được chia thànhđịnh nghĩa mở và định nghĩa đóng
Các định nghĩa mở rộng trình bày về ngữ cảnh thông qua một danh sách
các chiều ngữ cảnh có thể có và các giá trị đi kèm của chúng Ngữ cảnh đượcbiểu diễn bởi vị trí người dùng, các đối tượng xung quanh Brown [19] địnhnghĩa ngữ cảnh là vị trí, gần với người khác, nhiệt độ, thời gian…Trong [1], kháiniệm ngữ cảnh được chia theo 3 hạng mục: ngữ cảnh tính toán (mạng, hiển thị,
…), ngữ cảnh người dùng (đặc tả, gần người đó, tình huống xã hội,…) và ngữcảnh vật lý (ánh sáng, tiếng ồn…) Chen [11] thêm 2 hạng mục: ngữ cảnh thờigian (ngày,tháng,…) và lịch sử
Các định nghĩa đóng biểu diễn ngữ cảnh theo cách thông thường định
nghĩa của Dey Theo Brazie và Brezillion, “ngữ cảnh hoạt động giống như tậpcác ràng buộc ảnh hướng đến hành vi của một hệ thống (một người dùng haymột máy tính) nhúng trong một nhiệm vụ nào đó”
Các định nghĩa mở dường như hữu ích trong các ứng dụng cụ thể hơn, vì
ở đó khái niệm ngữ cảnh được làm rõ Tuy nhiên, từ góc nhìn lý thuyết thìchúng không hoàn toàn chính xác vì ngữ cảnh không thể được vạch ra chỉ bởi vàikhía cạnh Mặt khác các định nghĩa đóng thì được sử dụng ít trong thực tế nhưng
nó lại thỏa mãn về mặt lý thuyết
Các ứng dụng nhận biết ngữ cảnh tìm kiếm ai, ở đâu, khi nào và làm gì
(tức là hành động nào đang xảy ra) của các thực thể và sử dụng thông tin này đểxác định tại sao một tình huống đang xảy ra Một ứng dụng không xác địnhđược thực sự tại sao một tình huống dang xảy ra nhưng người thiết kế ứng dụngthì có thể làm được điều đó Người thiết kế sử dụng các ngữ cảnh nắm bắt được
để xác định tại sao lại có tình huống đó và sử dụng điều này để lập trìnnh cáchành động trong ứng dụng [2]
Và cho đến nay, với một lượng khá lớn các hệ thống được xây dựng trongmôi trường tính toán nhân rộng, thì khái niệm ngữ cảnh của Dey vẫn được sửdụng nhiều nhất và có thể coi gần như là chuẩn
Dey [11] định nghĩa ngữ cảnh là “bất kỳ thông tin nào mà có thể sử dụngđược để đặc tả một tình huống của một thực thể Một thực thể là một người, mộtnơi hay một đối tượng được xem là có liên quan đến tương tác giữa người dùng
và ứng dụng, bao gồm cả chính người dùng và ứng dụng đó” Đồng thời, ôngcũng cung cấp định nghĩa sau: “Một hệ thống sử dụng ngữ cảnh để cung cấp các
Trang 14thông tin liên quan hoặc các dịch vụ cho người dùng trong đó mối liên quan phụthuộc vào nhiệm vụ của người dùng” cho tính toán nhận biết ngữ cảnh
Albrecht Schmidt [3] xác định không gian ngữ cảnh C với định nghĩa là
sự kết hợp của các tham số ngữ cảnh, các phần tử ontology miền và các miêu tảdịch vụ C={U,P,L,T,D,I,S}
Trong đó: U là tập các nhân tố Người dùng & vai trò, P là Tác vụ & xử lý,
L là vị trí, T là thời gian, D là thiết bị, I là các đối tượng thông tin sẵn có, S làcác dịch vụ sẵn có hoặc được miêu tả Một ngữ cảnh cụ thể là một điểm trongkhông gian ngữ cảnh
Không gian liên quan R có thể được định nghĩa là sản phẩn của không gian ngữ cảnh với các nhân tố liên quan
R=C*
Ngữ cảnh
Tự thích ứng (Trạng thái thiết bị, đặc điểm vật lý… )
Hành động Môi trường ( vật lý, xã hội) (hành xử, tác vụ)
Trang 15Hình 1.1 Mô hình ngữ cảnhViệc quản lý ngữ cảnh trong một hệ thống được thể hiện như trong hình2.1 Trong đó mỗi thành phần có một chức năng nhiệm vụ liên quan tới ngữcảnh riêng Các thành phần như Bộ triệu gọi ngữ cảnh, lập luận ngữ cảnh, quản
lý lịch sử ngữ cảnh và quản lý cơ sở dữ liệu của ngữ cảnh có mối quan hệ chặtchẽ với nhau Cụ thể, việc lập luận ngữ cảnh cần phải lấy thông tin từ cơ sở dữliệu và lịch sử ngữ cảnh Bộ triệu gọi ngữ cảnh lấy thông tin từ cơ sở dữ liệu, bộlập luận, lịch sử ngữ cảnh theo từng tình huống cụ thể của dịch vụ Bộ quản lý
cơ sở dữ liệu có chức năng lưu trữ mọi thay đổi của ngữ cảnh sau mỗi tác vụ.Ngoài ra còn có bộ quản lý ngữ cảnh nguồn, có nhiệm vụ truy xuất thông tin từcác nguồn phát sinh và lưu trữ dưới hai hình thức: ngữ cảnh lịch sử và ngữ cảnhhiện thời
Dịch vụ quản lý ngữ cảnh
Quản lý lịch
sử
Dữ liệu lịch sử ngữ cảnh
Triệu gọi ngữ cảnh
Quản lý CSDL
ngữ cảnh
Quản lý ngữ cảnh nguồn
Lập luận ngữ
cảnh
Cơ sở dữ liệu ngữ cảnh
Nguồn ngữ cảnh
Hình 1.2 Kiến trúc quản lý ngữ cảnh mức
cao 1.2.2 Các đặc trưng của thông tin ngữ cảnh
Trong phầ n này, theo Karen [16] thông tin ngữ cảnh có 4 đặc điểm đượccho trong bảng 1 sau Theo đó, ta thấy đặc trưng ngữ cảnh phụ thuộc vào hai yếu
tố như: kiểu nhận biết ngữ cảnh, nguồn thu thập Điều đó ảnh hưởng tới giá trịthuộc tính của ngữ cảnh Ví dụ nến kiểu nhận biết ngữ cảnh là các Cảm biến thìkhả năng tồn tại của thông tin ngữ cảnh là không cao, chất lượng thông tin có
Trang 1617thể chưa tốt tại một thời điểm nhất đinh khi gặp các sự cố như: thiết bị có lỗi, mất mạng…
Trang 17Bảng 1.1 Các thuộc tính đặc trưng của ngữ cảnh
Thấp Có thể có lỗi biến, mất mạng,biến và logic
ngắt mạng…
Do người dùngĐặc tả đặc tả trực tiếp
Mãi mãi Có thể không Lỗi con người(profiled) hoặc gián tiếp qua chắc chắn
chương trình
Được Các thông tin ngữ Dựa vào việc Đầu vào không
Biến đổi xử lý của đầy đủ, cơ chếphát sinh cảnh khác
nguồn phát nguồn…Ngoài ra khi nghiên cứu về các đặc trưng ngữ cảnh, còn một số vấn đề sau:
- Chưa xác định khi không có thông tin nào về vật chất là sẵn có
- Mơ hồ (tối nghĩa) khi có một số báo cáo khác nhau về vật chất ví dụ 2 vị trí cùng được đọc cho một người được lấy từ các thiết bị định vị riêng
- Ko chính xác: khi trạng thái được báo cáo không đúng với trạng thái đúng ví
dụ khi vị trí của 1 người được biết trong miền giới hạn, nhưng vị trí trong miền nàykhông được chốt cho mức độ yêu cầu chuẩn xác
- Sai: khi có lỗi giữa trạng thái được báo cáo và trạng thái thực của vật chất
Tính chưa xác định thường là do các vấn đề về kết nối và cảm biến và các lỗi
khác Thông tin mơ hồ phát sinh khi giá trị của một vật chất có thể được lấy một
cách độc lập từ nhiều nguồn Thông tin ngữ cảnh được lấy từ cảm biến là thường
xuyên thay đổi và chấp nhận các vấn đề như tính không chính xác và staleness
(cũ tính chưa cập nhật) Thông tin ngữ cảnh được cung cấp bởi người dùng
thường chậm thay đổi, kiểu thông tin này được gọi là tĩnh (tức không bao giờ
thay đổi nên độ chính xác cao) Kiểu thông tin ngữ cảnh profiled được lấy trực
tiếp từ người dùng trong form về đặc tả thông tin của họ hoặc lấy gián tiếp qua
ứng dụng của họ [16], ví dụ phần mềm lập lịch duy trì lịch sử hoạt động của
người dùng Thông tin profiled thường cũ và không đầy đủ Cuối cùng, đặc điểm
về thông tin mong muốn thường đượ c xác định rộng bởi cá kiểu thông tin cơ
bản
1.2.3 Phân loại các hạng mục ngữ cảnh
Schilit [7] xác định 3 loại ngữ cảnh:
Trang 18- Ngữ cảnh thiết bị: là các thông tin ngữ cảnh liên quan đến thiết bị như khả năng xử lý của CPU, bộ nhớ, mạng…
Trang 19- Ngữ cảnh người dùng: gồm có thông tin người dùng, sở thích người dùng
và cả thông tin về các ứng dụng của người dùng
- Ngữ cảnh vật lý như vị trí, thời tiết, ánh sáng…
Tất cả những thông tin ngữ cảnh này đến từ nhiều đối tượng khác nhau trongmôi trường xung quanh như các cảm biến, các ứng dụng và các thiết bị Và cácđối tượng cung cấp ngữ cảnh này là không đồng nhất và được thể hiện trong một
mô hình chung cần được định nghĩa khá tốt để người dùng ứng dụng có thể hiểu.Pash [22] phân loại ngữ cảnh thành 4 chiều là ngữ cảnh tĩnh người sử dụng,ngữ cảnh động của người dùng, kết nối mạng và ngữ cảnh môi trường Mỗichiều ngữ cảnh được miêu tả bởi tham số ngữ cảnh tương ứng, ví dụ tham sốngữ cảnh tĩnh của người dùng là profile, các sở thích, mối quan tâm của anh ta…
Bảng 2 Phân loại các chiều của ngữ cảnh
Ngữ cảnh tĩnh của người
Profile, thói quen, sở thíchdùng
Ngữ cảnh động của người Vị trí, nhiệm vụ hiện thời hoặc có
liên quan tới người hay đối tượngdùng
khácNgữ cảnh môi trường Thời tiết, tiếng ồn, thời gian
Kết nối mạng Đặc tính mạng, các đặc tả thiết bị di
động đầu cuốiĐối với những ngữ cảnh này, có 3 loại hành động được thể hiện Bộ tíchhợp ngữ thu thập dữ liệu ngữ cảnh thô từ các cảm biến để làm tăng dữ liệu Bộphân tích ngữ cảnh chuyển dữ liệu thô từ cảm biến thành các ngữ cảnh mức cao
mà con người có thể hiểu Các ngữ cảnh mức cao được tạo từ dữ liệu khác vớicác nguồn dữ liệu ngữ cảnh theo các chiều khác nhau (vị trí, nhiệt độ…) Bộdiễn dịch thực hiện bằng việc sử dụng các luật
Câu hỏi cách tích hợp các phần tử ngữ cảnh, hay các tham số như thế nàotrong một mô hình ứng dụng được tiếp cận theo 2 cách khác nhau Đầu tiên, cóthể hiểu là cho phép định nghĩa tùy ý các tham số ngữ cảnh và kết hợp tùy ý vớicác phần tử của ontology miền Điều này sẽ cung cấp tính linh hoạt tối đa trongviệc liên kết các tham số ngữ cảnh và các phần tử miền lĩnh vực, và đảm bảo môhình có khả năng biểu diễn không giới hạn về mặt lý thuyết Cách tiếp cận thứ 2
là xác định một hạng mục các tham số ngữ cảnh, và yêu cầu các giá trị đặc tả
Trang 20liên quan tới miền lĩnh vực để gán cho mỗi lớp Điều này dường như là một hạnchế chính cho mô hình khái niệm, tuy nhiên việc sử dụng cụ thể chúng ta mặc
Trang 21định rằng việc nhóm các tham số là không thể tránh khỏi (xem hình 1.3), từ triển
vọng mô hình hóa và việc sử dụng Vì chúng ta giả thiết rằng các biểu mẫu
tương tác với người được yêu cầu để hoàn thành và điều chỉnh mô hình, việc
nhóm các tham số là rất cần thiết để người dùng duy trì một cái nhìn tổng quan
về mô hình Mặc khác, chúng ta giả thiết rằng không phải tất cả các phần tử ngữ
cảnh đều sẽ được liên kết với ontology miền Điều này có nghĩa sẽ có một khái
niêm “hàng xóm” hoặc cụ thể hơn là khoảng cách giữa các phần tử ngữ cảnh;
các phần tử chắc chắn sẽ liên quan tới một ngữ cảnh được cho, thậm chí chúng
không được liên kết trực tiếp tới miền lĩnh vực Để đạt được một hàng xóm, một
số biểu mẫu các hạng mục được yêu cầu Hơn nữa Use& Role cung cấp một
hạng mục về người dùng theo các nguyên tắc của họ như các kiểu khách hàng,
hay các kiểu nhân viên khác nhau
Tác vụ và xử lý biểu diễn một ngữ cảnh chức năng như các đối tượng
công việc cho nhân viên
Vị trí là một hạng mục của vị trí có liên quan đến ứng dụng, có thể là
thành phố…
Thời gian thể hiện kiểu khác của thông tin thời gian có thể liên quan như
vùng thời gian của client, thời gian thực, thời gian ảo…
Thiết bị
Vị trí
Người dùng và vai trò Vị tríHình 1.3 Tổng quanTácvụ cácvàxửhạnglý mục ngữ cảnh
1.2.4 Mô hình làm việc cho ngữ cảnh
Cấu trúc khái niệm theo[2] như sau:
- Một ngữ cảnh miêu tả một tình huống và môi trường mà một thiết bị hay
người dùng ở trong đó
- Một ngữ cảnh được xác định bởi một tên duy nhất
- Mỗi ngữ cảnh có một tập các đặc tính liên quan
- Mỗi đặc tính liên quan có một miền giá trị xác định (rõ ràng hoặc không
rõ ràng) bởi ngữ cảnh
Trang 22Theo như cách xác định này, ngữ cảnh liên quan tới nhân tố con người vàngữ cảnh liên quan tới môi trường vật lý được phân biệt rõ ràng, và đượcphân theo từng hạng mục như hình 1.4 sau:
Hình 1.4 Không gian đặc tính ngữ cảnhNgữ cảnh liên quan tới nhân tố con người được cấu trúc theo ba hạng mục:thông tin về người dùng (tri thức về hành vi thói quen, trạng thái cảm xúc,điều kiện tâm sinh lý…), môi trường xã hội của người dùng (cùng vị trí vớinhững người nào khác, tương tác xã hội, nhóm tham gia,…) và các tác vụ củangười dùng (hoạt động tự nguyện, nhiệm vụ thực thi, mục tiêu chung…).Cũng tương tự, ngữ cảnh liên quan tới môi trường vật lý được phân thành banhóm: vị trí (vị trí chắc chắn, vị trí liên quan, cùng vị trí…), cơ sở hạ tầng(các tài nguyên xung quanh dùng để thực hiện tính toán, sự giao tiếp …) vàcác điều kiện vật lý (nhiễu, ồn, ánh sáng, áp suất…)
1.3 Nhận biết ngữ cảnh
1.3.1 Xu thế nhận biết ngữ cảnh và lợi ích trong tính toán nhân rộng
Nhận biết ngữ cảnh đang nổi lên như một cách tiếp cận phổ biến cho việcxây dựng các ứng dụng trong môi trường tính toán mọi nơi và di động mà cókhả năng thích ứng một cách tự trị với môi trường của chúng và làm giảm sựđịnh hướng của người dùng Ví dụ chung nhất về các ứng dụng nhận biết ngữcảnh gồm có các hướng dẫn du lịch mà đưa thông tin chi tiết theo vị trí, sở thích
và điện thoại di động để thích ứng với các hành vi tùy theo nơi mà người dùngđang đứng, người mà họ đứng cùng và điều mà mọ thích làm Hiện có một loạtcác môi trường thông minh như: nhà, bệnh viện, phòng hợp
Nhận biết ngữ cảnh rất hữu ích cho môi trường tính toán với các thiết bị
di động Vì nó thích ứng theo thay đổi của môi trường và cải tiến giao diện
Trang 23người dùng Với các loại máy tính bàn, hầu hết các tham số trong môi trường ởtrạng thái tĩnh, ngữ cảnh cố định Ngược lại, các thiết bị di động thì có đặc trưng
là sự thay đổi môi trường Do đó tương tác với các ứng dụng trên các thiết bịnày thường xảy ra rất tự nhiên và nhanh chóng, các ứng dụng được dùng tới theonhững tần suất rất khác nhau ở những nơi khác nhau; và các thiết bị di động cókết nối Internet thì đều trải qua nhiều tình huống: một mình trong văn phòng,cộng tác cùng đồng nghiệp, rời khỏi văn phòng, đi bộ trong công viên, xuốngxe…
Nâng cấp tương tác giữa người và các thiết bị di động cũng là một độnglực để phát triển các ứng dụng nhận biết ngữ cảnh Về cơ bản, thông tin ngữcảnh có thể đạt được một cách rõ ràng qua sự nhận biết bởi các cảm biến vàkhông rõ ràng từ phía người dùng Thông tin này được lọc theo từng luồng đểứng dụng sử dụng cho mục đích người dùng, đồng thời tránh được việc trànthông tin hay thông tin bị quá tải Và với mỗi luồng mà ứng dụng cung cấp chongười dùng, thông tin ngữ cảnh có thể được thêm ngữ nghĩa bởi chính ngườidùng đó
Tính toán nhân rộng nhận được nhiều lợi ích từ việc nhận biết ngữ cảnh như:
- Giao diện đáp ứng người dùng: các kiểu tương tác và các chế độ hiển thị tùythuộc rất nhiều vào môi trường xung quanh, nhận biết ngữ cảnh có thể thực thi cácđáp ứng với các điều kiện môi trường này
- Liên lạc nhận biết ngữ cảnh: các liên lạc chung là bắt buộc cho các thiết bị diđộng và các kỹ thuật cần để lọc, cập nhật và phân phát các thông điệp và các dòng phù hợp với ngữ cảnh liên lạc rộng hơn
- Chủ động lập lịch ứng dụng: việc lựa chọn trước để nhận biết ngữ cảnh củaứng dụng sẽ hỗ trợ tương tác kiểu adhoc
Vị trí, định danh, thời gian và hành động là những kiểu ngữ cảnh quantrọng đặc trưng cho mộ tình huống của một thực thể cụ thể Các kiểu ngữ cảnhnày trả lời cho câu hỏi ai, điều gì, khi nào và ở đâu Ví dụ, cho định danh củamột người, chúng ta có thể biết được nhiều thông tin liên quan khác như số điệnthoại, địa chỉ nhà, địa chỉ mail, ngày sinh, danh sách bạn bè, các mối quan hệ vớinhững người khác…Với vị trí của thực thể, chúng ta có thể xác định được đốitượng hay người nào gần thực thể và hành động gì đang xảy ra gần thực thể
1.3.2 Nhận biết ngữ cảnh là gì?
Tính toán nhận biết ngữ cảnh lần đầu tiên được xem xét bởi Schilit vàTheimer năm 1994 với phần mềm thích ứng theo vị trí sử dụng để sưu tầmnhững đối tượng và người gần đó đồng thời thay đổi các đối tượng này theo thờigian
Trang 24Định nghĩa các ứng dụng nhận biết ngữ cảnh đầu tiên được đưa ra cũngbởi Schilit và Theimer đã giới hạn lại khái niệm của các ứng dụng một cách đơngiản là các ứng dụng thích ứng theo ngữ cảnh Nhận biêt ngữ cảnh trở thành mộtkhái niệm gì đó mà gần với thuật ngữ là: “thích ứng” (adapt) (Brown 1996),
“hành động lại” (“Cooperstock, Tanikoshi 1995”), “tương thích” (Elrod, Hall1993), “theo tình huống” (Hull, Neaves 1997)
Tiếp đó, các định nghĩa dần trở nên rõ ràng và đặc tả hơn: thích ứng theongữ cảnh Dey đã xác định khái niệm mới theo cách ngữ cảnh được dùng và cácđặc tính nhận biết ngữ cảnh khác nhau Theo ông, định nghĩa sự nhận biết ngữ
cảnh như sau: Một hệ thống là nhận biết ngữ cảnh nếu nó sử dụng ngữ cảnh để
cung cấp thông tin liên quan hay các dịch vụ tới người dùng, trong đó, mức độ liên quan tùy thuộc vào tác vụ của người dùng Và định nghĩa này được lựa
chọn là định nghĩa dùng chung cho tính toán nhận biết ngữ cảnh
Định nghĩa này cho chúng ta biết cách để xác định xem liệu một ứng dụng
có là nhận biết ngữ cảnh hay không Điều này rất hữu ích khi xác định kiểu ứngdụng mà chúng ta muốn hỗ trợ
Và theo Dey [5] nhận biết ngữ cảnh là một thuộc tính của một hệ thống có
sử dụng ngữ cảnh để cung cấp các thông tin hay dịch vụ liên quan tới ngườidùng, trong đó mức độ liên quan tùy thuộc vào nhiệm vụ của người dùng
1.3.3 Tính toán nhận biết ngữ cảnh
Tính toán nhận biết ngữ cảnh tức là nó giúp cho một ứng dụng chuyên về
di động hợp nhất tri thức về các chiều ngữ cảnh khác nhau như người dùng là ai,người dùng đang làm gì, người dùng ở đâu và thiết bị tính toán nào người dùngđang sử dụng [25]
Nhận biết ngữ cảnh đang ngày càng nhận được nhiều quan tâm như mộthướng tiếp cận thiết kế mới phù hợp cho tính toán mọi nơi Các phần mềm nhậnbiết ngữ cảnh dựa trên đa dạng các kiểu thông tin ngữ cảnh để tạo các quyếtđịnh về cách thích ứng linh động đáp ứng các yêu cầu người dùng Các thông tinnày được lấy từ một tập các nguồn gồm profiled người dùng, các ứng dụng vàcảm biến Một vài kiểu thông tin ngữ cảnh được cảm nhận nội tại và phải đượcbảo vệ để đáp ứng yêu cầu riêng tư của người dụng
Thông tin vị trí là hay được dùng trong các ứng dụng cảm ngữ cảnh vàcác hệ thống xâm nhập mọi nơi Các ứng dụng và hệ thống này có thể yêu cầuthông tin về vị trí của người dùng, các thiết bị và các dịch vụ
Các hệ thống tính toán mọi nơi yêu cầu nhận biết ngữ cảnh để cung cấp
về cơ sở hạ tầng thống nhất và thích ứng các ứng dụng cảm ngữ cảnh cho ngườidùng di động Các thiết bị tính toán hiện thời cần rất nhiều biểu mẫu,
Trang 25Các hệ thống mọi nơi cần giải quyết tính di động của người dùng, cácthiết bị của họ và các ứng dụng của họ, đồng thời người dùng có thể muốn thayđổi thiết bị tính toán của họ trong quá trình chạy các ứng dụng Một cơ sở hạtầng tính toán mọi nơi nên cho phép người dùng gỡ bỏ các thao tác tính toán mộtcách dễ dàng từ môi trường tính toán này sang môi trường khác và nên cho phépchúng lấy các ưu điểm của các nguồn trong môi trường hiện thời của họ Chính
vì vậy các hệ thống mọi nơi phải nhận biết ngữ cảnh, ví dụ nhận biết trạng tháicủa môi trường tính toán và cũng như trạng thái hiện thời của ứng dụng tínhtoán
Trang 26Chương 2 Biểu diễn và mô hình hóa ngữ cảnh
2.1 Các yêu cầu của mô hình thông tin ngữ cảnh
Sự phát triển chính của việc nghiên cứu về các hệ thống nhận biết ngữ
cảnh là để phát triển các ứng dụng tính toán nhận biết mọi nơi sao cho chúng có
tính linh hoạt, thích ứng và có khả năng hành động một cách tự trị thay cho
người dùng
Ứng dụng
Các dịch nhận biết
Lựa chọn Quản lý ngữ
vụ thuật toán cảnh
Ứng dụng
Mô hình
nhận biết
Nguồn cung
Nguồn vị trí Nguồn nhiệt
độ
Hình 2.1 Vị trí của mô hình ngữ cảnh trong hệ thống nhận biết ngữ cảnh
Việc phát triển các ứng dụng này ngày càng thấy được lợi ích của các
hình thức mô hình hóa ngữ cảnh Thứ nhất, vì tính phức tạp của các ứng dụng
nhận biết ngữ cảnh, người phát triển cần được hỗ trợ các phương pháp kỹ nghệ
phần mềm đầy đủ nhằm thực hiện mục tiêu tổng quát là phát triển các ứng dụng
nhận biết ngữ cảnh Và việc thiết kế các chức năng chung của các ứng dụng
không nên gắn với định nghĩa và các đánh giá thông tin ngữ cảnh vì những thứ
thường hay thay đổi Một mô hình ngữ cảnh tốt là có thể làm giảm sự phức tạp
của các ứng dụng nhận biết ngữ cảnh, có thể cải tiến theo sự phát triển và dễ bảo
trì Thêm vào đó, do việc đánh giá và bảo trì thông tin ngữ cảnh là tương đối đắt,
vì vậy thông tin ngữ cảnh dùng chung và sử dụng lại giữa các ứng dụng nên
được xem xét ngay từ khi bắt đầu
Từ đó cho thấy sự tồn tại của các mô hình thông tin ngữ cảnh được thiết
kế tốt giúp dễ dàng phát triển các ứng dụng trong tương lại Thêm vào đó, một
biểu diễn hình thức của dữ liệu ngữ cảnh trong một mô hình rất cần thiết để
kiểm thử tính nhất quán cũng như đảm bảo lập luận được thực hiện trên dữ liệu
Trang 282.1.1 Tính không đồng nhất và di động
Các mô hình thông tin ngữ cảnh phải đương đầu với sự đa dạng của cácnguồn thông tin ngữ cảnh về tốc độ cập nhật và mức độ ngữ nghĩa của chúng.Các bộ cảm nhận có thể quan sát được các trạng thái chắc chắn về thế giới vậtchất và cung cấp truy cập thời gian thực nhanh và gần, ví dụ như hiện nay chúng
ta được cung cấp các dữ liệu thô (vị trí GPS), thông tin này cần phải được diễngiải trước khi sử dụng bởi các ứng dụng Các thông tin cung cấp bởi người dùngnhư các đặc tả hay các sở thích thì được cập nhật ít hơn và nhìn chung là khôngcần thêm diễn giải Cuối cùng, dữ liệu ngữ cảnh đạt được từ cơ sở dữ liệu hoặccác thư viện số như dữ liệu bản đồ địa lý thường là tĩnh Nó được diễn giải theomột vài cách (ví dụ như các đặc tính địa lý được làm phong phú thêm như tên,mục đích, các mối quan hệ), nhưng sự diễn giải chủ yếu về lĩnh vực ứng dụngchắc chắn Rất nhiều ứng dụng nhận biết ngữ cảnh là thay đổi (ví dụ như cácứng dụng chạy trên một thiết bị di động) hay phụ thuộc vào các nguồn ngữ cảnhhay thay đổi (như các bộ cảm nhận di động) Điều này làm tăng thêm tính khôngđồng nhất do dữ liệu thông tin ngữ cảnh phải thích ứng với môi trường thay đổi.Cũng như vậy, thể hiện về không gian và vị trí của thông tin ngữ cảnh đóng vaitrò quan trọng để giảm yêu cầu này
2.1.2 Các mối quan hệ và sự phụ thuộc
Có nhiều mối quan hệ giữa các kiểu thông tin ngữ cảnh cần phải nắm bắt
để đảm bảo ứng dụng hành xử đúng Một quan hệ là phụ thuộc thì tức là cácthực thể/sự kiện thông tin ngữ cảnh này có thể phụ thuộc vào các thực thể thôngtin ngữ cảnh khác, ví dụ, sự thay đổi giá trị một thuộc tính (như băng thôngmạng) có thể tác động đến giá trị của các thuộc tính khác (như năng lượng pincòn lại)
2.1.3 Thời điểm
Các ứng dụng nhận biết ngữ cảnh có thể cần truy cập vào các trạng tháiquá khứ và tương lai (dự đoán) Do đó, tính thời điểm (lịch sử ngữ cảnh) là mộttính năng khác của thông tin ngữ cảnh cần nắm bắt bằng các mô hình ngữ cảnh.Việc quản lý lịch sử ngữ cảnh là rất khó nếu số lượng các cập nhật là cao Nókhông thể thực thi để lưu trữ mọi giá trị để truy cập tươn lai, và do đó các kỹthuật tổng hợp (như sử dụng các bản tóm tắt lịch sử của dữ liệu) cần được ápdụng
2.1.4 Không hoàn hảo
Vì ngữ cảnh tự nhiên là động và không đồng nhất nên có thể có chấtlượng khác nhau và thậm chí nó có thể sai trong thực tế Hầu hết các bộ cảmnhận đặc tả không chính xác (xê dịch một vài mét các vị trí của GPS), và các giá
Trang 29trị cảm nhận là lão hóa (bị cũ đi) so với thế giới thực đầy biến động và thay đổitừng ngày Do đó sự không chính xác này tăng theo thời gian Cũng như vậy,thông tin ngữ cảnh có thể không đầy đủ: một bộ cảm nhận phát hiện ra mộtlượng người trong phòng thì có thể thiếu sót một vài người.Vì vậy, một cách tiếpcận mô hình hóa ngữ cảnh tốt cần phải đưa các vấn đề này vào tính toán để suyluận hợp lý về những thay đổi ngữ cảnh để đạt được các đáp ứng tương đươngcho ứng dụng, và do đó cung cấp kinh nghiệm cho người dùng để đồng nhất vớithế giới thực.
2.1.5 Lập luận
Các ứng dụng nhận biết ngữ cảnh sử dụng thông tin ngữ cảnh để đánh giáxem liệu có một thay đổi đối với người dùng hay với môi trường không; đưa ramột quyết định liệu một đáp ứng nào đó với thay đổi là cần thiết không Vànhững việc này thì thường yêu cầu khả năng lập luận Các kỹ thuật lập luận cũngđược thông qua để phát sinh thông tin ngữ cảnh mức cao hơn Do đó việc các kỹthuật mô hình hóa ngữ cảnh có thể hỗ trợ lập luận về các tình huống phức tạp làrất quan trọng
2.1.6 Tính sử dụng được của các hình thức mô hình hóa
Các mô hình thông tin ngữ cảnh được tạo bởi người thiết kế các ứng dụngnhận biết ngữ cảnh và cũng được sử dụng bởi các ứng dụng để thao tác thông tinngữ cảnh Do đó tính năng quan trọng của các hình thức mô hình hóa là phải dễdàng với người thiết kế để có thể chuyển đổi sang các khái niệm của thế giớithực khi tạoo mô hình và dễ cho các ứng dụng có thể sử dụng tại thời điểm thựcthi và thao tác với thông tin ngữ cảnh
2.1.7 Dữ liệu ngữ cảnh hiệu quả
Truy cập hiệu quả vào thông tin ngữ cảnh là cần thiết nhưng cũng có thể
là một yêu cầu khó để đáp ứng với sự hiện diện của những mô hình lớn và nhiềuđối tượng dữ liệu Để chọn lựa các đối tượng, các thuộc tính liên quan một cáchphù hợp, các đường truy cập phải được biểu diễn trong mô hình ngữ cảnh Cácđường dẫn truy cập này biểu diễn các kích thước theo các ứng dụng thường lựachọn thông tin ngữ cảnh, cụ thể được hỗ trợ bởi các chỉ mục Các kích thước nàythường được gọi là ngữ cảnh sơ cấp, đối lập với ngữ cảnh thứ cấp được truy cậpbằng cách sử dụng ngữ cảnh sơ cấp Nhìn chung, các thuộc tính sử dụng ngữcảnh sơ cấp là sự đồng nhất của các đối tượng ngữ cảnh, vị trí, kiểu đối tượng,thời gian hoặc hoạt động của người dùng Vì sự lựa chọn các thuộc tính ngữcảnh sơ cấp là phụ thuộc vào ứng dụng, qui định bởi một lĩnh vực ứng dụng, nêntập các trạng thái ngữ cảnh sơ cấp chắc chắn được dùng để tạo nên các đườngdẫn truy cập hiệu quả (như chỉ mục không gian nếu vị trí là ngữ cảnh sơ cấp)
Trang 302.2 Các cách tiếp cận mô hình hóa ngữ cảnh
2.2.1 Các mô hình Giá trị-thuộc tính và Lược đồ đánh dấu
Các cách tiếp cận mô hình hóa ngữ cảnh từ sớm là các mô hình giá trị thuộc tính và lược đồ đánh dấu Các mô hình Giá trị - thuộc tính sử dụng các cặpgiá trị - thuộc tính để xác định danh sách các thuộc tính và giá trị của chúng đểmiêu tả thông tin ngữ cảnh được sử dụng bởi ứng dụng nhận biết ngữ cảnh.Cách tiếp cận mô hình hóa giá trị - thuộc tính thường được dùng trong cáchframework dịch vụ phân tán (ví dụ như Capeus) Trong các framework này, bảnthân dịch vụ thường được miêu tả với một danh sách các thuộc tính đơn giản.Cặp giá trị - thuộc tính dễ dàng quản lý nhưng thiếu khả năng cấu trúc tinh vicho các thuật toán thu hồi ngữ cảnh hiệu quả
-Các cách tiếp cận mô hình hóa lược đồ đánh dấu là cấu trúc dữ liệu phâncấp bao gồm các thẻ đánh dấu với các thuộc tính và nội dung Đặc biệt, nội dungcủa các thẻ đánh dấu luôn được xác định đệ quy bởi các thẻ khác Các mô hìnhngữ cảnh dựa vào việc đánh dấu sử dụng các dạng ngôn ngữ đánh dấu có cảXML Một chuẩn W3C được đưa ra để miêu tả các thiết bị di động, (CC/PP) đãchỉ ra các cách tiếp cận mô hình hóa ngữ cảnh đầu tiên sử dụng và bao gồm cácràng buộc thành phần và các mối quan hệ giữa các kiểu ngữ cảnh Các kiểu lậpluận đơn giản về các ràng buộc và các mối quan hệ thành phần này được thựchiện với bộ lập luận cho mục đích đặc biệt Các mô hình thông tin ngữ cảnh dựavào đánh dấu và RDF có những hạn chế nên không phải là những đề cử tốt choviệc mô hình hóa ngữ cảnh chung
Các cách tiếp cận mô hình hóa ngữ cảnh mới hơn sử dụng các kỹ thuật
mô hình hóa hệ thống thông tin phức tạp hơn (cơ sở dữ liệu) hay các kỹ thuậtquản lý tri thức Chúng cũng dùng các kỹ thuật lập luận theo mục đích chung kếthợp với kỹ thuật mô hình hóa của chúng, ví dụ logic vị từ một và logic mô tả.Những cách tiếp cận mới này giải quyết nhiều yêu cầu ở trên, tuy nhiên khôngcách nào là đầy đủ các yêu cầu cho việc mô hình hóa và lập luận ngữ cảnh nóichung
2.2.2 Các mô hình thông tin ngữ cảnh dựa vai trò các đối tượng
Các cách tiếp cận mô hình hóa ngữ cảnh dựa sự kiện gồm cách tiếp cận
mô hình hóa ngữ cảnh dựa vai trò ối tượng được miêu tả trong phần này bắtnguồn từ những nỗ lực để tạo các mô hình ngữ cảnh đầy đủ nhằm hỗ trợ xử lýtruy vấn và lập luận cũng như cung cấp các cấu tạo mô hình phù hợp cho việc sửdụng trong các nhiệm vụ kỹ nghệ phần mềm như phân tích và thiết kế Các cáchtiếp cận trước đó như các cặp giá trị - thuộc tính (giá trị - thuộc tính) không thỏa
Trang 31mãn các yêu cầu này, mà đặc biệt do các kiểu thông tin ngữ cảnh được sử dụngbởi các ứng dụng phát triển ngày càng phức tạp.
Kỹ thuật này chủ yếu được phát triển bởi Henricksen bắt đầu từ năm 2002 vớitập trung chủ yếu vào Ngôn ngữ mô hình hóa ngữ cảnh (Context ModellingLanguage - CML)
2.2.2.1 Tổng quan ngôn ngữ mô hình hóa ngữ cảnh - CML
Ngôn ngữ mô hình hóa ngữ cảnh dựa trên mô hình vai trò đối tượng(ORM – Object-Role Modeling) được phát triển cho mô hình hóa khái niệm của
cơ sở dữ liệu[16] Trong ORM, khái niệm mô hình hóa cơ bản là sự kiện, và môhình hóa một lĩnh vực sử dụng ORM gồm các kiểu sự kiện tương đương và cácluật mà trong đó các kiểu thực thể tham gia CML cung cấp một cú pháp đồ họađược thiết kế để hỗ trợ các kỹ sư phần mềm trong việc phân tích và đặc tả hìnhthức các yêu cầu ngữ cảnh của một ứng dụng nhận biết ngữ cảnh Nó mở rộngORM với các cấu trúc mô hình để
- Nắm bắt các lớp và các nguồn khác nhau của các sự kiện ngữ cảnh: thông tin cụ thể, tĩnh, cảm nhận, dẫn xuất, và do người dùng cung cấp
- Nắm bắt thông tin không đầy đủ bằng cách sử dụng siêu dữ liệu chấtlượng và khái niệm “alternatives” để nắm bắt các khẳng định trái chiều (như cácbáo cáo về vị trí trái ngược nhau từ các bộ cảm nhận)
- Nắm bắt sự phụ thuộc giữa các kiểu sự kiện ngữ cảnh
- Nắm bắt lịch sử cho các kiểu sự kiện mang tính chắc chắn và các ràng
buộc trên các lịch sử đó
Hình thức của ORM và các mở rộng CML khiến nó có thể hỗ trợ một ánh xạthẳng từ một mô hình ngữ cảnh dựa mô hình này sang một hệ thống quản lýngữ cảnh thời gian thực có thể được gắn với các sự kiện ngữ cảnh và được
truy vấn bởi các ứng dụng nhận biết ngữ cảnh Halpin miêu tả hàm Rmap để
biến một lược đồ khái niệm thành một lược đồ quan hệ, và Henricksen đã
phát triển một mở rộng của Rmap để có thể được sử dụng cho việc ánh xạ
một mô hình ngữ cảnh dựa CML thành một cơ sở dữ liệu quan hệ Tuy nhiên,ngữ nghĩa hình thức của ORM và CML có thể được thừa hưởng để cung cấp
sự tích hợp với các cài đặt khác như các bộ lập luận dựa sự kiện [17]
Trang 32Hình 2.2 Một ví dụ về mô hình biểu diễn ngữ cảnh với CML
Mô hình ví dụ này được thiết kế để sử dụng bởi các ứng dụng liên lạc nhậnbiết ngữ cảnh Mô hình nắm bắt hoạt động người dùng theo hình thức kiểu sựkiện thời gian bao gồm các hoạt động từ quá khứ, hiện tại và tương lai; cáckết hợp giữa những người sử dụng, các kênh liên lạc và các thiết bị; và các vịtrí của người dùng và thiết bị (cả tuyệt đối và tương đối, trong đó tuyệt đốiđược biểu diễn như một sự kiện xuất phát)
Mỗi hình elip trong hình mô tả một kiểu đối tượng với giá trị trong dấu ngoặcđơn miêu tả lược đồ biểu diễn được dùng cho kiểu đối tượng – trong đó mỗihình hộp biểu thị một vai trò của đối tượng trong sự kiện Bảng Key tổng kếtcác cú pháp còn lại được sử dụng trong hình 2.2
2.2.2.2 Hỗ trợ lập luận
CML kế thừa hình thức của ORM để hỗ trợ việc đánh giá các khẳng địnhđơn giản cũng như các truy vấn tựa SQL Một trong số các đặc tính mới củaCML là khả năng hỗ trợ truy vấn trên thông tin không chắc chắn (đặc biệt, thôngtin mơ hồ biểu diễn sử dụng hình thức cấu tạo “luân phiên”) bằng cách sử dụng
Trang 33logic 3 giá trị Điều này được minh họa bằng việc sử dụng kiểu sự kiện “locatedat” từ mô tả ở Hình 2.2 Hai khởi tạo của sự kiện này được chỉ ra ở bảng 3.
Bảng 3 Các giá trị của sự kiện “located at”
Thực thể của “located at” không có Thực thể của “located at” có trạng thái
Để đánh giá các điều kiện phức tạp hơn có thể được nắm bắt bởi cáckhẳng định, Henricksen định nghĩa một ngữ pháp cho các tình huống hình thứchóa Các tình huống được biểu diễn bằng cách sử dụng một hình thức mới củalogic vị từ mà có thể cân bằng giữa hiệu quả đánh giá với năng lực biểu diễn.Chúng được định nghĩa như các biểu thức logic có tên theo hình thức S(1, ,
n): , trong đó S là tên của tình huống, 1, , n là các biến, và là một biểudiễn logic trong đó các biến tự do tương ứng với tập {1, , n }[Tr7,17] Biểuthức logic kết hợp một số các biểu thức cơ bản bằng việc sử dụng các kết nốilogic như and, or và not Các biểu thức cơ bản hợp lệ là đẳng thức/ bất đẳng thứchay các khẳng định Các tình huống có thể được kết hợp từng bước với các biểuthức logic phức tạp hơn
2.2.2.3 Đánh giá
Một trong những điểm mạnh chính của CML là khả năng hỗ trợ của nócho các giai đoạn của tiến trình kỹ nghệ phần mềm Cú pháp đồ họa của nó hỗtrợ phân tích và thiết kế các yêu cầu ngữ cảnh của ứng dụng nhận biết ngữ cảnh;biểu diễn quan hệ và ngữ pháp tình huống hỗ trợ biểu diễn thời gian thực và truyvấn CML cũng cung cấp hỗ trợ dễ hiểu để nắm bắt và đánh giá thông tin mangtính lịch sử và không đầy đủ hơn nhiều cách tiếp cận mô hình hóa khác đang sửdụng hiện nay CML cũng nhấn mạnh sự phát triển các mô hình ngữ cảnh chocác ứng dụng cụ thể hay các lĩnh vực ứng dụng
Tuy nhiên, CML cũng có một số điểm yếu Nó có một mô hình thông tin phẳng,trong đó tất cả các kiểu ngữ cảnh được biểu diễn một cách thống nhất như các sựkiện nguyên tử Nếu một cấu trúc cần phân tầng, hay một chiều đặc biệt của ngữcảnh chiếm ưu thế từ quan điểm của truy vấn (như các mô hình không gian, hay
Trang 34khi mà thông tin vị trí quan trọng hơn các thông tin khác), thì các biểu diễn khác
có thể là phù hợp hơn
2.2.3 Các mô hình không gian của thông tin ngữ cảnh
Không gian là một ngữ cảnh quan trọng trong nhiều ứng dụng ngữ cảnh.Hầu hết các định nghĩa ngữ cảnh đều đề cập đến không gian như một yếu tốquan trọng: như Schilit, Adams và Want định nghĩa 3 khía cạnh quan trọng củangữ cảnh như “Bạn ở đâu, bạn là ai và gần nguồn nào” Cũng như vậy, trong hầuhết các định nghĩa ngữ cảnh thường được sử dụng bởi Dey, không gian đượcxem như một khía cạnh trung tâm của các thực thể ngữ cảnh: “Một thực thể làmột người, một nơi hay một đối tượng được xem như có liên quan tới tương tácgiữa người dùng và ứng dụng, bao gồm người dùng và chính các ứng dụng đó”– những nơi đó là các thực thể không gian Do đó một vài cách tiếp cận mô hìnhhóa ngữ cảnh luôn dành cho không gian và vị trí một ưu đãi Điều đó là phù hợp
để tổ chức truy cập thông tin ngữ cảnh hiệu quả
2.2.3.1 Mô hình thông tin ngữ cảnh
Hầu hết các mô hình thông tin ngữ cảnh là các mô hình dựa sự kiện tổchức thông tin ngữ cảnh của chúng bằng vị trí vật lý Điều này có thể là vị trícủa các thực thể thế giới thực được miêu tả trong thông tin ngữ cảnh (như đườngbiên của một phòng), vị trí của bộ cảm nhận đo thông tin ngữ cảnh, hoặc thôngtin ngữ cảnh phi vật lý[20]
Thông tin vị trí này cũng được xác định trước (nếu các thực thể là tĩnh),hoặc nó đạt được bởi các hệ thống định vị lần vết các đối tượng di động và báocáo vị trí của chúng tới hệ thống quản lý vị trí Nhìn chung, hai loại của các hệtọa độ được hỗ trợ bởi các hệ thống định vị là:
Tọa độ hình học: Biểu diễn các điểm hay các vùng trong một không gian hình
học như tọa độ 84 WGS của GPS biểu diễn kinh độ, vĩ độ và độ cao trên mựcnước biển của một số điểm trên bề mặt trái đất Sử dụng các hàm hình học nhưkhoảng cách Ơclit cho phép tính toán khoảng cách và cho phép truy vấn lánggiềng gần nhất
Tọa độ tượng trưng: Các tọa độ tượng trưng được biểu diễn bởi một định danh
như số phòng hay địa chỉ của một ô hoặc điểm truy cập trong điện thoại wirelesshay các mạng cục bộ Trái ngược với tọa độ hình học, không có mối quan hệkhông gian được cung cấp bởi các tọa độ tượng trưng Để cho phép lập luậnkhông gian về phạm vi và khoảng cách thì rõ ràng thông tin về quan hệ khônggian giữa các cặp của tọa độ tương trưng phải được cung cấp
Các mô hình ngữ cảnh không gian có thể được miêu tả theo các lớp của các bản thể học không gian được đưa ra bởi A Frank: