ДонНТУ   Портал магістрів

Реферат

Зміст

Вступ

На сьогодні розроблено велику кількість програмних комплексів, призначених вирішувати задачу автоматизації процесу розробки Web-програм. Вони демонструють різні підходи, починаючи від невеликих допоміжних інструментів і закінчуючи великими Framework.

Одним з методів, який вирішує проблему автоматизації розробки Web-програм, є використання бази знань. Для створення бази знань пропонується формалізувати предметну область за допомогою онтологій. Онтологія - це точна специфікація деякої предметної області.

Таким чином, можна припустити, що використовуючи вищесказані технології, як запропонований шлях розробки інструментального комплексу, здатного забезпечити створення в його середовищі баз знань для автоматизації синтезу сайтів, потенційно можливий і ефективний.

1. Актуальність теми

На сьогоднішній день зросла потреба у створенні Web-програм. Створення таких додатків до цих пір залишається відносно складним завданням, зважаючи на необхідність спільного використання безлічі різних інформаційних технологій з урахуванням специфічних особливостей кожної з них. У той же час не всі розробники володіють достатніми знаннями в області Web-технологій. Тому при створенні Web-додатків, необхідним є оптимізація трудовитрат шляхом впровадження в технологію їх розробки системи автоматичного проектування (САПР).

2. Класифікація онтологій

Серед фахівців, що займаються проблемами комп'ютерної лінгвістики, найбільш усталеним вважається визначення онтології, дане Губертом [10]:

Онтологія – це специфікація концептуалізації.

Під концептуалізацією розуміється деяка абстракція, тобто спрощене уявлення деякої частини світу, збудоване для певної мети [9].

Концептуалізація – структура реальності, задана незалежно від:

Концептуалізація на прикладі сайту: набір можливих положень блоків, але не конкретне розташування блоків.

Онтологія покликана структурувати та впорядковувати знання, а також об'єднати термінологію даної предметної області [9].

Онтологія може бути розроблена тільки колективними зусиллями експертів даної предметної області.

Онтологія, що розробляється, повинна допомогти користувачеві за дуже короткий проміжок часу отримати бажаний результат (сайт).

Останнім часом розробка онтологій – формальних явних описів термінів предметної області і відносин між ними - переходить зі світу лабораторій з штучного інтелекту на робочі столи експертів у предметних облостях. Онтологія визначає загальний словник для вчених, яким потрібно спільно використовувати інформацію в предметній області. Вона включає машинно-інтерпретуємі формулювання основних понять предметної області і відносини між ними [7].

Виділяють два типи класифікації онтологій - семантична і прагматична [3].

1. Семантична класифікація:

За рівнем виразності онтології бувають великовагові і легковагі. Великовагові онтології на відміну від легковагих, більш однозначні, оскільки правила в них зазначені явно. Аксіоматизація дозволяє уникнути термінологічної неоднозначності через неправильну інтерпретацію. Таким чином, великовагові онтології, хоча і більш трудомісткі у процесі побудови, можна вважати більш кращими на практиці [3]. Онтології, які описуються довільною мовою, носять назву неформальних, а онтології, які строго типізовані, із заданою семантикою термів – формальна онтологія. Бувають онтології, які більш деталізовані. У них може бути багато деталей, включаючи правила, за якими терміни можуть бути пов'язані між собою. Такі онтології мають високий рівень деталізації [3].

2. Прагматична класифікація:

За ступенем залежності від конкретної задачі або прикладної області можна виділити онтології верхнього рівня, орієнтовані на предметну область і орієнтовані на завдання. Онтології верхнього рівня описують онтологію загальними поняттями і зв'язками. Такі онтології описують найбільш загальні концепти (простір, час, матерія, об'єкт, подія, дія і т.д.), що не залежні від конкретної проблеми чи області. на сьогодні існує безліч онтологій, які застосовуються в конкретній предметній області. В області медицини створені великі стандартні, структуровані словники, такі як SNOMED [3]. Коли онтологія використовується для вирішення конкретної задачі, то говорять, що вона орієнтована на задачу. Такі онтології використовуються програмним забезпеченням, орієнтованим на вирішення конкретного завдання у конкретній предметній області. Класифікація онтології за предметною областю є найважливішою відмінністю однієї онтології від іншої. Онтологія відображає загальні знання про предметну область, такі, як ієрархія класів понять та семантичні відносини на цих класах. Для кожної предметної області онтології створюються експертами своїй області, які проводять формалізацію знань, визначень і правил отримання нових знань [3].

