ПРОГРАМНІ ІНСТРУМЕНТИ ДЛЯ АВТОМАТИЗАЦІЇ ПОБУДОВИ ЕКСПЕРТНИХ СИСТЕМ

Мирончук Д.Б.
Навчально-науковий фізико-технологічний інститут Волинський національний університет імені Лесі Українки

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

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

Починаючи з XX століття, програмні продукти в області штучного інтелекту вносять істотний внесок в розвиток сучасної науки, а кількість розроблених програмних додатків для автоматизації побудови систем прийняття рішень неможливо визначити, так як у міру розвитку комп'ютерних та інформаційних технологій істотно розширюється область їх застосування. Одними з таких сучасних програмних додатків використовуваних в розробках є CASE-засобу (CA ERwinModelingSuite, RationalSuite, ARIS ToolSet, PowerDesigner, BizAgi BPM Suit, ELMA BPM) і програмні продукти забезпечують ефективність розробки експертних систем (NexpertObject, Exsys, XpertRule , Guru, Flex, Acquire, ReSolver).

Переважна частина багатьох програм проектування містять один мовний рівень, наприклад, програми аналізу еквівалентних схем GRAPH-PA, ORCAD-Pspice, ЕМС-CAD, МікЕМС, CAE-програма Омега, система моделювання газодинамічних і радіаційних процесів CFX, генератори розрахункових сіток HYPERMESH і FEMAP, програма моделювання MARS. Зі збільшенням складності програм з'явилася можливість додавання користувачами нових команд за допомогою командних мов. Багато великі програмні системи є двохрівневі: на верхньому рівні використовується внутрішні мови і інтерпретатори, в деяких випадках створені індивідуально під дану систему, а на нижньому рівні - компільовані мови типу С або С ++. Наприклад, в кожній з найбільш відомих на одного користувача систем чисельних і аналітичних розрахунків MathLab, Mathematica і Marpleсвій спеціалізований командний мову верхнього рівня. У кожній з дворівневих систем проектування в машинобудуванні і електроніці SolidWorks, PCAD і OrCAD - свій. Винятком є ​​система машинобудівного проектування AutoCAD, яка використовує LISP як внутрішня мова, проте інтерпретатор LISP розроблено спеціально під AutoCAD і його інтерфейс є закритим, що унеможливлює розширення системи за допомогою розроблених користувачами С-модулів. Використання спеціалізованих мов і інтерпретаторів істотно ускладнює перенесення модулів з однієї системи в іншу, а також спільну роботу систем в одній організації. Деякі системи мають дворівневу архітектуру: на верхньому рівні - керуюча З або С ++ - програма, а на нижньому - розрахункові С-модулі. Наприклад, орієнтовані на жорсткий життєвий цикл проекту система моделювання хвиль ACCORD, система газодинамічних розрахунків в МАІ і OpenModeler&Visualizer. Більшість перерахованих вище програм і систем є закритими однокористувацькими Windows-додатками. Лише деякі з них підтримують мережеву взаємодію, а відкритий вихідний код надають тільки розробники OpenModeler&Visualizer. Основна увага при розробці подібних систем приділялася функціональними можливостями, а не рішенням перерахованих вище проблем корпоративного проектування.

Програмні інструментальні засоби комп'ютерної підтримки корпоративного проектування (CAD, САМ, CAE, MRP, PDM, CASE, АСУ та інші великі розподілені програмні системи є багаторівневими і повинні:

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

• забезпечувати оперативне внесення змін, контроль і збір інформації щодо поточного стану проекту,

• володіти відкритістю, документування та вільний доступ як програмного коду, так і застосовуваних алгоритмів.

Одним з перших кроків щодо спрощення створення багаторівневих систем з'явилися SWIG-специфікації, що дозволяють описати відображення типів даних командних мови на типи даних мови С і є основою для проектування систем з дворівневою ієрархією. Розробники текстового редактора Vim, системи візуалізації даних Scigraphica і засоби формування діаграм Dia пропонують інтерпретатор командно-функціональної мови Pythonі С-модулі розмістити на одному мовному рівні, що не дозволяє здійснювати взаємодію між фрагментами програмного коду різних систем в рамках одного інтерпретатора Python.

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

Коментарі до статті:
© inforum.in.ua, 2014 - 2024
+38 (068) 322 72 67
+38 (093) 391 11 36
inforum.in.ua@ukr.net