КАК У НАС С ИНТЕЛЛЕКТОМ В WEB И GRID ДЛЯ СОЗДАНИЯ ПОЛНОЦЕННОГО НАУЧНОГО СЕРВИСА?

Объединённый Институт Ядерных Исследований, Дубна.

Web и Grid с программной точки зрения понятия тесно связанные, поскольку совместно реализуют средства использования того метакомпьютера, в который превращается система Internet/Intranets: связанный комплекс территориально распределённых компьютеров и подсистем накопления и хранения информации. Web по своей изначальной идее можно считать информационной или информационно-поисковой системой для пользователей такого метакомпьютера, а Grid - их вычислительным ресурсом для обработки информации. И для Web, и для Grid одной из главных задач стало максимальное упрощение пользователю получения от них необходимого ему знания или ресурсов для реализации достаточно сложной и многоэтапной обработки данных, что может быть связано с проблемой динамического захвата таких ресурсов на разных этапах обработки. Достижение такого упрощения связано с необходимостью создания распределённой автоматизированной системы обмена информацией между инструментальными сервисными программами Web и Grid, накопления и использования ими системы "знаний". Это и стало причиной возникновения цикла работ по созданию того, что сейчас называют "семантическим Web" и "семантическим Grid". Можно процитировать пару определений семантического Web, данных изобретателем системы WWW, Tim Berners-Lee: "Семантический Web - это расширение существующего Web, где информации придаётся хорошо определённый смысл, дающий компьютерам и людям лучшие возможности совместной работы"; "Семантический Web есть абстрактное (формализованное) представление данных в Web’е, основанное на использовании RDF-стандарта и других более совершенных разрабатываемых стандартов"

НЕ нашли? Не то? Что вы ищете?

