Hệ thống Grid ngữ nghĩa ra đời nhằm cung cấp thông tin giàu ngữ nghĩa cho các tài nguyên của Grid, giúp xây dựng các dịch vụ Grid thông minh hơn và giúp việc chia sẻ tài nguyên giữa các
Trang 1ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
Giảng viên: PGS.TS Đỗ Văn Nhơn
Học viên: Nguyễn Thường Kiệt - CH1301019
Tp HCM, ngày 26 tháng 03 năm 2014
Trang 2Mục Lục
Trang 3Một hệ thống Grid muốn họat động phải dựa trên sự am hiểu về các tài nguyên hiện có trong hệ thống, các khả năng, cách phối hợp và khai thác các tài nguyên đó
Hệ thống Grid và các ứng dụng hổ trợ Grid sẽ sử dụng các metadata dùng để mô tả thông tin của tài nguyên Grid một cách thông minh
Trong các hệ thống Grid hiện thời, các metadata này đuợc quản lý một cách rất phức tạp, không tuờng minh, nằm ẩn sâu trong thư viện mã của Grid Điều này dẫn đến việc khó chia sẻ tài nguyên giữa các hệ thống Grid với nhau
Hệ thống Grid ngữ nghĩa ra đời nhằm cung cấp thông tin giàu ngữ nghĩa cho các tài nguyên của Grid, giúp xây dựng các dịch vụ Grid thông minh hơn và giúp việc chia
sẻ tài nguyên giữa các hệ thống Grid trở nên dễ dàng
Gird ngữ nghĩa là sự mở rộng của Grid hiện tại trong đó thông tin và dịch vụ được cung cấp nghĩa được định nghĩa tốt ( well-defined meaning) thông qua các mô tả
mà máy tính có thể xử lý được, cho phép chúng được sử dụng bởi con người và máy để con người và máy làm việc cộng tác với nhau
Grid ngữ nghĩa chủ yếu dựa vào công nghệ Web ngữ nghĩa trước đó, đồng thời nó tuân thủ theo mô hình S-OGSA (mở rộng từ OGSA) để thiết kế các thành phần và ứng dụng ngữ nghĩa Phần II sẽ trình bày công nghệ Web ngữ nghĩa, phần III trình bày mô hình S-OGSA và cuối cùng sẽ là một vài hiện thực của Grid ngữ nghĩa ở phần IV
Trang 4II Web có ngữ nghĩa
World Wide Web, gọi tắt là Web hay WWW, được phát minh và đưa vào sử dụng vào khoảng năm 1990,1991 bởi viện sĩ Viện Hàn lâm Anh Tim Berners-Lee Từ đó đến nay nó đã phát triển một cách rộng khắp và trở thành một dịch vụ không thể thiếu trên Internet Ban đầu nó đơn thuần chỉ là dịch vụ chia sẽ thông tin nhưng ngày nay nó dần dần tiến tới một kỹ nguyên mới với khái niệm Web 2.0, cho phép người dùng có thể sửa đổi thông tin trực tiếp mà không phải thông qua quyền quản trị, giúp cho con người trên mọi vùng lãnh thổ tiến lại gần nhau hơn
Tuy nhiên vấn đề của Web hiện tại là thông tin được biểu diễn dưới dạng văn bản thô mà chỉ con người mới có thể đọc hiểu được Điều này thúc đẩy sự ra đời của ý tưởng Web có ngữ nghĩa (Semantic Web), một thế hệ mới của Web, mà theo Tim Berners-Lee nó là sự mở rộng của Web hiện tại mà trong đó thông tin được định nghĩa
rõ ràng sao cho con người và máy tính có thể cùng làm việc với nhau một cách hiệu quả hơn
Mục tiêu của Web có ngữ nghĩa là phát triển các chuẩn chung và công nghệ cho phép máy tính hiểu được nhiều hơn thông tin trên Web nhằm hổ trợ tốt hơn trong việc khám phá thông tin, tích hợp dữ liệu và tự động hóa các công việc Phần tiếp theo sẽ trình bày các khái niệm và công nghệ liên quan đến Web có ngữ nghĩa
II.1 Siêu dữ liệu và vấn đề biểu diễn siêu dữ liệu
Siêu dữ liệu trong ngữ cảnh của Web có ngữ nghĩa là các dữ liệu dùng để mô tả nội dung của trang Web, cho phép máy tính có thể hiểu và xử lý tự động được.Có thể nói siêu dữ liệu là khái niệm đầu tiên và quan trong nhất của Web có ngữ nghĩa
Một vấn đề được các nhà khoa học quan tâm nhất và cũng là nền tảng nhất của Web có ngữ nghĩa là làm thế nào để nhúng ngữ nghĩa vào các tài liệu web mà hiện nay được viết bằng ngôn ngữ HTML và chỉ có con người mới đọc hiểu được Hơn nữa việc nhúng ngữ nghĩa này phải được thực hiện một cách tự động để có thể chuyển đổi hàng
Trang 5Một thách thức khác liên quan đến vấn đề biểu diễn siêu dữ liệu là làm sao để người sử dụng chấp nhận một chuẩn công nghệ mới (ví dụ như RDF, RDFS, ) khi viết tài liệu web vì từ lâu họ đã quen với việc sử dụng HTML và các công cụ liên quan.
II.2 Ontologies
Trong ngữ cảnh của Web có ngữ nghĩa, Ontology được định nghĩa như là một
mô hình dữ liệu biểu diễn một lĩnh vực nào đó, các khái niệm trong lĩnh vực và các mối quan hệ giữa chúng Hiện nay, các ngôn ngữ ontology quan trọng nhất bao gồm: XML, XML Namespace, XML Schema, RDF, RDF Schema và OWL
II.2.1 XML
XML (Extensible Markup Language) là ngôn ngữ đánh dấu mở rộng được phát triển dựa trên tính đơn giản, dễ sử dụng của ngôn ngữ HTML nhưng cho phép định nghĩa các thẻ (tab) theo nhu cầu sử dụng để mô tả các tài liệu có cấu trúc mà ngôn ngữ HTML không làm được XML được thiết kế để cho phép máy tính có thể trao đổi tài liệu với nhau thông qua Web mà không làm mất đi ý nghĩa của dữ liệu
Một tài liệu XML bao gồm một tập các cặp thẻ (tab) được lồng vào nhau Mỗi thẻ
Cấu trúc của một tài liệu XML:
- Một tài liệu XML có thể được chia thành hai phần chính, mỗi phần có thể có các thành phần theo quy định khác nhau:
Trang 6o Phần Prolog: chứa các khai báo cho tài liệu XML Phần này có thể chứa các định đạng như: Các chỉ thị xử lý, định nghĩa kiểu cho tài liệu, chú thích, phiên bản đang sử dụng, cách thức mã hóa dữ liệu, báo cáo các chỉ thị xử lý cho ứng dụng.Ví dụ
<?xml version=”1.0” encoding=”UTF-8” standalone=”no” ?>
o Phần thân: chứa nội dung dữ liệu, bao gồm một hay nhiều phần tử, mỗi phần
tử được chứa trong một cặp thẻ Phần tử đầu tiên của tài liệu được gọi là phần tử gốc (root element)
- Một tài liệu XML được coi là hợp khuôn dạng (well-form) nếu nó tuân thủ các quy tắc sau:
o Các khai báo XML cần được đặt tại dòng đầu tiên của tài liệu, chẳng hạn như khai báo phiên bản hay các chỉ thị xử lý XML
o Mỗi tài liệu XML chỉ có một thành phần gốc (root) chứa mọi thành phần khác trong tài liệu Các thành phần có thể đứng trước phần tử gốc là chú thích, chỉ thị xử lý và định nghĩa DTD (nếu khai báo ở phần khởi đầu của tài liệu)
o Mỗi phần tử của tài liệu phải được nằm trong một cặp thẻ Nếu là phần tử rỗng thì thẻ phải được kết thúc bằng "/>" Ví dụ: "<image/>"
o Các thành phần trong tài liệu XML (khác thành phần gốc) đều nằm giữa cặp thẻ gốc và phải lồng nhau một cách hợp lý, tức là không có thành phần phủ, tập hợp thẻ này không được phép chồng lên thẻ kia, mỗi tập trong phải nằm trong tập hợp lớn hơn kế tiếp
o Các cặp thẻ phải được viết chính xác như nhau kể cả chữ hoa hay chữ thường
Trang 8duy nhất một tài nguyên trên Internet Áp dụng XML namespace vào ví dụ ở trên, ta được:
Một cách giải quyết khác là khai báo chữ viết tắt cho các namespaces ngay ở đầu tài liệu Sau đó bên trong tài liệu ta sẽ prefix các Element cần xác nhận namespace bằng chữ viết tắt của namespace đó Ví dụ như sau:
Trang 9<?xml version="1.0"?>
<BookOrder xmlns="http://www.northwindtraders.com/order" xmlns:cust="http://www.northwindtraders.com/customer"
http://www.northwindtraders.com/customer (viết tắt là cust),
http://www.northwindtraders.com/book (viết tắt là book)
Trang 10Các phần tử không có prefix (tức là không có chữ tắt đứng trước) như BookOrder, OrderNo, và OrderDate, được coi như thuộc về namespace mặc định
II.2.3 XML Schema
XML Schema là một ngôn ngữ được dùng để định nghĩa cấu trúc của một tài liệu XML như là phần tử nào xuất hiện trong tài liệu, quan hệ cha con giữa các phần
tử, kiểu dữ liệu của các phần tử, XML Schema sử dụng cú pháp của ngôn ngữ XML
và được xem như một sự thay thế cho DTD (Document Type Definition) đã lỗi thời và khó sử dụng
XML Schema mở đầu bằng khai báo theo chuẩn XML, tiếp theo dùng tiếp đầu ngữ xsd: để khai báo không gian tên XML Schema, theo cú pháp sau:
Có thể nói rằng RDF (Resource Description Framework) chính là nền tảng và
là linh hồn của Web có ngữ nghĩa RDF là một ngôn ngữ được dùng để mô tả thông tin về những tài nguyên trên Web và mô tả ngữ nghĩa của những thộng tin
ấy theo cách mà máy có thể hiểu được RDF thích hợp trong những ứng dụng mà
ở đó thông tin cần được xử lý bởi máy tính chứ không phải con người RDF cung cấp một framework chung cho việc biểu diễn thông tin này vì thế nó có thể được trao đổi giữa các ứng dụng mà không làm mất đi ý nghĩa của thông tin RDF mô tả tài nguyên trên Web thông qua URI (Uniform Resource Identifier)
Trang 11Trong RDF, thông tin được thể hiện bởi bộ ba subject - predicate – object hay (Subject,Predicate,Object) Ví dụ phát biểu “Joe Smith has homepage
http://www.example.org/~joe” sẽ được biểu diễn dưới dạng bộ ba như sau (“Joe Smith”,”has homepage”,”http://www.example.org/~joe”) Các bộ ba này có thể được biểu diễn dưới dạng đồ thị, gọi là đồ thị RDF (RDF Graph) Tất cả các phần
tử trong bộ ba là các tài nguyên được xác định duy nhất bởi các URI, riêng thành phần object, nó có thể là URI , là hằng chuỗi hoặc là một con số Ta biểu diễn phát biểu “Joe Smith has homepage http://www.example.org/~joe” bằng đồ thị RDF
Cú pháp chính qui cho RDF là RDF/XML Nó là sự kết hợp giữa cú pháp của ngôn ngữ XML và khả năng mô tả tài nguyên thông qua các URI của RDF Giữa RDF/XML và đồ thị RDF có sự tương đương 1:1 Ví dụ, để biểu diễn đồ thị RDF
ở hình 2, ta dùng cú pháp của RDF/XML như sau:
Trang 13Hình 2: Đồ thị RDF mô tả Joe Smith
II.2.5 RDF Schema
RDF Schema (RDFS) là sự mở rộng của RDF để cho phép mô tả sự phân loại của các lớp (classes) và các thuộc tính (properties) RDF Schema định nghĩa các classes và properties để mô tả các classes, properties và các tài nguyên khác.Nó cũng
có thể xem như là một sự mở rộng ngữ nghĩa của RDF để cung cấp những cơ chế cho phép mô tả các nhóm của các tài nguyên liên quan và mối quan hệ giữa các tài nguyên này
Trong RDFS, classes là một nhóm các tài nguyên có liên quan với nhau Bảng ở Hình 3 liệt kê danh sách các classes trong RDFS
Element Class of rdfs:subClassO
f
rdf:type
rdfs:Resource all resources rdfs:Resource rdfs:Class rdfs:Class all classes rdfs:Resource rdfs:Class rdfs:Literal literal values rdfs:Resource rdfs:Class rdfs:Datatype datatypes rdfs:Class rdfs:Class rdf:XMLLiteral XML literal values rdfs:Literal
Trang 14rdfs:Datatype rdf:Property properties rdfs:Resource rdfs:Class rdf:Statement statements rdfs:Resource rdfs:Class rdf:List lists rdfs:Resource rdfs:Class rdfs:Container containers rdfs:Resource rdfs:Class rdf:Bag unordered containers rdfs:Container rdfs:Class rdf:Seq ordered containers rdfs:Container rdfs:Class rdf:Alt containers of
alternatives rdfs:Container rdfs:Class rdfs:Container
MembershipPropert
y
rdf:_1 Properties expressing
membership
rdf:Property rdfs:Class
Hình 3: RDFS classes
Properties trong RDFS chính là quan hệ giữa các Subjects và Objects trong
RDF Danh sách các properties được liệt trong trong bảng ở Hình 4.
Element Relates rdfs:domain rdfs:ran ge
rdfs:range restricts subjects rdf:Property
rdfs:Clas
s rdfs:domain restricts objects rdf:Property rdfs:Class
rdf:type instance of rdfs:Resource
rdfs:Clas
s rdfs:subClassOf subclass of rdfs:Class
rdfs:Clas
s rdfs:subPropertyO
f subproperty of rdf:Property rdf:Property
Trang 15ral rdfs:comment
human readable comment
rdfs:Resourc
e
rdfs:Literal
rdfs:member membership container rdfs:Resource rdfs:Resource
rdf:first First element rdf:List
rdfs:Resource rdf:rest rest of list rdf:List rdf:List
rdf:_1, rdf:_2,
container membership
rdfs:Containe
r
rdfs:Resource rdfs:seeAlso further information rdfs:Resource rdfs:Resource
rdfs:isDefinedBy definition rdfs:Resource
rdfs:Resource rdf:value For structured values rdfs:Resource rdfs:Resource
rdf:object object of statement rdf:Statement rdfs:Resource
rdf:predicate
predicate of statement rdf:Statement
rdfs:Resource rdf:subject statement subject of of rdf:Statement rdfs:Resource
Hình 4: RDFS Properties
II.2.6 OWL
OWL ( Web Ontology Language) là một sự mở rộng từ RDF và RDFS Mục đích chính của OWL là đưa khả năng suy luận vào Web có ngữ nghĩa OLW có ba loại: OWL Lite, OWL DL và OWL Full Mỗi loại OWL sẽ có những đặc tính riêng và do đó
sẽ phù hợp trong ngữ cảnh của một ứng dụng nào đó
Trang 17III Mô hình S-OGSA
III.1 Kiến trúc Grid huớng dịch vụ mở (OGSA)
OGSA định nghĩa một tập những chức năng, dịch vụ và hành vi cở bản của một hệ thống Grid Các chức năng này bao gồm : Các dịch vụ cở sở hạ tầng , dịch vụ về dữ liệu , dịch vụ quản lý tài nguyên , dịch vụ quản lý việc thực thi , dịch vụ bảo mật , dịch
vụ tự quản lý , dịch vụ thông tin
Hình 5.Kiến trúc của Grid Ngữ Nghĩa
Trang 18Kiến trúc OGSA là một mô hình kiến trúc 3 lớp (3-tiers) Lớp cơ sở gồm các dịch
vụ cơ sở hạ tầng đuợc ảo hóa thông qua các webservice Lớp giữa bao gồm các dịch
vụ lõi đuợc gọi là Grid Middleware Lớp trên cùng là lớp các ứng dụng Grid Lớp ứng dụng sẽ sử dụng các dịch vụ của lớp Middleware để xây dựng các chức năng cho nguời sử dụng
III.3 Nguyên lý thiết kế kiến trúc tham khảo cho hệ thống Grid Ngữ Nghĩa
Kiến trúc của Grid Ngữ Nghĩa đuợc thiết kế dựa trên 6 nguyên lý sau :
Tính tinh giản của các thành phần kiến trúc: kiến trúc Grid mới cần phải đủ độ
tinh giản cần thiết để giảm thiểu những ảnh huởng lên kiến trúc Grid và các công cụ truyền thống
Tính có thể mở rộng của framework: định nghĩa một kiến trúc có thể mở rộng
và tùy biến thay vì định nghĩa một kiến trúc đầy đủ và tổng quát
Tính thống nhất của cơ chế: Grid Ngữ nghĩa cũng là Grid , vì thế tất cả các thực
thể của Grid Ngữ Nghĩa cũng đều có tính chất giống như các thực thể của Grid thông thuờng, các tính chất đó là :
- Các tài nguyên của Grid Ngữ nghĩa có thể quản lý đuợc Các mô tả ngữ nghĩa
có trạng thái và thời gian sống
- Grid Ngữ Nghĩa phải hỗ trợ các dịch vụ có trạng thái (stateful) và không trạng thái (stateless) giống Grid thông thuờng
- Các dịch vụ tri thức (Knowledge services) trong Grid Ngữ Nghĩa cũng tuân thủ các đặc tả của các dịch vụ Grid thuờng
Tính đa dạng của các khả năng ngữ nghĩa:trong hệ thống Grid Ngữ Nghĩa các
thực thể có thể có nhiều mức khả năng hỗ trợ ngữ nghĩa khác nhau :
-Các thực thể không hỗ trợ ngữ nghĩa
Trang 19-Các thực thể hiểu ngữ nghĩa và có khả năng xử lý ngữ nghĩa đầy đủ hoặc bán đầy đủ
Tính đa dạng của việc biểu diễn ngữ nghĩa :
- Ngữ nghĩa của các thực thể có thể đuợc mô tả , biểu diễn ở nhiều dạng khác nhau như : text , logic, ontology ,rule
Tính dễ chuyển đổi của các dịch vụ sang ngữ nghĩa(Enlightenment of services):
- Kiến trúc Grid Ngữ Nghĩa nên giảm thiểu nhưng ảnh huởng khi thêm tính ngữ nghĩa vào trong các thực thể , dịch vụ của Grid thông thuờng Nhằm giúp viếc chuyển từ grid thuờng sang grid ngữ nghĩa đuợc dễ dàng và nhanh chóng
- Các thực thể Grid không bị phá vỡ nếu nó sử dụng và xử lý các tài nguyên Grid nhưng xử lý các ngữ nghĩa kết hợp với các tài nguyên đó
- Trong suốt thời gian sống (lifetime) của chúng ,các thự thể Grid có thể
có hoặc mất tính ngữ nghĩa
Kiến trúc Grid Ngữ Nghĩa có bả khả năng chính : mô hình (model, các thực thể Grid ngữ nghĩa ), khả năng (capabilities , chức năng của các thự thể ngữ nghĩa), cơ chế (mechanism)
III.3 Mô hình và khả năng của Grid Ngữ Nghĩa
III.3.1 Mô hình của Grid Ngữ Nghĩa
Mô hình của Grid Ngữ Nghĩa đuợc bao gồm các thành phần sau :
- Các thực thể Grid (G-Entities):là bất kỳ đối tựơng nào có số nhận dạng (identity ) trong Grid, bao gồm các tài nguyên và các dịch vụ