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...
Saved in:
| Date: | 2017 |
|---|---|
| Main Author: | |
| 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: | |
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
|