3. Характеристика середнього експерта

Інструментальний комплекс для створення web-програм повинен бути розрахований на експерта середньої кваліфікації в предметній області.

Із загальної точки зору можна виділити три класи експертів предметної області, які роль інженерів по знаннях, в інженерії знань [5].

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

Середній експерт досить добре знає предметну область, тобто модель об'єкта проектування, але йому складно описати методику проектування [2]. Такий експерт може описати зв'язки між об'єктами і представити варіанти структур відносин у формі І-АБО дерева, а так само задати відносини сумісності-несумісності між різними комбінаціями значень АБО-вузлів, визначаючи тим самим реальні прототипи [4]. Відношення сумісності-несумісності є спосіб непрямого завдань продукційних правил.

Всі три типи експерта припускають кваліфікацію інженерії знань нижче, ніж експерта по знаннях, але передбачає досить високу кваліфікацію в даній предметній області. Кінцевий користувач бази знань передбачається низько кваліфікованим. Полегшити йому можливість проектування об'єктів в даній предметній області є головною метою підходу. З точки зору предметної області, будови сайтів, метою є, дати можливість побудувати сайт користувачам низької кваліфікації (Школярам, пенсіонерам и.т.д).

Створення генератора програм, орієнтованого на середнього експерта, є актуальним завданням, оскільки більшість потенційних творців і користувачів таких генераторів є, найчастіше, саме середніми фахівцями у своїй предметній області. Такі фахівці, найчастіше, орієнтовані на представлення інформації у вигляді графічних моделей зображення. Як правило, такі фахівці чудово знають, як влаштована система, які в ній використовуються класи або терміни, знають, як взаємопов'язані класи між собою, які між ними залежності, але при цьому їм важко [1]:

Мінімум інформації, яка потрібна для представлення сайту у вигляді онтології, це [1]:

4. Представлення знань

Інструментальний комплекс, що проектується, повинен дозволяти експерту в предметній області, що виконує роль інженера по знаннях, побудувати І-АБО дерево для сайту певного типу з усіма можливими варіантами зв'язків, структурних залежностей і атрибутів.

Процес побудови бази знань розділяється на послідовне введення модулів знань. За допомогою готової бази знань можна вибрати модуль знань будь-якого рівня і запустити логічний висновок.

Модуль знань розбивається на підмодулі [1]:

1) Зовнішня межа як склад зовнішніх параметрів, даних, які відображають зв'язки блоку з зовнішнім середовищем. Це окреме І-АБО дерево з відносинами сумісності-несумісності;

2) Внутрішня межа як склад внутрішніх підблоків, теж як І-АБО дерево;

3) Сукупність зв'язків між підблоками по даним, теж як І-АБО дерево.

Склад таблиць експертної системи:

1) Таблиця зовнішніх меж:

2) Таблиця підблоків:

3) Таблиця типів блоків (таблиця ідентифікатор модулів знань):

4) Таблиця зв'язків:

У рамках будь-якого І-АБО дерева визначаються відносини сумісності-несумісності - як зв'язок, який показує взаємовиключні елементи в І-АБО дереві.

Відносини сумісності-несумісності пов'язують, наприклад, структуру двох блоків, які знаходяться у складі одного вищерозміщеного блоку і неявно залежать за структурою один від одного.

Це може суттєво зменшити час опитування користувача і звузити кількість варіантів рішень. Крім того, суміжні підмодулі теж пов'язані відносинами несумісності [1].

Існує два типи Або-вузлів:

1) Вузол з конкретним обмеженим набором альтернатив серед яких є варіант, ∅;

2) Вузол з необмеженим але рахунковим безліччю варіантів, наприклад вказати текст, зображення, яке будуть розташовуватися в певному місці на сторінці. У такому випадку користувачеві задається питання певного формату (введіть текст, вкажіть файл і т.д.). Тип такого вузла nil.

Експерт вводить блочну структуру у вигляді І-АБО дерева орієнтуючись на представлення html-тексту де є схожі поняття – теги.

Крім того експерт вводить питання до тих чи інших АБО-вузлам які при синтезі адресуються кінцевому користувачеві.

Процес генерації html-тексту при проході І-АБО дерева. Анімация складається з 9 кадрів з затримкою у 50 мсек.

Процес генерації html-тексту при проході І-АБО дерева. Анімация складається з 9 кадрів з затримкою у 50 мсек.

На анімації динамічно показано процес генерації html-тексту при проході кінцевим користувачем АБО-вузлів у процесі синтезу необхідного об'єкта.

5. Онтологічна модель IDEF5

Ontology Description Capture — Стандарт онтологічного дослідження складних систем. За допомогою методології IDEF5 онтологія системи може бути описана за допомогою певного словника термінів і правил, на підставі яких можуть бути сформовані достовірні твердження про стан аналізованої системи в певний момент часу. На основі цих тверджень формуються висновки про подальший розвиток системи та проводиться її оптимізація [6].

Методологія IDEF5 служить для наочного представлення даних, отриманих в результаті онтологічного дослідження в простій графічній формі.

5.1 Концепції IDEF5

Процес побудови онтології, згідно з методологією IDEF5 складається з п'яти основних дій [6]:

1) Вивчення та систематизування початкових умов. Ця дія встановлює основні цілі та контексти проекту розробки онтології, а також розподіляє ролі між членами проекту.

2) Збір і накопичення даних. На цьому етапі відбувається збір і накопичення необхідних початкових даних для побудови онтології.

3) Аналіз даних. Ця стадія полягає в аналізі і угрупуванню зібраних даних і призначена для полегшення побудови термінології.

4) Початковий розвиток онтології. На цьому етапі формується попередня онтологія, на основі відібраних даних.

5) Уточнення та затвердження онтології – Заключна стадія процесу.

5.2 Види схем і діаграм IDEF5

1) Діаграма класифікації - забезпечує механізм логічної систематизації знань, накопичених при вивченні системи [6];

Рисунок 1 – Діаграма класифікації

Рисунок 1 – Діаграма класифікації

2) Композиційні схеми - механізм графічного представлення класів типу "що з чого складається" [6];

Рисунок 2 – Композиційна схема

Рисунок 2 – Композиційна схема

3) Діаграми стану об'єкта - документують процес з точки зору зміни станів об'єкта [6];

Рисунок 3 – Діаграми стану об'єкта

Рисунок 3 – Діаграми стану об'єкта

Висновки

Тенденції в програмуванні зараз ведуть до створення генераторів програм, які могли б вирішувати певні завдання у вигляді бази знань.

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

Середній експерт досить добре знає предметну область, може описати зв'язки між об'єктами і представити їх у вигляді І-АБО дерева. Саме на середнього експерта предметної області буде орієнтований інструментальна оболонка.

Створення даної інструментальної оболонки має значно знизити необхідний рівень знання предметної області як кінцевого користувача так і самого експерта, якому вже не обов'язково мати повні спектр знань щодо методики проектування. Досить описати зв'язки між об'єктами, представити варіанти структур відносин у формі І-АБО дерева і задати відносини сумісності-несумісності між різними комбінаціями значень АБО-вузлів.

Перелік посилань

  1. Григорьев А.В., Павловский Е.В. «Проектирование интеллектуальной CMS» // Материалы научно-технической конференции студентов, аспирантов и молодых ученых «Информатика и компьютерные технологии – 2012»
  2. Григорьев А.В., Павловский Е.В. Представление сайта на языке HTML какмодели структурного уровня САПР. // Наукові праці ДонНТУ Серія “Інформатика, кібернетика та обчислювальна техніка” 2011 г.
  3. Григорьев А.В. Пути создания интеллектуальных САПР при различных уровнях квалификации экспертов // Научно-теоретический журнал «Искусственный интеллект». – 2005. – №3. - С. 758–763.
  4. Григорьев А.В. Методы поиска новых решений в специализированной инструментальной оболочке для создания интеллектуальных САПР // Десятая национальная конференция по искусственному интеллекту с международным участием КИИ-2006 (25-28 сентября 2006г., Обнинск): Труды конференции; в 3-т. -- М.: Физматлит, 2006. – Т.3. – С. 1031-1046.
  5. Григорьев А.В. Состав параметров адаптации на проблемную область в инструментальной оболочке для автоматизации построения интеллектуальных САПР // Научные труды Донецкого государственного университета: Серия: Информатика, кибернетика и вычислительна техника. – 2011. – випуск 14(188).
  6. Лекция Стандарты моделирования IDEF // Лекции по курсу «Корпоративные информационные системы».
  7. Онтология (информатика). // Статья викиверситета
  8. Морозов А.Б. Создание онтологии «генетический алгоритм» в системе PROTEGE.
  9. Загорулько Ю.А. Онтологии: определения, классификации, приложения.
  10. Gruber T.R. A translation approach to portable ontologies // Knowledge Acquisition. 1993. – № 5(2). – С. 199-220.