Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Понятие предметной области





 

Понятие предметной области является центральным понятием прикладного программирования. Каждая предметная область характеризуется тем, что в ней протекает специфичная для нее профессиональная деятельность, которая состоит в решении различных задач. Для решения задач необходимы профессиональные знания, одни и те же для всех задач; при этом профессиональные знания, исходные данные и результаты решения каждой задачи могут быть представлены на вербальном уровне. В предметной области в ходе профессиональной деятельности могут решаться задачи одного или нескольких классов. Классификация задач, решаемых в предметной области вводит классификацию предметных областей. Традиционно при разработке систем, основанных на знаниях, выделяют следующие классы задач (классы предметных областей):

- задачи интерпретации

- задачи классификации

- задачи диагностики

- задачи мониторинга

- задачи управления

- задачи планирования

- задачи прогноза

- задачи ремонта

- задачи проектирования

Задача интерпретации состоит в нахождении неизвестных отношений между объектами задачи по некоторым известным свойствам объектов задачи. Знания предметной области определяют как свойства объектов зависят от искомых отношений. Задача интерпретации относится к классу обратных задач.

Примерами задач данного класса являются задачи определения структурной формулы органического соединения по известной формуле и масс-спектрограмме (органическая химия), задача интерпретации экспериментальных данных, полученных некоторой экспериментальной наукой, задача определения родственных отношений.

Задача классификации состоит в нахождении класса, к которому относится некоторый объект задачи по некоторым известным свойствам этого объекта. Знания определяют для каждого класса, какими свойствами обладает объекты, принадлежащие этому классу. Задача относится к классу обратных задач.

Примерами задач данного класса являются задача определения класса растения по его известным свойствам, определения функциональной группы органического соединения по его известным свойствам. Примеры задач классификации можно найти в любой области, где существуют классы (типы) объектов и их определение.

Класс задач диагностики является подклассом задач классификации. Отличительные особенности: имеется знание о нормальном функционировании объекта задачи (объекта диагностики) и знания о его функционировании при различных неисправностях (заболеваниях), требуется установить, что объект не поврежден или установить тип неисправности (заболевания). В качестве классов здесь выступают "нормальное состояние", а также все виды неисправностей.

Примеры: медицинская, ветеринарная, сельскохозяйственная, техническая, диагностика кризисов (финансовый, промышленный, кризис во взаимоотношениях, кризис в учебном процессе), диагностика состояний (психологических, физиологических и т.п.).

Класс задач мониторинга является подклассом задач классификации. Отличительные особенности: мониторинг - задача реального времени; требуется, анализируя в реальном времени свойства объектов задачи, определить те моменты, в которые объект находится в одном из выделенных состояний и сами эти состояния. В качестве классов здесь выступают все выделенные состояния. В качестве задачи мониторинга может рассматриваться контроль состояния больного в различные моменты времени.

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

Задача управления состоит в нахождении способа изменения состояния объекта задачи (способа управления) для достижения определенной цели в следующие моменты времени по известным состояниям в текущий и предыдущие моменты времени. Управление есть задача реального времени. Знания предметной области определяют, к какому изменению состояния ведет способ управления и как связаны свойства целей с состояниями объекта управления. Задача относится к классу обратных задач.

Примеры: управление технологическими процессами, управление природными системами, управление выходом из кризисных ситуаций, управление движущимися объектами, управление процессом игры (реакция на ходы противника без предварительного планирования, управление процессом согласно плана до тех пор, пока это возможно), управление состоянием больного во время и после операции.

Задача планирования состоит в нахождении плана (последовательности действий) по свойствам текущего состояния объекта задачи, свойствам цели, которую требуется достичь, и критерию отбора планов. Задача планирования не является задачей реального времени. Знания предметной области определяют множество планов (или способов их построения как последовательности элементарных действий) и свойства этих планов, т.е. к каким целям ведут различные планы при различных начальных состояниях объекта управления. Задача относится к классу обратных задач.

Примеры: Планирование процесса игры (подготовка хода игры заранее), планирование маршрутов движения, планирование процесса обработки деталей на станках, планирование производственного процесса для достижения определенных экономических показателей.

