Pull to refresh

Введение в DSL. Часть 0. Анализ существующих ИТ как средства решения проблемы представления знаний о предметных областях

Reading time5 min
Views3.4K
 
DSLВ комментариях к предыдущему топику много говорилось о том, что статья вышла сухая, академическая и плохо разжеванная. Да и вообще – зачем нужен DSL и какие проблемы он может решить? В связи с этим, я подготовил небольшой вводный обзор возможностей представления знаний о предметных областях в целом, чтобы рассмотреть, какое место в нем занимают DSL и чем все же удобно их использование.



На сегодняшний день существуют различные способы представления зна­ний о предметных областях. Среди них можно выделить:
–                    текстовое представление;
–                    графическое представление;
–                    табличное представление;
–                    формульное представление.
Классификация способов представления знаний о предметных областях пред­ставлена на рисунке 1.1.
Текстовое представление – наиболее часто встречающийся вид представле­ния знаний о предметной области. Способы текстового представле­ния знания о предметных областях выделены на рисунке 1.2.
 
 

 

Рисунок 1.1 – Способы представления знаний о предметных областях
 
 


 
Рисунок 1.2 – Способы текстового представления знаний о предметной области
 
Графическое представление – самое информативное для человека, оно позво­ляет увидеть структурные элементы предметной области, взаимосвязи между ними и процессы, происходящие в предметной области. Способы графиче­ского представления знания о предметных областях отображены на рисунке 1.3.
 

 
Рисунок 1.3 – Графические способы представления знаний о предметной области
 
Табличное представление удобно для последующей обработки на ЭВМ, т.к. наиболее формализовано из всех приведеных. Чаще всего используются прямо­угольные таблицы, состоящие из строк и столбцов (граф). В верхней строке таблицы обычно располагаются заголовки граф. Таблица 1.1 является примером прямоугольной таблицы, содержащей сведения о погоде в течение нескольких дней.
 
Таблица 1.1 – Пример таблицы типа «Объект-свойство»
 
Дата
 
Осадки
 
Температура (градусы С)
 
Давление (мм рт. ст.)
 
Влажность 
(проценты)
15.03.97
Снег
-3,5
746
67
16.03.97
Без осадков
0
750
62
17.03.97
Туман
1,0
740
100
18.03.97
Дождь
3,4
745
96
19.03.97
Без осадков
5,2
760
87

 
Данная таблица является примером таблицы типа «объект-свой­ство». Каждая строка такой таблицы относится к конкретному объекту. В приведен­ном примере это определенный день, заданный датой. Первая графа обычно идентифицирует этот объект, последующие графы отражают свойства (характеристики) объекта.
Другой тип таблиц называется «объект-объект». Такие таблицы отражают взаимосвязь между различными объектами. Примером является таблица успеваемо­сти учеников по разным предметам – таблица 1.2
 
Таблица 1.2 – Таблица успеваемости учеников по разным предметам

Ученик
Русский
Алгебра
Химия
Физика
История
Музыка
Аликин Петр
4
5
5
4
4
5
Ботов Иван
3
3
3
3
3
4
Волков Илья
5
5
5
5
5
5
Галкина Нина
4
4
5
2
4
4

Эта таблица отражает связь между двумя типами объектов: учениками и изу­чаемыми дисциплинами. Оценка является характеристикой такой связи. В такой таблице строки и графы могут поменяться местами: в строках — пред­меты, в столбцах — ученики.
Формульное представление чаще всего используется при создании математи­ческой модели предметной области и стоит отдельно от приведенных ранее способов представления знаний о предметных областях.
Рассмотрим подробнее текстовое и графическое представления как наибо­лее естественные и удобные для восприятия.
Текстовое представление разделяют на структурированное описание и не­структурированное описание. Неструктурированное описание представлено про­стым текстом. Структурированное, в свою очередь, подразделяется на исполняе­мое (тем или иным образом исполняющееся на ЭВМ) и неисполняе­мое. К неисполняемым относятся техническое задание (структурированный и даже гостированный документ, содержащий общую информацию о предметной области) и набор бизнес-требований (структурированный документ, содержа­щий расширенную информацию о предметной области).
 


Исполняемые текстовые способы представления заний о предметных облас­тях являются уже больше технологиями, чем способами, с точки зрения программиста. Однако, если взглянуть на представленные в этой классифика­ции DSL, XML и онтологии предметной области со стороны эксперта предмет­ной области, эти способы гораздо ближе к естественному языку описания процес­сов, проходящих в предметной области, чем многие другие. К тому же, за счет своей структуризации, эти способы представления знаний о предметных областях удобны для исполнения в программный код.
                Графический способ представления также можно разделить на структуриро­ванный и неструктурированный. К неструктурированному представле­нию относятся рисунки, графики и фотографии, которые хорошо описывают предметную облатсь визуально, однако недостаточно формализо­ваны для дальнейшей работы с ними. Структурированное, в свою очередь, можно разделить на представление в виде диаграмм и в виде объектных моде­лей.
                Диаграммы представлены UML, SADT, Data Flow и ассоциативными кар­тами (Mind Map). Этот способ описания предметной области постоянно динами­чески развивается, появляются новые спецификации и возможности для их построения. Он достаточно формализован и в настоящее время является осно­вой проектирования программных систем.
                К объектным моделям можно отнести графы и графические языки описа­ния предметной области. Последние наиболее близки к естественному описа­нию предметной области и позволяют выражать представление о предметной области в терминологии, присущей конкретной предметной области.
Как видим из классификации, среди структурированных моделей представления знаний, которыми может оперировать пользователь, являющийся экспертом предметной области, но ничуть не являющийся программистом, присутствуют:
 
1.       Техническое задание
2.       Набор бизнес-функций
3.       DSL
 
ВСЕ. Для создания остальных моделей необходимо обладать дополнительным набором знаний, который не относится к предметной области эксперта. А если теперь взять за основу то, что техническое задание и набор бизнес-функций не являются исполняемыми моделями, выходит, что на текущий момент DSL – единственный способ описания своих знаний о предметной области экспертом, не имеющим подготовки в программировании. И это единственный способ для последующего приведения в программный код готового продукта, требующий незначительного допиливания со стороны программиста.
Если у вас есть альтернативная точка зрения, вы не согласны с каким-то мыслями или хотите высказать свое мнение на этот счет – прошу в комменты, люблю конструктивную критику и полезное обсуждение по делу.
 
 
Tags:
Hubs:
+17
Comments12

Articles