Концептуальное программированиеКонцептуальное программирование - подход к программированию, описанный Э.Х. Тыугу в одноимённой книге [1]. К. программирование предполагает оперирование понятиями (концептами), описанными в терминах предметной области, что позволяет использовать ЭВМ на этапе постановки задачи. Достаточно точное описание задачи позволяет ЭВМ автоматически составлять программы для её решения. Характерными особенностями концептуального программирования являются также использование языка предметной области и использование семантической памяти с целью накопления знаний о решаемых задачах. Задача, поступающая на вход системы концептуального программирования, записанная в терминах предметной области, интерпретируется на семантической сети, которой описывается модель предметной области. Заранее подготовленные и отлаженные программные модули, связанные с понятиями предметной области, используются затем для синтеза готового решения (или синтеза программы, решающей задачу)[2]. Иными словами, к. программирование предполагает наличие базы знаний, включающей в себя элементарные составляющие, которые позволяют строить из них решение произвольной задачи данной предметной области. ПрименениеПрименение идей К. программирования изначально предполагалось в отношении проектирования технических устройств. В 90-х годах американский логик Ван-Хао (Вонг) предложил использование К. программирования для моделирования поведения социальных, экономических и политических систем [3]. Системы и языки концептуального программированияПервой реализацией принципов концептуального программирования стала система ПРИЗ ЕС, а языковой реализацией - язык УТОПИСТ, разработанные в ИК АН ЭССР под руководством Э.Х. Тыугу в 1988 году [4]. Пример программы на языке УТОПИСТ выглядел следующим образом: <!-- не поддерживается --> начало K есть квадрат, сторона = Х. C есть круг, диаметр = X. известно, что S = площадь от K - площадь от С. найти S по X конец На этом примере видно, что велись попытки приблизить язык, путём применения макроопределений, к форме естественного языка. В начале 2000-х годов возник подход к программированию со схожим названием (Concept programming). Он также предполагает оперирование концептами, которые должны транслироваться в представления, найденные в программном пространстве. Реализация данного подхода была выполнена в виде языка XL, основными возможностями которого является расширяемые синтаксис и семантика. В работах [5][6] была предпринята попытка развития первоначальных идей К. программирования в направлении использования лингвистического процессора для обработки программ, записанных на естественном языке. В системе Nalaps база знаний о предметной области описывается в виде программных модулей - библиотек классов языка Java с выполненной семантической разметкой атрибутов классов. Поступающий на вход системы текст на естественном языке проходит анализ, результатом которого является синтаксико-семантическое представление, по которому затем система автоматически синтезирует и компилирует программный код на языке Java. Примечания
Литература
|
Portal di Ensiklopedia Dunia