Задача прогноза состоит в определении состояния объекта задачи в будущие моменты времени на основании его состояния в текущие и прошлые моменты времени. Задача прогноза не является задачей реального времени. Знания предметной области определяют законы изменения состояния объекта задачи во времени.

Примеры: прогнозирование состояния больного или исхода лечения, прогнозирование состояния окружающей среды, прогноз погоды, прогноз развития экосистем, прогнозирование кризисов, прогноз финансовых и деловых ситуаций.

Класс задач ремонта является либо подклассом задач управления, либо подклассом задач планирования. Задача ремонта состоит в поиске метода устранения неисправности (лечения заболевания) по известной неисправности и состоянию объекта задачи. Особенностью задачи является то, что единственной целью является получение исправного состояния объекта задачи. Знания предметной области определяют множество методов устранения неисправности (или способов построения этих методов как последовательности элементарных действий) и условий их применимости. Задача может быть как задачей реального времени, так и нет.

Примеры: лечение больного (с учетом его индивидуальных особенностей), ремонт технических систем (с учетом индивидуальных особенностей либо особенностей отдельного экземпляра).

Задача проектирования состоит в нахождении проекта (устройства) объекта задачи по характеристикам его частей и критериям отбора проектов. Знания предметной области определяют возможности компоновки составных частей в устройства и множества ограничений на проект.

Примеры: проектирование технических систем из набора компонент с учетом определенных ограничений на проект (возможность совместного использования), проектирование размещения пространственных компонент в пространстве, проектирование геометрических тел (что удалить из болванки, чтобы получить деталь), построение расписаний, проектирование программ (на входе спецификация программы, на выходе проект), проектирование конфигурации компьютеров (с учетом характера или цели использования).

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

 

1.1. Объекты и величины предметной области

 

В предметной области (ПО) может быть выделено множество объектов ПО, которые связаны с профессиональной деятельностью в этой ПО. При решении задач всегда используется некоторая информация об этих объектах и происходит переход от объектов ПО к представлению информации о них (или к информационным объектам), т.е. к представлению информации в виде отображения конечного множества терминов {t1, …, tm} во множество значений.

Значение, сопоставленное термину, принадлежит некоторой величине [4]. Математической моделью величины является моносортная или многосортная алгебраическая система. В программах величине соответствует тип данных. Каждая величина (алгебраическая система и тип данных) характеризуется конечным или бесконечным множеством значений, конечной совокупностью функций и операций (функций от двух аргументов), обозначаемых специальными терминами и выполняемых над значениями этой величины, а также конечной совокупностью нефункциональных отношений, в которых значения этой величины могут находиться между собой. Отношения обозначаются специальными терминами.

Величины могут быть простыми или сложными. Простая величина - это система, состоящая из конечной совокупности операций, функций и отношений (обозначаемых специальными терминами), а также множества тех и только тех значений, которые могут быть аргументами этих операций, функций и отношений, причем результат применения любой из этих операций или функций к этим аргументам принадлежит этому же множеству (свойство замкнутости). Примерами простых величин являются размерные и скалярные величины.

Сложная величина – это система, состоящая из множества значений этой величины, конечной совокупности операций, функций и отношений (обозначаемых специальными терминами), а также конечной совокупности (простых и/или сложных) величин, элементы которых могут быть аргументами этих операций, функций и отношений, причем для каждого аргумента каждой операции, функции и отношения определено, элементом какой из этих величин он может быть, а для результата применения любой из этих операций или функций к этим значениям аргументов определено, какой из этих величин он принадлежит (свойство замкнутости). С каждой сложной величиной неявно связан конструктор значений этой величины из элементов величин - ее компонентов. Примерами сложных величин являются величина множеств, отображений, объединенная и структурная величина, величина последовательностей. Математической моделью сложной величины является многосортная алгебраическая система, а компьютерной моделью - непримитивный тип данных.

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

Среди всех возможных величин можно выделить множество величин, которые часто используются в ходе профессиональной деятельности. Такими величинами являются размерные и скалярные величины, величины множеств и отображений, объединенные и структурные величины, а также величины последовательностей. Будем называть такие величины стандартными.

