Semantic annotation of Web-services

The importance of describing Web services at the processes level and of creating mechanisms for dealing with such descriptions is widely recognized. Defining and client’s understanding semantics of each elements of such process provides possibilities of their adequate selection and application. Usag...

Full description

Saved in:
Bibliographic Details
Date:2017
Main Author: Zakharova, O.V.
Format: Article
Language:Ukrainian
Published: PROBLEMS IN PROGRAMMING 2017
Subjects:
Online Access:https://pp.isofts.kiev.ua/index.php/ojs1/article/view/159
Tags: Add Tag
No Tags, Be the first to tag this record!
Journal Title:Problems in programming
Download file: Pdf

Institution

Problems in programming
id pp_isofts_kiev_ua-article-159
record_format ojs
resource_txt_mv ppisoftskievua/93/6c5788c811a8c83539403bca35238f93.pdf
spelling pp_isofts_kiev_ua-article-1592018-07-12T14:26:41Z Semantic annotation of Web-services Семантическая аннотация Веб-сервисов Семантична анотація Веб-сервісів Zakharova, O.V. semantic Web-service; de-scription logic; types of semantics; semantic annotation; process model; semantic Web-services composition; annotating stages; annotation file; minimization of annotations UDC 004.94 семантический Веб-сервис; дескриптивная логика; типы семантик; семантическая аннотация; модель процесса; композиция семантических Веб-сервисов; этапы аннотирования; файл аннотации; минимизация аннотаций УДК 004.94 семантичний Веб-сервіс; дескриптивна логіка; типи семантик; семантична анотація; процесна модель; композиція семантичних Веб-сервісів; етапи анотування; файл анотації; мінімізація анотацій УДК 004.94 The importance of describing Web services at the processes level and of creating mechanisms for dealing with such descriptions is widely recognized. Defining and client’s understanding semantics of each elements of such process provides possibilities of their adequate selection and application. Usage and formalization of annotations opens the way to automated solutions of such complex Web services task as composition. In this article annotation role is defined. Semantics types submitted in annotations is considered in relation with existing Web-services problems on all their life circle stages. Web-service is considered both in terms of data, and of view of behavior. Main annotating stages are described. It is considered the problem of minimization of annotations as a mechanism to improve the efficiency of solving Web services problems. The place and the role of DL in web services semantization is defined. Важность описания Веб-сервисов на уровне процессов и создания механизмов для работы с такими описаниями широко признана. Определение и понимание клиентом семантик каждого элемента такого процесса обеспечивает возможность их адекватного выбора и применения. Использование и формализация аннота-ций открывает путь к автоматизированному решению такой сложной задачи Веб-сервисов, как композиция. В данной работе определяется роль аннотаций. Типы семантик, представляемых в аннотациях, рассматриваются во взаимосвязи с существующими задачами Веб-сервисов на всех этапах их жизненного цикла. При этом Веб-сервис рассматривается как с точки зрения данных, так и с точки зрения поведения. Описаны основные этапы аннотирования. Рассматривается проблема минимизации аннотаций, как механизм повышения эффективности решения проблем Веб-сервисов. Определяется место и роль дескриптивных логик в семантизации Веб-сервисов. Важливість опису Веб-сервісів на рівні процесів та створення механізмів для роботи з такими описами широко визнана. Визначення та розуміння клієнтом семантик кожного елементу такого процесу забезпечує можливість їх адекватного вибору та застосування. Використання та формалізація семантичних анотацій відкриває шлях до автоматизованого вирішення такої складної задачі Веб-сервісів, як їх композиція. В даній роботі визначається роль анотацій. Типи семантик, що надаються в анотаціях, розглядаються у взаємозв’язку з існуючими задачами Веб-сервісів на всіх етапах їх життєвого циклу. При цьому Веб-сервіс розглядається як з точки зору даних, так і поведінки. Наведені основні етапи анотування. Розглядається проблема мінімізації анотацій, як механізму підвищення ефективності вирішення проблем Веб-сервісів. Визначається місце та роль дескриптивних логік в семантизації Веб-сервісів. PROBLEMS IN PROGRAMMING ПРОБЛЕМЫ ПРОГРАММИРОВАНИЯ ПРОБЛЕМИ ПРОГРАМУВАННЯ 2017-06-16 Article Article application/pdf https://pp.isofts.kiev.ua/index.php/ojs1/article/view/159 PROBLEMS IN PROGRAMMING; No 4 (2015) ПРОБЛЕМЫ ПРОГРАММИРОВАНИЯ; No 4 (2015) ПРОБЛЕМИ ПРОГРАМУВАННЯ; No 4 (2015) 1727-4907 uk https://pp.isofts.kiev.ua/index.php/ojs1/article/view/159/153 Copyright (c) 2017 ПРОБЛЕМИ ПРОГРАМУВАННЯ
institution Problems in programming
baseUrl_str https://pp.isofts.kiev.ua/index.php/ojs1/oai
datestamp_date 2018-07-12T14:26:41Z
collection OJS
language Ukrainian
topic semantic Web-service
de-scription logic
types of semantics
semantic annotation
process model
semantic Web-services composition
annotating stages
annotation file
minimization of annotations
UDC 004.94
spellingShingle semantic Web-service
de-scription logic
types of semantics
semantic annotation
process model
semantic Web-services composition
annotating stages
annotation file
minimization of annotations
UDC 004.94
Zakharova, O.V.
Semantic annotation of Web-services
topic_facet semantic Web-service
de-scription logic
types of semantics
semantic annotation
process model
semantic Web-services composition
annotating stages
annotation file
minimization of annotations
UDC 004.94
семантический Веб-сервис
дескриптивная логика
типы семантик
семантическая аннотация
модель процесса
композиция семантических Веб-сервисов
этапы аннотирования
файл аннотации
минимизация аннотаций
УДК 004.94
семантичний Веб-сервіс
дескриптивна логіка
типи семантик
семантична анотація
процесна модель
композиція семантичних Веб-сервісів
етапи анотування
файл анотації
мінімізація анотацій
УДК 004.94
format Article
author Zakharova, O.V.
author_facet Zakharova, O.V.
author_sort Zakharova, O.V.
title Semantic annotation of Web-services
title_short Semantic annotation of Web-services
title_full Semantic annotation of Web-services
title_fullStr Semantic annotation of Web-services
title_full_unstemmed Semantic annotation of Web-services
title_sort semantic annotation of web-services
title_alt Семантическая аннотация Веб-сервисов
Семантична анотація Веб-сервісів
description The importance of describing Web services at the processes level and of creating mechanisms for dealing with such descriptions is widely recognized. Defining and client’s understanding semantics of each elements of such process provides possibilities of their adequate selection and application. Usage and formalization of annotations opens the way to automated solutions of such complex Web services task as composition. In this article annotation role is defined. Semantics types submitted in annotations is considered in relation with existing Web-services problems on all their life circle stages. Web-service is considered both in terms of data, and of view of behavior. Main annotating stages are described. It is considered the problem of minimization of annotations as a mechanism to improve the efficiency of solving Web services problems. The place and the role of DL in web services semantization is defined.
publisher PROBLEMS IN PROGRAMMING
publishDate 2017
url https://pp.isofts.kiev.ua/index.php/ojs1/article/view/159
work_keys_str_mv AT zakharovaov semanticannotationofwebservices
AT zakharovaov semantičeskaâannotaciâvebservisov
AT zakharovaov semantičnaanotacíâvebservísív
first_indexed 2025-07-17T10:04:25Z
last_indexed 2025-07-17T10:04:25Z
_version_ 1850412654623981568
fulltext Програмування для комп’ютерних мереж та Internet © О.В. Захарова, 2015 ISSN 1727-4907. Проблеми програмування. 2015. № 4 49 УДК 004.94 О.В. Захарова СЕМАНТИЧНА АНОТАЦІЯ ВЕБ-СЕРВІСІВ Важливість опису Веб-сервісів на рівні процесів та створення механізмів для роботи з такими описа- ми широко визнана. Визначення та розуміння клієнтом семантик кожного елементу такого процесу забезпечує можливість їх адекватного вибору та застосування. Використання та формалізація семан- тичних анотацій відкриває шлях до автоматизованого вирішення такої складної задачі Веб-сервісів, як їх композиція. В даній роботі визначається роль анотацій. Типи семантик, що надаються в анота- ціях, розглядаються у взаємозв’язку з існуючими задачами Веб-сервісів на всіх етапах їх життєвого циклу. При цьому Веб-сервіс розглядається як з точки зору даних, так і поведінки. Наведені основні етапи анотування. Розглядається проблема мінімізації анотацій, як механізму підвищення ефективно- сті вирішення проблем Веб-сервісів. Визначається місце та роль дескриптивних логік в семантизації Веб-сервісів. Ключові слова: семантичний Веб-сервіс, дескриптивна логіка, типи семантик, семантична анотація, процесна модель, композиція семантичних Веб-сервісів, етапи анотування, файл анотації, мінімізація анотацій. Вступ Останнім часом сервіс-орієнтована архітектура (SOA) набула стану широко використовуваної парадигми, де основою для вирішення бізнес-задачі є Веб- сервіси. З розвитком цієї галузі підприєм- ства переходять від використання станда- ртів Веб-сервісів для встановлення стати- чних зв’язків між компонентами до необхідності дослідження динамічних пропозицій, таких як повторне викорис- тання сервісів, їх взаємодія, автоматична побудова складного композитного серві- су, що буде реалізовувати конкретну біз- нес-задачу. Блоки побудови рішень, на базі SOA, це окремі, самостійно-описані Веб-сервіси, що можуть повторно ви- користовуватися різними прикладними системами. Щоб правильно обрати та викорис- товувати Веб-сервіс провайдера, клієнт по- винен розуміти семантики кожної його операції. Іншими словами, мати можли- вість однозначно розшифрувати ціль, на яку спрямована кожна з операцій, як і пе- редбачуваний зміст усіх її параметрів. Для цього необхідно: • узагальнена модель домену або онтологія предметної області (ПО), де по- годжені всі терміни (імена операцій та па- раметрів) між провайдерами сервісів та клієнтами; • коментування всіх аспектів сер- вісу; • елементи сервісу мають аноту- ватися термінами з моделей домена (он- тології ПО). Зрозуміло, що анотування Веб-сер- вісу засобами формальних мов моделю- вання забезпечить можливість машинної обробки анотацій та прийняття рішення щодо використання сервісу. З іншого боку, надмірна семантична інформація суттєво перевантажить опис Веб-сервісу та зро- бить складнішим його використання. То- му, головна мета цього дослідження поля- гає у тому, щоб на базі аналізу існуючих підходів: • визначити роль та місце семан- тик у процесі пошуку ефективного вирі- шення проблеми автоматизованої компо- зиції семантичних Веб-сервісів, що пред- ставлені процедурним описом; • визначити принципи та важелі оптимальності використання семантичних описів з метою підвищення ефективності вирішення задач Веб-сервісів; • визначити місце та доцільність використання апарату ДЛ для визначення семантик сервісів; • дійти висновків щодо ефектив- них методів формального визначення са- мих семантик. Програмування для комп’ютерних мереж та Internet 50 Задачі Веб-сервісів та типи семантик Веб-сервіс можна розглядати з то- чки зору його даних та поведінки. Опис даних це фактично визначення типів да- них, що використовуються сервісом. По- ведінковий аспект – це опис операцій сер- вісу. Відповідно, семантично анотування Веб-сервісів передбачає пояснення точ- них семантик елементів даних та функціо- нальності Веб-сервіса. Це має вирішальне значення для його використання та здійс- нюється шляхом анотування елементів Веб-сервісів концептами моделей домену або онтологій. Онтології представляють погоджений погляд на змодельований до- мен сервісів, тому виключається будь-яка неоднозначність в інтерпретації функціо- нальності або даних Веб-сервісу. Мета анотування Веб-сервісів [1] полягає у то- му, щоб створити можливість не- двозначного та автоматизованого вияв- лення та композиції сервісів. Щоб визначити, яку частину Веб- сервіса потрібно анотувати, важливо розу- міти взаємодію семантик в життєвому цик- лі сервіса та як ці семантики використову- ються у Веб-сервісі. При вирішенні задач виявлення Веб-сервісів або синтезу складного компо- зитного Веб-сервісу, запитувач описує свої вимоги до потрібного сервісу в термінах його функціональності (операцій Веб- сервісів) та даних, що ним використову- ються, а саме – входів та виходів (напри- клад, які відношення існують чи повинні існувати між даними, поданими на вхід сервісу, і даними, отриманими як відповіді від сервісу). Окрім цього, специфікації сервісів можуть включати передумови та ефекти. Передумови – це вимоги, які мають задо- вольнятися до виконання операції Веб-сер- вісу, а ефекти є результатами виконання операції. Так, наприклад, анотації можуть дозволити описати ефекти, асоційовані з успішними виконаннями, а це, в свою чер- гу, забезпечить ідентифікацію успішних виконаннь сервісу і дозволить відрізнити їх від збоїв. Таким чином, семантичні ано- тації пов’язані з входами, виходами, пере- думовами та ефектами елемента операції Веб-сервіса. Більш розвинені механізми виявле- ння розглядають також не функціональні аспекти Веб-сервісів [2, 3] та вимоги спо- живача, такі як метрики якості, надійність, безпека, вартість, ступінь довіри і т. і. Вирішуючи задачі на рівні процесів, потрібна можливість виражати вимоги на поведінку сервісу. Цього можна досягти за допомогою використання мов представ- лення, що засновані на темпоральній логіці (наприклад, CTL [4]), збагачених тверд- женнями концепту та ролі дескриптивної логіки (ДЛ). Додавання семантик доцільне та має свої переваги на всіх етапах життєвого циклу Веб-процеса. Розробники можуть використовувати семантичні анотації для пояснення можливостей своїх Веб- сервісів. Запитувач може формулювати свої вимоги для виявлення або композування Веб-сервісів у шаблоні семантичного сер- вісу [5]. Шаблон семантичного сервісу – це абстрактний опис сервісу, де потік уп- равління створюється вручну, а потрібна функціональність описується, використо- вуючи терміни з моделі домена або онто- логії. Техніки міркувань можуть викорис- товуватись для порівняння вимог в шабло- ні сервісу з можливостями Веб-сервісів, що доступні в реєстрі (UDDI), для вияв- лення сервісів. В ході композиції, функціо- нальний аспект анотацій може використо- вуватися для створення корисних компо- зицій сервісів. Виходячи із загальних задач та про- блем Веб-сервісів, можна виділити насту- пні типи семантик (таблиця) [6]. Якісне вирішення комплексної зада- чі побудови композитного сервісу, що від- повідатиме бізнес-цілі, потребує викорис- тання всіх наведених типів семантик. При вирішенні вище наведених за- дач Веб-сервіси можна класифікувати що- до моделей їх взаємодії: • атомні Веб-сервіси, що розгля- даються як «чорна скринька», тобто опи- суються своїми параметрами (вхід, вихід, передумови, післяумови); Програмування для комп’ютерних мереж та Internet 51 Таблиця Тип семантик Опис Задачі, де використовується Семантики даних Формальне визначення даних у вхідних та вихідних повідом- леннях Веб-сервісів Задачі виявлення сервісів та забезпе- чення інтероперабельності між сер- вісами Функціональні семантики Формальне визначення функ- ціональності сервісу Задачі виявлення та композиції Веб- сервісів Нефункціональні семантики Формальне визначення кількі- сних або некількісних обме- жень таких як: якість сервісу, мінімальна вар- тість та правила доступу, ви- моги до кодування повідом- лень Задачі виявлення, композиції та ін- тероперабельності Веб-сервісів Семантики виконання Формальний опис виконання або потоку сервісів в процесі або операціях всередині серві- су Процес верифікації або обробки ви- ключень. Верифікація включає пе- ревірку коректності (поток даних та управління) композиції сервісів. Ме- та обробки виключень полягає у ідентифікації точок розриву у Веб- процесі та визначенні, як це по- долати та діяти далі від таких точок • поведінкові, Веб-сервіси, що базуються на поведінковій (процесній) мо- делі, часто називаються «сірою скринь- кою», описуються порядком виконання операцій. Нас будуть цікавити, перш за все, проблеми анотування сервісів, що пред- ставлені поведінковою моделлю. Поведін- кові моделі сервісу можуть використовува- тися для виконання завдань перевірки, ви- явлення, вибору і композиції, та для вира- ження вимоги до сервісу на рівні процесу [7]. Всі ці завдання потребують перевірки певних умов на поведінку і семантику да- ного сервісу. Наприклад, якщо розглянути задачу вибору процесу, то ми маємо набір процесів і специфікацію користувача, ви- бір полягає у розпізнаванні, які процеси задовольняють дану специфікацію. Вико- ристання семантики дозволяє виразити і процеси, і специфікації як семантично зба- гачені моделі. У випадку поведінкового представ- лення інтерфейс сервісу описує процес, що взаємодіє з іншими сервісами на різних стадіях, які можуть мати різні керуючі конструкції, наприклад, послідовність, умова і ітерація. Таке представлення включає поняття стану, і такий Веб-сервіс може бути відображений у систему пере- хідного стану (STS) [8]. Етапи семантизації сервісу Кінцевою метою вирішення більшо- сті задач Веб-сервісів є ефективне вирі- шення бізнес-задач, шляхом синтезу відпо- відного Веб-сервісу, що її реалізує. Так як, нас цікавить поведінкова модель сервісу, ми розглядаємо сервіси, що описані як си- стеми з фіксацією станів. Тобто мова йде про створення методів автоматизованої композиції семантичних Веб-сервісів, представлених процедурним описом. Се- мантичні описи таких Веб-сервісів відкри- вають шлях до автоматизації їх компози- ції. Але, слід зазначити, що методи авто- матизованої композиції повинні викорис- товувати обмежену, корисну і задовільну, кількість семантичних міркувань. Одна з ключових ідей досягнення цієї мети полягає в окремому збереженні процедурного опису процесів і онтологіч- них описів, і додавання семантичних ано- тацій, які їх пов’язують. Програмування для комп’ютерних мереж та Internet 52 Процедурна поведінка Веб-сервісу описується мовами, які були розроблені для опису процесів, а семантика даних, якими обмінюються процеси, – в окремій онтологічній мові. Та нарешті, ці два опи- си повинні бути пов'язані семантичними анотаціями поведінкових описів, які зіста- вляються з онтологічними концептами. В роботі [1] пропонується підхід, де пропонується алгоритм заземлення (grounding), що включає семантичні анота- ції в STS, що моделює Веб-сервіси. Це до- зволяє отримати STS модель, яка опрацьо- вується існуючими контролерами моделей (model checker) [9] та планувальниками [10], щоб вирішити проблеми верифікації, вибору та композиції. Запропонований підхід спрямований головним чином на збереження оригінального синтаксису BPEL [11] і WSDL [12] файлів, і анотація поміщається в інший файл з посиланнями на BPEL і WSDL через вирази XPath. Дана методологія [1] містить чоти- ри етапи: анотація (annotation), конверту- вання моделі (model translation), за- землення (grounding), перевірка моделі (model checking). Анотація. Визначення даних і пове- дінки процесу збагачуються посиланнями на онтологію. Онтологія повинна бути за- гальноприйнятою формалізацією деякої області. Конвертування моделі. Вираження процесу в іншій формі, яка може бути пе- ревірена легко і автоматично. Зокрема, ос- кільки контролери моделі (model checker) зазвичай мають справу з деяким видом си- стем перехідних станів, доцільно перево- дити анотований BPEL процес в анотовану систему переходів станів (Annotated State Transition Systems - ASTS). Цей крок може виконуватися автоматично. Відомі також розробки по конвертуванню OWL-S про- цесів в HTN-DL [13], що дозволяє одразу застосовувати дану систему AI планування для вирішення задачі автоматичної компо- зиції сервісів. Але алгоритми транслюван- ня BPEL-процесів HTN-DL та питання до- цільності такого перетворення є предме- том подальших досліджень. Заземлення (grounding) – це проце- дура, за допомогою якої семантичні анота- ції "звужуються" до чисто синтаксичної форми, грубо кажучи, твердження концеп- тів і ролі перетворюються в логічні ви- словлювання. З технічної точки зору, ко- жен анотований стан – це база знань. То- му, дізнатися, які твердження виконуються в цьому стані, можна за допомогою query answering service [14] ДЛ. Це гарантує, що анотації можна трактувати за допомогою існуючих контролерів моделі, які пра- цюють тільки з висловлюваннями (propo- sition). Заземлення повинно застосовувати- ся як до формального представлення про- цесу, так і до специфікації мети. У випад- ку, якщо ми конвертували анотований BPEL процес в анотовану STS, заземлення застосовується до анотованої STS і до спе- цифікації мети, яка може бути виражена в анотованій CTL. Результатом виконання алгоритму заземлення, у такому випадку, є заземлена (пропозиціональна) STS і за- землена (пропозиціональна) CTL специ- фікація. Фаза перевірки моделі полягає у перевірці, чи підтверджується специфіка- ція заземленої мети (наприклад, пропози- ціональна CTL) заземленою моделлю про- цесу (наприклад, пропозиціональна STS). Використання ДЛ для анотування Веб-процесів Стратегія анотації Веб-сервісів се- мантикою повинна охоплювати як статич- ні анотації, що «орієнтовані на дані», так і процедурні – «орієнтовані на процес». Відповідно до понять дескриптив- ної логіки [15], в межах даної, загально- прийнятої онтології існує термінологічний компонент (Т-BOX) [16] і стверджуваль- ний (assertional) компонент (A-BOX). T- BOX містить визначення концептів, а та- кож відношення узагальнення та агрегації між ними. Вважаємо, що T-BOX є єдиним для всіх сервісів, які необхідно анотувати в домені. Він містить всі концепти, які необ- хідно представляти в домені застосування. Якщо анотації винести до окремого файлу (із посиланнями на файл процесу), то це дозволить глобальні твердження, які дійсні для всіх станів процесу, а саме твердження T-BOX, не повторювати в описі кожного Програмування для комп’ютерних мереж та Internet 53 стану процесу, а визначити однократно у відповідному розділі файлу анотацій. A-BOX містить визначення тверд- ження двох різних типів: твердження кон- цептів та твердження ролі. З кожним ста- ном кожного сервісу пов’язується свій А- BOX. Він описує наслідки даної дії в тер- мінах тверджень концепту і ролі. Тим не менш, є деякі твердження, які не залежать від будь-яких дій, але виконуються скрізь. Такі твердження завжди істині, незалежно від того, як розвивається процес. Твердження концептів мають ви- гляд: а : C. Такий вираз означає, що інди- від а є екземпляром концепту С. Твер- дження ролі визначають значення, які ма- ють певні ролі індивідуумів. Вони мають форму a.R = b. Інтуїтивно, такий вираз означає, що значення атрибуту R індивіда а є b, де b є інший індивід або літерал. Ро- лі, які використовуються в твердженні ро- лі, визначаються в термінологічній частині онтології. Розглянемо як приклад задачу за- безпечення сервісу віртуального агенства [17] шляхом композиції існуючих тран- спортних і готельних сервісів. Призначен- ня сервісу – визначити прийнятний пакет відпустки, відповідно до запитів користу- вача. Вибір постачальників сервісів може залежати від обмежень, які задані кінце- вим користувачем і знаннями в предметній області. Так, наприклад, він може врахо- вувати особливості подорожі залежно від міста призначення та тривалості, допусти- мих типів розташування та транспортних засобів. Припустимо, що замовник хоче побудувати такий сервіс для короткостро- кових подорожей, та накладає наступні обмеження: подорож може здійснюватися літаком або потягом з зупинкою в місті призначення в готелі або гостьовому бу- динку. Враховуючи наведені обмеження, можна дійти висновку, що для побудови результуючого сервісу нам необхідно ком- позувати сервіси: • бронювання квитків на літак, • бронювання квитків на потяг, • бронювання готелів, та • бронювання гостьових будинків. Подібні за функціональністю серві- си різних провайдерів можуть містити різ- ний ланцюжок операцій та використовува- ти різні онтології домену. Тому, необхід- но, перш за все, створити єдину узагальне- ну онтологію. В даному випадку відповід- ний узагальнений TBox може містити на- ступні твердження: В наведеному описі термінології сутності Date, Client, Location, Trip, Acco- mmodation складають спільну частину до- мену, та їх можна розглядати як частину знань домену. Решта понять (Flight,Train, Hotel, GuestHouse) є специфічними для Веб-сервісів, які використовуються в ком- позиції і можуть бути отримані шляхом відображення локальної онтології кожного Веб-сервісу в загальну онтологію. Визначення понять Trip та Accom- modation містять статус ролі, значеннями яких є концепт Status. Ця роль фіксує по- точний стан запиту клієнта и може прий- мати наступні значення: Available – якщо поїздка (проживання) доступні; NotAvailable – коли поїздка (проживання) не доступні, booked – коли поїздка (про- живання) замовлені та cancelled коли поїз- дка (проживання) анульовані. Ці значення фактично є екземплярами концепту Status і повинні бути визначені в ABox: available : Status, notAvailable : Status, booked : Status, cancelled : Status Окрім цього, концепт Gender може приймати лише одне з двох значень male Програмування для комп’ютерних мереж та Internet 54 або female, і вони теж повинні бути пере- раховані в ABox: male : Gender, female : Gender ДЛ є формальною мовою, підтри- мує концепцію відкритого світу та власні механізми міркувань. Все це робить її ба- жаною та ефективною як для представлен- ня функціональної частини опису Веб- сервісу, так і для представлення семантич- них елементів (анотацій) у процедурному описі Веб-сервісу. А така властивість ДЛ, як підтримка можливостей логічного виве- дення, забезпечує ефективність вирішення багатьох задач Веб-сервісів, як елементів загальної складної задачі композиції. Розширення процедурного опису сервісу семантичними анотаціями Як вже було зазначено вище, для процедурного опису сервісу використову- ється абстрактний BPEL. BPEL [11] забез- печує операційний опис поведінки Веб- сервісів на верхній частині інтерфейсів сервісів, які визначені в специфікації WSDL. Абстрактний опис BPEL визначає партнерів сервісу, його внутрішні змінні і операції, які спрацьовують від виклику сервісу деякими з партнерів. Операції включають в себе призначення змінних, виклик інших сервісів та отримання відпо- відей, породження паралельних потоків виконання і недетермінованого вибору од- ного серед різних напрямів дій. Так, наприклад, для сервісу резерва- ції польотів абстрактний BPEL опис може мати наступний вигляд (опис та склад опе- рацій схожих за функціональністю сервісів може відрізнятися для сервісів різних про- вайдерів) [17]: <process name=”FlightReservation”> <partnerLinks> <partnerLink name=”client” partnerLinkType=”FtRes_PLT” myRole=”FtRes_Server” partnerRole=”FtRes_Client”/> </partnerLinks> <variables> <variable name=”req” messageType=”flightRequest”/> <!-- ”req” contains parts ”/req/start”, ”/req/des”, and ”/req/date” ---> <variable name=”pax” messageType=”paxInformation”/> <!-- ”pax” contains part ”/offer/client” --> <variable name=”offer” messageType=”flightOffer”/> <!-- ”offer” part ”/offer/fl” -- > </variables> <sequence name=”main”> <receive operation=”request” variable=”req” partnerLink=”client” semann=”/req/start : Location, /req/dest : Location, /req/date : Date”/> <switch name=”checkAvailability”> <case name=”isNotAvailable”> <invoke operation=”not_avail” partnerLink=”client” semann=”/offer/fl : Flight, /offer/fl.status = notAvailable”/> </case> <otherwise name=”isAvailable”> <assign name=”prepareOffer”> <copy><from opaque=”yes” semann=”/offer/fl : Flight, /offer/fl.start = /req/start, /offer/fl.destinati on = /req/dest, /offer/fl.date = /req/date”/> <to variable=”offer” part=”fl”/></copy> </assign> <invoke operation=”offer” inputVariable=”offer” partnerLink=”client”/> <pick name=”waitAcknowledge”> <onMessage operation=”ack” cariable=”pax” partnerLink=”client” semann=”/pax/cl ient : Client, /offer/fl.pax = /client/pax, /offer/fl.status = booked”/> <onMessage operation=”nack” partnerLink=”client” Програмування для комп’ютерних мереж та Internet 55 semann=”/offer/flight.st atus = cancelled”/> </pick> </otherwise> </switch> </sequence> </process> BPEL специфікація досить детально описує взаємодії, які необхідно виконати з Веб-сервісом для його використання. Але вона не містить опису семантичних аспек- тів таких взаємодій, і тому не є достатньою для автоматичної композиції такого Веб- сервісу з іншими. Тому, BPEL специфіка- ції розширюються «семантичними анотаці- ями». У наведеному вище описі такі сема- нтичні анотації є значеннями атрибутів semann. Специфікацію можна умовно розді- лити на дві частини: декларація змінних, які використовуються у вхідних/вихідних повідомленнях, та решта частина абстрак- тної специфікації BPEL, що описує потік взаємодії. Наведений приклад досить наочно демонструє основні аспекти використання семантичних анотацій, а саме: • для забезпечення зв’язку по- нять в онтології з вхідними та вихідними повідомленнями, якими обмінюється про- цес. В наведеному прикладі цю роль ві- діграють семантичні анотації «/req/start : Location, /req/dest : Location, /req/date : Date» діяльності receive для операції request на початку опису; • щоб виразити «семантичні» відношення між значеннями вхідних і вихідних параметрів, якими обміню- ються Веб-сервіси при взаємодії. В на- веденому прикладі, це визначається в анотації «/offer/fl.start = /req/start, /offer/fl.destination = /req/dest, /offer/fl.date = /req/date»; • для визначення результату вза- ємодії з Веб-сервісом. У даному прикладі, рейс бронюється лише за умови його доступності. Сервіс відсилає пропозицію і користувач визнає згоду з пропозиці- єю. Щоб виразити це в BPEL специфіка- ції, в діяльність, що відповідає за отри- мання підтвердження, додано анотацію «/offer/status = booked». Таким чином, семантичні анотації необхідні, щоб корегувати особливості ін- терфейсу, і визначати це у відношенні із загальною онтологією. Але включення се- мантичних анотацій до процедурного опису значно його перевантажують, збіль- шують розмір BPEL-файлу. Тому, слід за- значити доцільність: • використання лише необхідних анотацій, що безпосередньо впливають на ефективність вирішення цільової задачі, а саме лише визначених вище типів семан- тик; • зберігання анотацій в окремому файлі (окремо від процедурного опису). Схема файлу анотації Як вже було зазначено, утримання анотації окремо від процедурного опису сервісу значно спрощує опис процесу, перш за все, завдяки тому, що загальна інформація, яка істинна у всіх його ста- нах, в описі кожного стану не повто- рюється. В такому випадку, загальний опис Веб-сервісу, що надає інформацію про дані, які використовуються сервісом та представленим інтерфейсом, зберіга- ються в окремому файлі. Таким чином, ми маємо процедурний опис Веб-сервісу, узагальнену онтологію домену та файл анотації в окремому файлі. Це може бути файл, визначений на синтаксисі XML, який буде зв’язуватися з відповідними файлами процедурного опису та онтології за допомогою XPath запитів. Виходячи з визначених вище типів семантик та місця і ролі анотацій у вирі- шенні задач Веб-сервісів, файл анотації повинен містити наступні розділи (XML схема [1]). Анотації типів даних. Вводять обмеження на процедурні анотації, тобто А-BOX-и, пов’язані з системою перехід- ного стану. Декларації. У цьому розділі перера- ховуються всі індивіди, які використову- ються в твердженнях. Глобальні твердження. Являють собою твердження концепту та ролі, які Програмування для комп’ютерних мереж та Internet 56 виконуються у кожному стані процесу. Вони є синтаксичним цукром (sintactic sugar), так як вони визначаються тільки, щоб уникнути їх повторення в кожному стані. Процедурна анотація містить набо- ри тверджень концептів та ролі та завжди звертається до конкретної операції проце- су (BPEL дії). Інтуїтивно, процедурна анотація містить всі твердження, які ви- конуються після того, як відповідна дія була виконана. Висновки Кінцевою метою, що лежить в осно- ві виконання більшості задач Веб-сервісів, є ефективна побудова складного Веб-сер- вісу, що реалізує конкретну бізнес-задачу. Композиція Веб-сервісів має дві цілі: з од- ного боку – задовільнити складні вимоги клієнта, а з іншого – зменшити складність розробки Веб-сервісу, щоб задовільнити складну прикладну систему. До вирішення цієї задачі існують синтаксичні та семантичні підходи. До прикладів семантичних підходів та технік до вирішення задачі композиції можна від- нести техніки, що базуються на AI- плануванні, підходи, що базуються на ал- горитмах ланцюжка, техніки композиції на основі інтерфейсу автоматів. Щоб семан- тично описати Веб-сервіс використову- ються анотації. Сервіс анотується семан- тичною моделлю, яка забезпечує семанти- чну інформацію щодо його функціональ- ності (входи, виходи). Процес анотування полягає у виділенні функціональних ком- понент та встановлення зв’язку кожної функціонального компонента з відповід- ним елементом семантичної моделі. В даній роботі визначено роль та місце семантичних анотацій у процесі по- шуку ефективного вирішення проблеми автоматизованої композиції семантичних Веб-сервісів, представлених процедурним описом. Сформульовані основні задачі Веб-сервісів на процесному рівні та визна- чені відповідні типи семантик, які вони ви- користовують. Описані етапи анотування та визначене місце дескриптивних логік у створенні анотованих описів Веб-сервісів. Напрямком подальших досліджень є визначення ефективності використання семантичних анотацій та їх місця з точки зору використання технік AI-планування для синтезу композитного семантичного Веб-сервісу, аналіз можливості та доціль- ності застосування існуючих технік AI- планування, та проблем і розбіжностей, які при цьому можуть виникнути. 1. Kunal Verma. Semantically Annotating a Web Service / Accenture Technology Labs Amit Sheth/Wright State University. – www.computer.org/internet 2. Holger Lausen, Francisco Martin-Recuerda, Jos de-Bruijn, and Michael Stollberg. A Conceptual and Formal Framework for Semantic Web Services (v1) / University of Innsbruck. – http://www.sti-innsbruck.at/ results/publications/deliverables/conceptual- and-formal-framework-semantic-web- services-v1 3. Sudhir Agarwal. Formal Description of Web Services for Expressive Matchmaking. / Dipl.-Inform., Karlsruhe, 2007. 4. Emerson E.A. Temporal and modal logic. / In J. van Leeuwen, editor, Handbook of Theoretical Computer Science, volume B: Formal Models and Semantics // Elsevier Science Publishers B.V.: Amsterdam, The Netherlands, New York, N.Y., 1990. – P. 996–1072. 5. Sivashanmugam K., Verma K., Sheth A., Miller J. Adding Semantics to Web Services Standards // Proceedings of the 1st International Conference on Web Services (ICWS'03), Las Vegas, Nevada, June 2003. – P. 395–401. 6. The Web Service Modeling Framework. – http://www.wsmo.org/. 7. Sudhir Agarwal. A goal specification language for automated discovery and composition of web services./ In International Conference on Web Intelligence (WI ‘07), Silicon Valley, USA, NOV 2007. 8. Pistore M., Traverso P., Bertoli P., and Marconi A. Automated Synthesis of Composite BPEL4WS Web Services // In Proc. ICWS’05, 2005. 9. Cimatti A., Clarke E.M., Giunchiglia F. and Roveri M. NUSMV: a new symbolic model checker // International Journal on Software Tools for Technology Transfer, 2(4). – 2000. http://www.computer.org/internet http://www.sti-innsbruck.at/%20results/publications/deliverables/conceptual-and-formal-framework-semantic-web-services-v1 http://www.sti-innsbruck.at/%20results/publications/deliverables/conceptual-and-formal-framework-semantic-web-services-v1 http://www.sti-innsbruck.at/%20results/publications/deliverables/conceptual-and-formal-framework-semantic-web-services-v1 http://www.sti-innsbruck.at/%20results/publications/deliverables/conceptual-and-formal-framework-semantic-web-services-v1 http://www.wsmo.org/ Програмування для комп’ютерних мереж та Internet 57 10. Bertoli P., Cimatti A., Pistore M., Roveri M. and Traverso P. MBP: a Model Based Planner // In IJCAI-2001 workshop on Planning under Uncertainty and Incomplete Information, 2001. 11. Andrews T., Curbera F., Dolakia H. and al. Business Process Execution Language for Web Services (version 1.1), 2003. 12. WSDL – http://www.w3.org/TR/wsdl 13. Evren Sirin. Combining Description Logic Reasoning with AI Planning for Composition of WEB Services./ Dissertation submitted to the Faculty of the Graduate School of the University of Maryland, College Park in partial fulfillment of the requirements for the degree of Doctor of Philosophy, 2006. 14. Baader F. and Nutt W. Basic Description Logics. In Baader F., Calvanese D., McGuinness D., Nardi D., and Patel- Schneider P. editors. The Description Logic Handbook: Theory, Implementations and Applications, Cambridge University Press, 2003. – P. 43–95. 15. Ortiz M., Calvanese D., and Eiter T. Charac- terizing Data Complexity for Conjunctive Query Answering in Expressive Description Logics // AAAI. – 2006. 16. Staab S., Studer R. Handbook on Ontologies., Second edition, 2009. 17. Marco Pistore, Luca Spalazzi, and Paolo Traverso. A Minimalist Approach to Semantic Annotations for Web Processes Compositions // Universit`a di Trento – Via Sommarive 14 – 38050 Povo – Trento – ITALY pistore@dit.unitn.it, Universit`a Politecnica delle Marche – Via Brecce Bianche – 60131 Ancona – ITALY spalazzi@diiga.univpm.it, ITC-irst – Via Sommarive 18 – 38050 Povo – Trento – ITALY traverso@irst.itc.it, 2004. Одержано 09.09.2015 Про автора: Захарова Ольга Вікторівна; кандидат технічних наук, старший науковий співробітник. Кількість наукових публікацій в українських виданнях – 24. ORCID orcid.org/0000-0002-9579-2973. Місце роботи автора: Інститут програмних систем НАН України, Проспект Академіка Глушкова, 40. Тел.: 526 5139. E-mail: ozakharova68@gmail.com http://www.w3.org/TR/wsdl mailto:traverso@irst.itc.it