(см. статью Tim Berners-Lee, James Hendler and Ora Lassila: "A new form of Web content that is meaningful to computers will unleash a revolution of new possibilities", доступную через http://www. w3.org/2001/sw).

Разговоры о недостатках Web шли в последние годы достаточно активно: когда в 1999-м году отмечался десятилетний юбилей Web, Tim Berners-Lee на конференции WWW8 высказался в том духе, что наибольшая проблема порождена его успехом и популярностью, массовой загрузкой информацией, в которой стало трудно разобраться из-за отсутствия средств описания семантики, смысла накопленных и транспортируемых пользователям данных. Это в основном и осложняет задачу поиска нужной информации и человеком, и автоматизированными средствами при межпрограммном взаимодействии. Как правильно отмечалось в докладе на нашей конференции в прошлом году, "любой, кто общался с традиционными поисковыми системами, знает, что требовать от них интеллектуальности смысла не имеет, и локальный поиск (т. е. на одном сайте, в одной базе данных или каталоге) традиционно воспринимается как рулетка". Одним из способов преодоления указанных сложностей и служит построение "умных" естественно-языкового типа интерфейсов, как в технологии InBase в упомянутой работе или в реализации ИПС для Истфака МГУ и , но всё же авторы обеих работ имели дело с обращениями к базам данных, т. е. аппарату в значительной степени более развитому для представления информации, чем изначально остальные средства в Web (те же Web-страницы). Ликвидация такого разрыва между возможностями, предоставлявшимися СУБД (реляционными и объектно-ориентированными) и примитивными HTML и гипертекстовыми средствами WWW, началась всерьёз лишь в последние несколько лет и пошла по двум направлениям. К первому можно отнести развитие синтаксических методов представления информации (особенно слабоструктурированной) языковыми средствами XML и навесок к нему для описания типовых свойств элементов XML-документов, их структуры и семантики: последовательно появились стандарты DTD (Document Type Definition), XML Schema, DOM

(Document Object Model: стандарт для API работы с репозиториями XML и HTML-документов), XQuery (язык запросов к базам XML-данных)... Неплохой обзор всех этих основных XML-ориентированных инструментальных средств был дан, например, в докладе "Стандарты платформы XML и баз данных" на конференции RCDL`2001 и его монографии "Энциклопедия технологий баз данных", опубликованной в 2002-м году. Второе направление связано с приёмами, родившимися в области работ по искусственному интеллекту, и может быть условно названо "онтологическим подходом", средствами аннотирования документов (контента, содержания информационных ресурсов: Web-страниц и порталов, баз данных и программ), которыми могли бы воспользоваться программные Web-сервисы и агенты при удовлетворении сложных пользовательских запросов (относящихся к распределённым коллекциям программ, данных и других ресурсов в системах Web/Grid) или при автоматизации процесса накопления и обработки данных в научной сфере.

Согласно классификации, данной в работе David De Rouge et al. "The Semantic Grid: a Future e-ScienceInfrastructure" (http://www. semanticgrid. org/documents/semgrid-journal/semgrid-journal. pdf), программная среда компьютеризированной науки должна будет включать в себя трёхуровневую систему сервисов:

- Data/Computation Services, средства размещения данных и их транспортировки между обрабатывающими программами, обеспечение вычислительных и сетевых ресурсов;

- Information Services, средства представления, запоминания и доступа к информации, управление ею;

- Knowledge Services, средства накопления, представления, обновления, "публикации"

(распространения) знаний для помощи учёному в его исследовательском процессе. Это самый высокий уровень в рассматриваемой архитектуре.

Разделение понятий "информация" и "знание" сделано просто: информация - это какие-то данные и их значение, определение, смысл ("данное целое число относится к температуре во время реакции", "эта строка - имя человека"), а знание - это информация, побуждающая к действию ("данное значение температуры критическое, необходима остановка реакции"). Соответственно "сервис" можно определить как программный процесс реализации какого-то действия с "рынка" служебных и прикладных программ в какой-то научной предметной области или междисциплинарных сферах: например, сервис автоматического уведомления учёных, заинтересованных в результатах проведённой другими сервисами обработки какого-то набора данных. Агенты в этой схеме - своеобразные "брокеры" на бирже ("рынке") программных услуг-сервисов, программные инициаторы ("пускачи") процессов: агент по своей инициативе или поручению от другого агента организует поиск нужного сервиса в каком-то репозитории, сверяет полномочия поручителя с указаниями в описании сервиса (кому и на каких условиях им можно пользоваться), запускает сервис в работу и предпринимает какие-то действия по концу его работы. В этом отношении обладание агентом определённого назначения (например, агентом, ответственным за уведомление заинтересованных учёных в результатах эксперимента или за запуск процесса обработки экспериментальных данных), собственной базой "описаний", нужных ему для выполнения своих обязанностей сервисов, крайне полезно. В свою очередь, сервисы, вызываемые в работу программными агентами по инициативе человека или прикладной программы, могут иметь дело с наборами информационных компонент Web/Grid и нуждаться в детальном знании об их содержании. Все подобные положения демонстрируются в указанной работе David De Rouge et al. детальным формализованным примером цикла полной автоматизации обработки экспериментальных данных в сетевой компьютерно-аппаратной среде: от начала поступления данных на анализ до подведения итогов результатов обработки научным сообществом. Здесь же подчеркивается и необходимость использования аппарата онтологий для описания и использования информации и знаний в общей трёхуровневой системе сервисов "семантического Grid".

Онтология в Web’е - это документ или файл с метаданными, который формально определяет классы, типы и свойства объектов, понятий, терминов, …, а также отношения между ними за счёт использования описаний свойств классов и подклассов и логических правил вывода. Пример такого правила для почтового сервиса из упомянутой статьи Tim Berners-Lee: " Если наименование города ассоциируется с наименованием штата и страны, и в адресе используется наименование (код) такого города, то такой адрес должен содержать ассоциированные коды штата и страны" или правило (определение) для генеалогической ИПС: "жена дяди есть тётя". По идее каждой коллекции (сайту, базе данных) должна быть сопоставлена (через URI типа URL) по крайней мере одна такая аннотирующая онтология. Как указывется в статье по семантическому Grid, проблемы аннотирования контента (содержания коллекций информации разных типов) и сервисов определяют необходимость порождения аппаратом онтологий следующих типов метаданных:

1) Domain ontologies: описания (концептуализация) важных объектов, их свойств и отношений между ними (согласованный набор аннотаций, понятий, определений в медицине; набор словарей для инженерного проектирования, ...);

2) Task ontologies: описания задач и процессов, их свойств и отношений (набор характеристик фаз процесса химического анализа, согласованный протокол для описания зависимостей между методами оптимизации, ...);

3) Quality ontologies: описание атрибутов знания (например, аннотации к тому, могут ли результаты, полученные какими-то средствами, быть более эффективно получены и расширены более совершенными средствами);

4) Value ontologies: характеристика тех атрибутов, которые относятся к установлению значимости (важности) контента ("стоимость" полученных физических данных, насколько широко был известен упомянутый на Web-странице результат …);

5) Personalization ontologies: описание истории обращений какого-то учёного к информационным ресурсам (через ссылку с его персональной Web-страницы на такого рода персональный онтологический документ), какой ещё контент мог бы представить для него интерес...;

6) Argumentation ontologies: широкий набор аннотаций, имеющих отношение к описанию причин - почему контент был накоплен (например, данные с какого-то эксперимента), почему он был использован тем или иным образом, кто его одобряет или не признаёт...

Отметим здесь сразу, например, оригинальную работу , , и по прототипу мультиагентной системы поиска в Интернет на основе использования онтологий предметных областей (domain ontologies) с их описанием средствами языка представления знаний "ОнтоПилот", доложенную на нашей конференции в 2001-м году.

Естественно, что создание таких онтологий (ручное или автоматическое) требует разработки формального программного аппарата: языковых средств, редакторов и т. д. с учётом того, что пользоваться ими будет не человек, а упомянутые программные агенты, информационно-поисковые системы и сервисы, поэтому применение естественных языков для создания и использования таких видов метаинформации пока крайне затруднительно.

Упомянутых ранее средств, появившихся в связи со стандартом синтаксиса представления данных на базе XML и использованных в целом ряде работ, доложенных на нашей прошлой конференции, явно недостаточно. XML даёт возможность каждому создавать свои собственные тэги ("скрытые метки"), которые как-то аннотируют Web-страницы или секции текста на странице. Программа может использовать эти тэги, но автор программы должен знать, для чего их завёл автор страницы (метка Algol могла быть выбрана не обязательно как обозначение языка программирования). Другими словами, XML сам по себе позволяет пользователям добавлять произвольные структуры к своим документам, но мало говорит о том, что эти структуры означают. Скажем, DTD-файл может рассматриваться как очень примитивный вариант онтологии, поскольку в основном это просто набор терминов (определений, понятий) без указаний отношений между ними (например, их эквивалентности). Это привело к разработке целой серии языков "on top of XML" (см., например, http://www. SemanticWeb. org/knowmarkup. html). Первыми примерами являются SHOE (Simple HTML Ontology Extension), XOL, OML, RDF и RDFS (Resource Description Framework Schema Language), … . Все они используют XML-синтаксис, но с немного отличными специальными именами тэгов. Более новое предложение, расширяющее RDF и RDFS - языки DAML (DARPA Agent Markup Language), OIL (Ontology Inference Layer) и варианты их объединения: DAML+OIL (см. http://www. daml. org). Отметим сразу в качестве одной из первых работ в России, использовавших возможности RDF и OIL, работу по системе ИСИР РАН, доложенную , и на конференции RCDL`2001. Использованию средств DAML+OIL посвящена работа и "Extensible Ontological Modeling Framework for Subject Mediator", доложенная на конференции RCDL`2002.

Инициатор проекта SHOE, James Hendler, на примере своего персонального сайта

(см. http://www. cs. umd. edu/~hendler) детально демонстрирует возможность организации и использования онтологий при разметке Web-страниц средствами SHOE и DAML+OIL

(см. разделы: http://www. cs. umd. edu/users/hendler/sciam/step2.html и http://www. cs. umd. edu/users/hendler/sciam/step3.html).

Сам этот сайт сформирован как пример коллекции сведений об учёном, приспособленной для автоматического распознавания программными агентами информации сайта за счёт определений терминов, их отношений и простейших логических правил вывода, содержащихся в онтологиях, на которые могут быть ссылки (не высвечиваемые браузером) с головной страницы. Это помогает компьютеру достаточно просто ответить на запрос типа "Where Hendler received his Ph. D."...

Каждая следующая языковая версия расширяет возможности предыдущих в основном за счёт усложнения логики, аппарата определений отношений между понятиями и правил вывода. Вот пример с сайта www. daml. org:

"Parenthood is more general relationship than motherhood" и "Mary is the mather of Bill " - эти два утверждения, сформулированные языком DAML, помогают DAML-ориентированной поисковой системе сделать вывод, что "Mary is the parent of Bill", так что если пользователь даст запрос "Who are Bill`s parents?", то система может ответить, что "Mary is one of Bill`s parents".В более формальном представлении: из определений (motherOf_subProperty_parentOf) и (Mary_motherOf_Bill) следует (Mary_parentOf_Bill) на основании логического определения "subProperty", заложенного в DAML-спецификации. Набор DAML-определений может автоматически породить новое определение. С помощью других Web-языков, таких как RDFS, можно реализовать данный выше пример, но DAML предлагает средства определения множества других стандартных свойств, правил и отношений, таких как эквивалентности (скажем, для понятий childOF на английском сайте и filsDe на французском).

Как уже говорилось, речь не идёт только об аннотировании наборов данных. Аппарат онтологий предполагается использовать и для "разметки" Web-сервисов, что позволило бы создать агенто-независимый декларативный API, целью которого является отыскание данных и метаданных, связанных с программными сервисами, вместе со спецификациями их свойств и возможностей, а также интерфейсов для их использования, определения условий и последствий такого использования. Для такой семантической разметки также можно использовать язык DAML, как указывается в работе McIlraith S. A. et al. "Semantic Web Services" (IEEE Intelligent Systems, 16, 46-53). См. также текст доклада по проекту DAML-S: DAML Services Coalition (Anupriya Ankolenkar et al.), "DAML-S: Web Services Description for the Semantic Web", Proceedings of the First International Semantic Web Conference (ISWC), June, 2002, pp. 348-363. Этим предоставляются программным агентам средства обнаружения Web-сервисов и обеспечения интероперабельности. В сегодняшней версии WSDL (Web Services Description Language), предусмотренного архитектурой OGSA (Open Grid Services Architecture), предоставление доступа к какому-либо сервису поддерживается формализованным (на основе спецификаций XML Schema) синтаксическим и семантическим описанием сервиса, достаточным потенциальному клиенту для правильного оформления и отсылки сервису SOAP-сообщения и правильного восприятия его реакции, если она охарактеризована в его описании (см. http://www. w3.org/TR/2003/WD-wsdl/).

На базе DAML+OIL рабочей группой OMG создаётся следующая версия языка описания онтологий в Web: Ontology Web Language (OWL), см. http://owl. mindswap. org. О том, что вся эта тематика ещё сравнительно новая и до сих пор остаётся много нерешенных проблем, свидетельствует хотя бы то, что Первая международная конференция по семантическому Web (ISWC) состоялась всего лишь в 2002-м году.

Мы говорим о возможности создания умных информационных систем, которые, используя наличие отдельных онтологических описаний компонент в Web или их репозиториев для предметных областей (т. е. связанных по тематике, релевантных), могут автоматически выполнять сложные запросы пользователей. Одна из проблем - создание аппарата генерации таких систем. Эта проблема тесно смыкается с общей проблемой генерации распределённых программных комплексов и сервисов, с их проектированием и порождением объектного кода на самых разных языках: Java, Fortran, Cobol, C++, C#, ... С недавнего времени практически стандартной стала методология моделирования (MDA, Model Driven Architecture) и реализации таких комплексов с применением возможностей и графических средств языка UML (Unified Modelling Language, см. http://www. omg. org/UML/): можно описать модель (схему) комплекса или его отдельного модуля, сгенерировать source code, "проиграть" (протестировать) эту модель на предмет правильности или эффективности проекта программы, автоматически породить из source-кода UML-схему, транспортировать UML - модель в репозиторий или какому-то другому специальному программному средству

(используя XMI, XML Metadata Interchange) для усовершенствования или выполнения следующего шага в выбранном процессе развития программмы. При автоматической генерации текста программы может быть использован аппарат связки программных объектов средствами, предусмотренными, например, в CORBA-архитектуре (с помощью её программных брокеров). Между прочим, идея представления схем проектируемых программ компьютерными графическими средствами широко пропагандировалась ещё в СССР много лет назад и была известна под именем "Р-технология Вельбицкого". В современных условиях следует упомянуть работы по применению возможностей UML и родственных ему языков, проводимые на Западе (например, физиками в ЦЕРН: их результатами и инструментальными средствами пользуются и в ОИЯИ), и в России: например, в ИСП РАН и ИПИ РАН. В ИПИ РАН они ведутся под руководством и реализуют методологию композиционного проектирования информационных систем, в котором выбранный метод анализа и проектирования, использующий изобразительные средства UML, расширяется применением онтологических описаний (спецификаций) семантически интероперабельных компонент, которые могут быть использованы для композиции: здесь начинают работать подходы, заложенные в ИПИ в проекте СИНТЕЗ ещё в 1993-м году. Для работы с UML - диаграммами применяются пока в основном коммерческие продукты (от фирм Rational Rose, Platinum и др.). В рамках работ OMG (Object Management Group) в тесном сотрудничестве с Консорциумом W3C запланировано для задач проектирования и композиции систем создание онтологической модели ODM на основе UML2, которая обеспечивала бы возможность отображения в неё языка OWL (он фактически основан на упомянутом выше DAML+OIL).

Все упомянутые работы в равной степени относятся к созданию семантических Web и Grid, ориентирующихся на использование Web-сервисов и архитектур типа CORBA и OGSA

(Open Grid Services Architecture) при построении распределённых программных систем, о которых я упоминал ещё в прошлогоднем докладе на нашей конференции. В интервью, данном еженедельнику PC WEEK/RE (см. номер 9 от 19 марта с. г.), председатель правления и исполнительный директор OMG Ричард Соли отмечает, что на первом месте среди основных направлений деятельности OMG стоит обеспечение полной поддержки Web-сервисов в MDA (Model Driven Architecture): уже есть механизмы отображения UML-моделей в средства CORBA и OGSA, основанные на использовании SOAP-протокола для обмена сообщениями между сервисами и WSDL как средства для описания интерфейсов Web-сервисов и их каталогизации, с возможным применением UDDI (Universal Description, Discovery and Integration).

Сейчас разработчики и пользователи только на подходе к семантическим Web и Grid: есть задел по выработке развитых языковых средств и их реализации для формального представления семантики и работы с нею, есть несколько примеров реализации информационных компонент в Web с их онтологическими описаниями, пригодными для использования Web-агентами и сервисами, однако в целом в заметных приложениях использование метаданных (для создания разделяемых словарей, онтологий и т. п.) не вышло на более высокий уровень, чем предоставляемый средствами упомянутого выше RDF: нужен аппарат автоматизированной генерации онтологий, их включения в репозитории, применения аппарата распознавания знаний на естественных языках и т. п. Мы пока должны по крайней мере отслеживать движение в этом направлении, организуемое Консорциумом W3C, сотрудничающими с ним организациями типа DARPA и фирмами (IBM, Microsoft, SUN, HP и др.). Это отслеживание включает в себя не только сбор описательной информации из статей типа тех, что приведены в тексте данного обзора, но и опробование (даже на модельных примерах) на основе открытой документации и инструментальных средств, доступных в Интернет (например, средств пакета JWSDL фирмы SUN для поддержки работы с Web-сервисами). О подобной систематизации знаний и их опробовании я говорил в докладе в прошлом году, она продолжается по тому новому разделу Web Services, который вошёл в состав документации и программного обеспечения сайта ОИЯИ (см. http://dbserv. *****/js).

2003 г.