Кроме стандартных величин в профессиональной деятельности могут использоваться нестандартные величины. Нестандартная величина является сложной величиной. Для ее определения требуется задать способ конструирования элементов этой величины, определить величины-компоненты нестандартной величины, элементы которых используются в представлении элементов этой величины, а также определить операции, функции и отношения, применимые к элементам величины. С помощью элементов нестандартных величин задаются структурные формулы органических соединений и функциональных групп, элементарные формулы химических соединений [16-18]. Нестандартные величины представляются в математических моделях многосортными алгебраическими системами, а в программах реализуются с помощью непримитивных типов данных или классов в объектно-ориентированных языках [1].

Используемый набор величин является важным свойством предметной области, поскольку он определяет множество математических терминов (используемых для обозначения значений величин, математических операций, функций и отношений). Множество величин предметной области определяет множество абстрактных типов данных [2] для этой области, и, следовательно, множество типов алгебраических систем, используемых в математических моделях, а также множество типов данных, используемых в компьютерных программах, создаваемых для решения задач в предметной области. В разных предметных областях может использоваться разная совокупность величин и, следовательно, разный набор математических терминов.

 

1.2. Действительность предметной области

 

Действительность предметной области – эта та часть физического мира, которая связана с соответствующей профессиональной деятельностью в ПО. Профессиональная деятельность состоит в решении прикладных задач.

Действительность ПО может быть представлена в виде потенциально бесконечного множества не связанных между собой ситуаций (называемых в [178] "state of affairs"). Каждая ситуация соответствует некоторому фрагменту действительности, ограниченному как в пространстве, так и во времени.

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

Рассмотрим приемлемость представления о действительности как совокупности отдельных ситуаций для специалистов предметных областей. Эти специалисты, как всякие люди, представляют себе действительность как единое целое во времени, пространстве и многообразии других форм, но ограниченное их возможностями получать информацию о действительности в различных ее аспектах. Вместе с тем профессиональная деятельность этих специалистов протекает лишь в отдельные отрезки времени. Более того, она, как правило, состоит в решении отдельных задач. Отдельная ситуация как раз и соответствует информации, которая рассматривается при решении отдельной задачи. Поэтому разделение действительности в рамках предметной области на отдельные ситуации можно считать приемлемым для любой профессиональной деятельности. Отказ от рассмотрения действительности как множества ситуаций ведет к концепции задач со сколь угодно глубоким использованием информации о прошлом в их постановке.

Менее приемлемым может оказаться предположение о несвязанности различных ситуаций между собой. Человек обладает способностью запоминать ситуации и поэтому может использовать информацию о прошлых ситуациях при анализе новой, по меньшей мере, двумя способами:

- находить среди прошлых, уже проанализированных, ситуаций те, которые похожи на новую, и использовать информацию о найденных ситуациях при анализе новой (поиск прецедентов);

- использовать информацию о прошлых ситуациях для корректировки двоих знаний (накопление опыта).

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

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

Примером ситуации может быть конкретный химический процесс (рис. 1.1), проходивший в конкретный период времени, в результате которого из множества начальных химических соединений синтезируется некоторое соединение [42]. Синтез другого соединения – это другая ситуация. Химический процесс представляется конечной последовательностью шагов. Каждый шаг характеризуется конечным множеством химических соединений, конечным множеством химических реакций.

Другими примерами ситуаций являются конкретный процесс анализа состава химического соединения с помощью рентгено-флуоресцентного метода исследования [40], конкретная последовательность состояний термодинамической системы [53]. При оптимизации программ ситуация – это конкретный процесс применения оптимизирующих преобразований к конкретной программе [33]. Примером разделения действительности на ситуации может служить прием врачом больных в поликлинике: c каждым новым больным, пришедшим на прием, у врача возникает новая задача (новая ситуация) [22].

Будем предполагать, что информация о ситуации предметной области может быть представлена вербально. Используемые при представлении информации о ситуации термины будем называть терминами для описания ситуаций. Множество таких терминов обозначим TS. При вербальном представлении информации о ситуации одному термину из множества TS сопоставляется одно значение некоторой величины.


