Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Підручник КНУ-4кк11.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
16.18 Mб
Скачать

3.2.2. Мовний опис онтології домену чи спс

Аналіз ПрО і моделювання її характеристик – перша задача, яка вирішується при побудові сімейств ПС, призначених для функціювання у данній ПрО. Традиційним підходом до її вирішення є побудова характеристичних діаграм (feature diagram) та мов опису ПрО – DSL – мов. Але поширення онтологічного підходу у різних галузях науки зумовило проведення досліджень стосовно його застосування до моделювання ПрО, як доповнення або конкретизації підходу FDD та опису DSL.

Онтології застосовуються для опису понять і зв'язків зручному для цілей розроблення члена СПС на мові XML.

Однією із нових сфер застосування онтологічного підходу є мова опису ПрО – DSL і трансформація цих моделей у програмний код.

Проектування мови DSL включає наступні кроки:

1. Аналіз ПрО

– ідентифікація ПрО;

– збиранння знань про ПрО;

– кластеризація цих знань в термінах семантичних понять і операцій над ними;

– проектування DSL, який добре описує застосування в ПрО.

2. Реалізація ПрО

– створення бібліотек, що реалізують семантичні поняття;

– проектування і реалізація компіляторів для трансляції DSL програм в послідовність бібліотечних викликів.

3. Використання

– опис в DSL програм для будь-яких ПС ПрО та їх компіляція.

Мета аналізу полягає в тому, щоб зрозуміти ПрО (виявити сутності і зв'язки). Аналіз зазвичай проводиться шляхом моделювання ПрО і виконується аналітиком ПрО.

Систематичне моделювання ПрО як вид діяльності, називається також доменною інженерією (domain engineering).

Існують відомі методології аналізу ПрО: ODM (Organizational Domain Modeling [12, 13]), FODA (Feature-Oriented Domain Analysis, DSSA (Domain Specific Software Architectures [15]). Запропоновано ряд систематичних підходів до розроблення сімейств: Lucent, Family-Oriented Abstraction, Specification and Translation (FAST) [16]. Сімейства програм безпосередньо пов'язані (і часто ототожнюються) з лінійками програмних продуктів.

При реалізації DSL можуть використовуватися відомі методи: компіляція або інтерпретація. При цьому можуть застосовуватися стандартні компілятори або спеціальні інструменти. Альтернативним підходом до реалізації DSL є розширення існуючих мов. Перевага такого підходу полягає в тому, що базові засоби МП не потрібно повторно реалізовувати.

Розроблення деякої онтології передбачає глибокий структурний аналіз ПрОі і включає наступні дії:

1) виділення концептів — базових понять даної предметної області;

2) визначення «висоти дерева онтологій» — кількість рівнів абстракції;

3) розподіл концептів по рівнях;

4) побудова зв'язків між концептами — визначення відношень і зв’язків базових понять;

5) консультації з різними фахівцями для виключення суперечностей і неточностей.

Процес побудови онтологій завжди ітеративний.

Методологія побудови онтології припускає розгляд наступних важливих питань:

1) позначення цілей і області застосування створюваної онтології;

2) побудова онтології, яка включає такі дії:

а) фіксація знань про ПрО, тобто визначення основних понять і їх відношень у вибраній предметній області; створення точних несуперечливих визначень для кожного основного поняття і відношення; визначення термінів, які пов'язані з цими термінами і відношеннями;

б) кодування, тобто розділення сукупності основних термінів, використовуваних в онтології, на окремі класи понять;

в) вибір або розробку спеціальної мови для представлення онтології;

г) безпосереднє завдання фіксованої концептуалізації на вибраній мові подання знань;

3) сумісне використовування людьми або програмними агентами загального бачення структури інформації;

4) забезпечення можливості використовування знань ПрО;

5) створення явних припущень в ПрО, які лежать в основі реалізації;

6) відділення знань ПрО від оперативних знань — це ще один варіант загального застосування онтологій;

7) аналіз знань в ПрО.

Мови опису онтологій ПрО. Існують традиційні мови специфікації онтологій (Ontolingua, CycL, мови, засновані на дескриптивних логіках, такі як LOOM, і мови, засновані на фреймах – OKBC, OCML, Flogic). Більш сучасні мови, засновані на Web-стандартах, такі як XOL, SHOE або UPML, RDF(S), DAML, OIL, OWL створені спеціально для обміну онтологіями через Web.

В цілому, відмінність між традиційними і Web-мовами специфікації онтологій полягає у виразних можливостях опису ПрОі і деяких можливостях механізму логічного виведення для цих мов.

Важливий напрям використовування мов онтологій пов'язаний з побудовою (генерацією) ПС, що оперують знаннями, які містяться в онтологіях.

На сьогоднішній день мова XML (Extensible Markup Language) фактично стала стандартом розмітки даних для їх зберігання і обміну інформацією між різними застосуваннями. XML активно використовується в самих різних областях наукової і комерційної діяльності, і в найближчі часи його популярність буде тільки зростати. Проте XML і його реалізації представляють низький рівень опису ресурсів і необхідні засоби автоматичної трансформації моделей ПрО (і онтологій) в XML-схеми, придатні для роботи застосувань.

Зв'язок мов моделювання з онтологіями ПрО. Основною мовою моделювання ПрО, яка використовується зараз для розроблення архітектури ПС, є UML (і його розширення). Шляхом послідовного застосування моделей можна згенерувати описи класів і заготовки програмного коду для вибраних мов програмування і платформ (підхід MDA, розділ 1 книги 1).

Альтернативний підхід з подібними цілями – онтологічний, який має назву Ontology–Driven Software Development, дозволяє одержувати описи класів, що відображають поняття ПрО. На відміну від попереднього, моделі ПрО можуть використовуватися не тільки для генерації коду, але і самі є «виконуваними» артефактами.