Є багато різноманітного ПЗ, призначеного для розробки ЕС. Ці системи, реалізовані багатьма мовами програмування, використовують різні платформи та операційні системи, орієнтовані на різноманітні типи задач, однак розрізняються за можливостями, які вони надають розробникам БС. Розглянемо найпоширеніші з них.
За призначенням та функціональними можливостями інструментальні засоби проектування ЕС поділяються на такі категорії:
o оболонки ЕС. Системи такого типу створюються зазвичай на основі певної прикладної ЕС, яка досить добре зарекомендувала себе. Із системи-прототипу вилучають компоненти, що є специфічними для конкретної ПрО. Прикладами таких систем можуть бути EMYCIN та М.4, створені на основі MYCIN;
o мови програмування високого рівня. Інструментальні засоби цієї категорії позбавляють розробника від необхідності заглиблюватися в деталі реалізації системи. Один із найбільш відомих представників цього класу - мова OPS5;
o середовище програмування, що підтримує кілька парадигм. Засоби цієї категорії включають кілька програмних модулів, що дає змогу користувачу комбінувати у процесі розробки ЕС різні стилі програмування. На основі цієї архітектури розроблено такі комерційні продукти, як KEE, KnowledgeCraft і ART;
o додаткові модулі. Засоби цієї категорії - це автономні програмні модулі, призначені для виконання специфічних завдань. Приклад: модуль роботи з семантичною мережею системи VT, що дає змогу відслідковувати зв'язки між значеннями раніше встановлених і нових параметрів проектування у процесі розробки проекту.
Об'єктно орієнтований стиль програмування придатний для вирішення проблем, що потребують деталізованого подання об'єктів ПрО і динамічних відносин між ними. Класичним прикладом застосування цього підходу є задачі моделювання. У таких програмах компоненти складної системи подаються через структури, які містять дані і функції, що моделюють поведінку відповідних компонентів. Першою мовою, якою реалізована така ідея, є SmallTalk.
Розроблення мови Common LISP пов'язане з потребою у стандартизації різноманітних діалектів LISP. Для задач ШІ розроблені мови LOOPS і FLAVORS - об'єктно орієнтовані розширення LISP. Хоча на сьогодні ці мови практично не використовуються, однак реалізовані в них базові ідеї успадковані багатьма мовами подання знань, що з'явилися пізніше. Наприклад, CLOS (Common LISP Object System) підтримує такі властивості FLAVORS і LOOPS, як множинне успадкування, об'єднання методів і структурування метакласів.
OPS-сімейство мов подання знань реалізує продукційні системи з прямими виведеннями. Сюди входять різні реалізації мови OPS. Можливості керування вирішенням конфліктів у цих мовах різні. Наприклад, у мові OPS5 пропонується вибрати одну з двох вбудованих стратегій: LEX або MEA, а в OPS83 необхідно чітко зазначати, яке правило вибрати у кожній конфліктній ситуації (рис. 8.2).
Рис. 8.2. Виконання програми на ОР85+
ОР85-І--це високорівнева мова продукційного програмування, яка містить механізми подання знань і керування. Хоча ця система забезпечує основні потреби інженерії знань, вона не орієнтована на конкретні стратегії рішення задач або схеми подання знань. Система дає змогу програмісту використовувати символи і представляти відношення між ними, однак ці символи і відношення не мають заздалегідь визначених значень. Вони цілком залежать від правил, які описує програміст. Механізм керування інтерпретатора OPS5 - це простий цикл, деталі якого розробляє користувач відповідно до своїх потреб.
Одна з цікавих реалізацій OPS-подібних мов подання знань - мова OPS-H. її відмінні риси - поділ БЗ на сегменти, наявність можливостей керування виведенням, можливість підключення до системи будь-яких зовнішніх функцій, реалізованих мовою С. Для вирішення конфліктів використовують ме-тазнання про порядок застосування правил, що описують ПрО.
Ця мова має такі переваги порівняно з мовою OPS5+:
o структурування програм на програмні модулі, кожний з яких може поділятися на програмні сегменти, що усуває проблему обмеження розміру БЗ, оскільки передбачена можливість довантаження БЗ під час роботи програми;
o стратегія роботи машини виведення може програмуватися користувачем або обиратися з бібліотеки стратегій.
Текст програми на OPS-H подається графічними структурами у вигляді Р-графів, що дає можливість зменшити кількість помилок і підвищити продуктивність праці.
CLIPS (С Language Integrated Production System) - OPS-подібна продукційна система, що використовує логічне виведення від фактів до мети. Механізм логічного виведення CLIPS включає супровід, динамічне додавання правил і стратегій вирішення протиріч. Основними елементами мови опису правил є бази фактів і правил. Машина логічного виведення зіставляє ці факти та правила і встановлює, які саме правила потрібно активізувати. Вона легко вбудовується в інші прикладні програми і використовує об'єктно орієнтовану мову COOL, що безпосередньо інтегрована з механізмом логічного виведення (рис. 8.3).
DYNACLIPS (динамічні утиліти CLIPS) включає дошку оголошень, механізм динамічного обміну знаннями й інструментальні засоби для CLIPS v5.1 і v6.0. Це набір бібліотек, що може бути зв'язаний із CLIPS.
FuzzyCLIPS 6.02 - оболонка експертної системи, що ґрунтується на правилах. Вона використовується для подання і ке
Рис, 8.3. Інтерфейс користувача системи CLIPS
рування нечіткими фактами і правилами. На додаток до функціональних можливостей CLIPS FuzzyCLIPS може обробляти нечіткі та неточні знання, складні міркування. Система використовує дві базисні концепції про неточності, нечіткість і невизначеність.
BABYLON - середовище для розробки ЕС, яке містить фрейми, моделі даних, логічний формалізм на основі висо-корівневої мови програмування Пролог, а також мову для написання діагностичних прикладних програм.
MIKE - програмне середовище, розроблене для навчання, включає прямі і зворотні правила виведення від мети до фактів з обумовленими користувачем стратегіями вирішення протиріч і фреймову мову подання знань зі спадковістю і "демонами", а також визначені користувачем стратегії спадкування. Порядок застосування правил у процесі виконання може відображатися графічно.
WindEx - повнофункціональна ЕС, що використовує виведення від фактів до мети. її модульна архітектура дає змогу користувачеві заміняти модулі так, як це потрібно для розширення можливостей системи. WindEx містить процесор правил природною мовою, механізм логічного виведення та модулі БЗ.
KnowledgeWright - це простий інструментарій для створення ЕС, який може підтримувати застосунки клієнтів, написані на C++, Java, Delphi, VB. KnowledgeWright є об'єктно орієнтованою системою, яку можна використовувати безпосередньо за допомогою Web-інтерфейсів. Факти у KnowledgeWright подаються двома типами об'єктів. Об'єктами типу fact описуються тільки факти, відомі заздалегідь (їхній тип не зазначається). Ті факти, значення яких обчислюються під час роботи системи, описуються об'єктами типу rule_set.
У перспективі ЕС будуть виконувати провідну роль на всіх фазах проектування, розробки, виробництва, продажу, підтримки і надання послуг. Технологія ЕС, що набула комерційного поширення, підтримує інтеграцію застосунків з готових інтелектуально взаємодіючих модулів.
Структура Cognos & ВІ
Oracle ВІ Server
Oracle ВІ Publisher
Oracle ВІ Delivers
Oracle ВІ Delivers і Oracle BPEL Process Manager
Oracle ВІ Office Plug-In
Oracle ВІ Disconnected Analytics
Oracle Analytics Adapters
Високоефективна архітектура Oracle ВІ Server