Поскольку ситуация – это фрагмент действительности, ограниченный в пространстве и во времени, то каждому термину в вербальном представлении информации о ситуации сопоставляется некоторое размерное или скалярное значение, некоторое конечное множество или отображение с конечной областью определения, некоторое структурное значение, некоторая конечная последовательность либо элемент некоторой нестандартной величины. В математической модели термину ситуации сопоставляется элемент носителя алгебраической системы, в программе – значение, принадлежащее некоторому типу данных.

Примерами терминов из множества TS, используемыми при описании химического процесса, являются число шагов химического процесса (безразмерное значение; в математической модели и в программе представляется целым числом), множество веществ процесса (представляется отображением, сопоставляющим номеру шага процесса множество веществ этого шага), множество реакций процесса (представляется отображением, сопоставляющим номеру шага процесса множество реакций, имевшем место на этом шаге), длительность шагов процесса (представляется отображением, сопоставляющим номеру шага процесса вещественное число).

Информация о действительности предметной области представляется бесконечным множеством вербальных представлений информации о ситуациях предметной области, в которых используется один и тот же набор терминов из множества TS. При описании каждой ситуации действительности предметной области одному и тому же символу сопоставляется в разных ситуациях значение одной и той же величины.

Таким образом, важным свойством любой предметной области является множество терминов для описания ее ситуаций. Важным свойством также является соответствие между терминами для описания ситуаций и величинами, элементы которых используются при вербальном представлении информации о ситуации. Это соответствие определяет тип, сопоставляемый термину в программе.

 

1.3. Концептуализация и онтология действительности

 

Поскольку действительность ПО является бесконечной и известны лишь ситуации, которые имели место в прошлом или имеют место в настоящем, то при решении задач используются представления о действительности, задаваемыми концептуализацией действительности [89-90]. Концептуализация определяет множество ситуаций, внешнее по отношению к действительности предметной области (рис. 1.2).

 
 

Понятие концептуализации определено в работе [163]: это объекты, понятия и другие сущности, которые предполагаются существующими в некоторой предметной области, а также отношения, которые определены между ними. Концептуализация рассматривается как множество неформальных правил, которые ограничивают структуру действительности [178, 235]. Из определения концептуализации следует, что все наблюдавшиеся ситуации принадлежат множеству ситуаций, определяемых концептуализацией.

Для явного представления концептуализации используется онтология. Определение онтологии было дано Грубером [172]: онтология есть явная спецификация концептуализации. Состав онтологии уточняет работа [235]: "Онтология может иметь различные формы, но она обязательно включает словарь терминов и некоторую спецификацию их смысла. Она включает определения и указания о связи понятий, что в совокупности накладывает структуру на предметную область и ограничивает возможные интерпретации терминов". Такой же состав онтологии определяет и стандарт онтологического исследования "IDEF5": онтология это словарь предметной области, наполненный множеством точных определений, или аксиом, ограничивающих смысл терминов в этом словаре и позволяющих согласованно интерпретировать данные [127]. Онтология может задавать иерархию понятий (что не является обязательным); среди отношений между понятиями могут быть отношения типа "is-a" и "part-of" и другие [239]. Такое определение понятия "онтология" совпадает с определением понятия "концептуальная модель" [129].

Будем называть онтологией действительности ту онтологию, которая задает спецификацию концептуализации действительности [89, 197, 203]. Онтология определяет названия понятий, используемых для представления ситуаций предметной области и связи между этими понятиями (онтологические соглашения).

Каждое определение названия понятия вводит термин, обозначающий это понятие в онтологии, и объем (экстенсионал) этого понятия. Объем каждого понятия либо совпадает с какой-либо величиной, либо является ее подмножеством. Онтологические соглашения позволяют уточнить смысл названий понятий, описывая необходимые взаимосвязи между понятиями. Онтологические соглашения, входящие в онтологию действительности, задают ограничения целостности ситуаций действительности.

Определения названий понятий и представление онтологических соглашений только в терминах концептуализации может оказаться весьма громоздким и трудным для понимания. Поэтому обычно в онтологии вводится ряд названий для обозначения понятий, отсутствующих в концептуализации, но позволяющих сделать другие определения и онтологические соглашения онтологии более обозримыми и понятными. Такие названия понятий и сами понятия, ими обозначаемые, будем называть вспомогательными. В противоположность к ним, названия понятий из множества TS будем называть основными.

Каждое определение названия вспомогательного понятия вводит термин, обозначающий это понятие в онтологии, и либо значение этого понятия (конкретное значение некоторой величины), либо способ вычисления значения этого понятия по значениям других понятий онтологии [89-90].

Например, в онтологии органической химии [], вспомогательные понятия введены для обозначения множеств возможных формул органических соединений, названий типов связей, типов гибридизации. В этом случае вспомогательным терминам сопоставлены значения. В онтологии физической химии [] одним из вспомогательных понятий является "простые вещества", для которого определяется способ вычисления значения: простым является вещество, молекулу которого образуют атомы одного химического элемента.

Каждое онтологическое соглашение задает связь между понятиями онтологии и представляет собой некоторое утверждение, содержащее как термины из множества TS, так и математические термины. Онтологические соглашения задают дополнительные (по сравнению с определениями понятий) ограничения на объемы понятий.

Например, в онтологии действительности физической химии [] определено понятие "масса" как масса системы для каждого шага процесса и как масса вещества этого шага. Онтологическое соглашение задает ограничение: масса системы на каждом шаге процесса есть сумма масс всех веществ этого шага. При определении данного понятия задано ограничение: значение массы не отрицательно.

Онтология определяет внешнее по отношению к концептуализации множество ситуаций (рис. 1.2). Будем назвать это множество концептуализацией действительности, определяемой онтологией.

Таким образом, важным свойством предметной области является онтология действительности, которая определяет понятия, используемые при описании действительности, термины для их обозначения, объемы понятий, обозначенных терминами, и онтологические соглашения, задающие ограничения целостности ситуаций действительности. Онтология действительности определяет структуру представления информации о ситуациях действительности [89-90, 203-204]. Онтология действительности используется в программах при задании входных данных и результатов решения задач и при разработке пользовательского интерфейса [75, 76].

 

1.4. Система знаний предметной области.

 

Знания предметной области – это знания о действительности этой области [22]. Они описывают свойства объектов, которые справедливы для всех ситуаций ПО. Например, знания химии описывают свойства химических элементов, соединений, реакций и других типов объектов данной области, формулы химических соединений и реакций и правила их построения, условия прохождения реакций, их длительность и т.д. (рис. 1.1). В ситуации (конкретном физико-химическом процессе) участвуют некоторые из химических соединений как участники некоторого шага этого процесса. На каждом шаге конкретного химического процесса имеют место какие-либо из химических реакций - элементы множества реакций, возможных между соединениями этого шага. Законы прохождения реакций (определяющие, какие соединения могут быть получены для каждой реакции) справедливы для всех ситуаций: среди соединений следующего шага обязательно появятся результаты тех реакций, которые имели место на предыдущем шаге.

Знания обычно представляются в виде утверждений на некотором языке. При записи этих утверждений используются термины онтологии действительности предметной области. Такие утверждения по форме (но не по содержанию) ничем не отличаются от онтологических соглашений. Будем называть это множество утверждений системой знаний предметной области.

Разница между онтологией и знаниями состоит в том, что онтология явно представляет концептуализацию действительности, а знания определяют подмножество этой концептуализации (рис. 1.3), задавая дополнительные, по сравнению с онтологией, ограничения на множество значений терминов онтологии действительности.

Будем предполагать, что в ПО существуют такие и только такие ситуации, относительно которых справедливы все утверждения, входящие в систему знаний ПО. Иными словами, все ситуации ПО согласуются со знаниями ПО. Последнее означает, что при замене терминов онтологии их значениями в ситуации из утверждения знаний будет получено тождественно истинное утверждение.

Будем называть систему знаний адекватной действительности предметной области, если множество ситуаций действительности является подмножеством ситуаций, определяемых этой системой знаний (рис. 1.3). Также будем называть систему знаний точной, если множество ситуаций действительности совпадает с множеством ситуаций, определяемых системой знаний.

Date: 2016-01-20; view: 2461; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.005 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию