1 / 27

Системы программирования, ориентированные на обработку семантических сетей

Пивоварчик О. В., Лазуркин Д. А., БГУИР, г. Минск. Системы программирования, ориентированные на обработку семантических сетей. Технология проектирования программ, ориентированных на обработку семантических сетей. Теория программирования

kemal
Download Presentation

Системы программирования, ориентированные на обработку семантических сетей

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Пивоварчик О. В., Лазуркин Д. А., БГУИР, г. Минск Системы программирования, ориентированные на обработку семантических сетей

  2. Технология проектирования программ, ориентированных на обработку семантических сетей • Теория программирования • Библиотека совместимых ip-компонентов для создания программ • Инструментальные средства, ориентированные на обработку семантических сетей • Методика проектирования программ, ориентированных на обработку семантических сетей • Методика обучения проектированию программ, ориентированных на обработку семантических сетей • Интеллектуальная help-система по технологии проектирования программ

  3. Система программирования, ориентированная на обработку семантических сетей • библиотека ip-компонентов • инструментальное средство проектирования • интеллектуальная help-система по технологии проектирования программ

  4. Базовый язык программирования, ориентированный на обработку семантических сетей В качестве базового языка программирования, предназначенного для эффективной интерпретации семантических сетей, используется язык SCP (SemanticCodeProcessing). SCP – это графовый процедурный язык программирования, ориентированный на переработку нечисловой информации. Особенности языка SCP: • ориентация на использование структурно перестраиваемой (графодинамической) ассоциативной памяти; • хорошая приспособленность к переработке нечисловых структур, в том числе представляющих сложные динамические базы знаний; • ориентация на переработку непосредственно семантических сетей, а не структур (например, списковых), с помощью которых семантические сети кодируются (язык SCP описывает переработку информации непосредственно на уровне семантического кодирования); • возможность реализации механизмов решения задач (логических операций, операций вывода), имеющих различный уровень сложности и поддерживающих различные стратегии решения задач; • возможность через содержимое sc-узла интегрировать процедуры над sc-конструкциями с программами, написанными на традиционных языках и описывающими переработку различных информационных структур. Это обеспечивается тем, что содержимым SC-узла может быть информационный объект любой природы; • высокий потенциал распараллеливания процессов переработки информации в графовой структурно перестраиваемой ассоциативной памяти. SCP является подъязыком базового графового языка SC (Semantic Code). Особенностью этого языка является то, что не только данные, но и сами программы, написанные на языке SCP, представляются в виде SC-конструкций.

  5. SCP-программа • представляется в виде специальным образом устроенной sc-конструкции • хранится в sc-памяти • может входить в состав данных по отношению к другим scp-программам либо по отношению к самой себе

  6. Заголовок scp-программы Множество параметров scp-программы (spar) – это упорядоченное множество программных переменных этой scp-программы. Это множество упорядочено атрибутами 1_, 2_, 3_ и т.д. Параметры, значения которых scp-программа получает из вызвавшей её программы, уточняются атрибутам in_. Параметры, значение которых scp-программа возвращает вызвавшей её программе, уточняется атрибутам out_. Возвращение значений параметров происходит при вызове return-операторов. Множество констант scp-программы (sconst) – это множество константных sc-элементов. Значением scp-константы является узел, обозначающий scp-константу. Множество программных переменных scp-программы (svar) – это множество переменных sc-элементов. Значением переменной scp-программы является sc-элемент, связанный бинарным ориентированным отношением с sc-узлом, обозначающим scp-переменную.

  7. Разбиение scp-операторов по характеру передачи управления • SCP-операторы, при реализации которых осуществляется безусловная передача управления следующему реализуемому оператору; • SCP-операторы, при реализации которых осуществляется условная передача управления одному из двух операторов; • SCP-операторы, завершающие реализацию SCP-программ, т.е. операторы, при реализации которых не осуществляется передача управления одному из операторов этой же SCP-программы.

  8. Разбиение scp-операторов по обозначаемому действию • scp-операторы генерации sc-конструкций • scp-операторы удаления sc-конструкций • scp-операторы ассоциативного поиска sc-конструкций • scp-операторы выборки • scp-операторы проверки условий • scp-операторы изменения свойств sc-элемента • scp-операторы управления scp-процессом • scp-операторы вывода на консоль

  9. SCP-операторы могут перерабатыватьстрого фиксированные SC-конструкции следующих видов • sc-конструкция, состоящая из одного sc-элемента • sc-конструкция, состоящая из трех элементов (первый элемент такой конструкции является SC-узлом, тип которого может быть дополнительно уточнен с помощью атрибута  const_,var_, meta_. Второй элемент - SC-дуга, тип которой может быть дополнительно уточнен с помощью атрибутов  const_ ,  var_ ,  pos_ ,  neg_ ,  fuz_ . Третий элемент может быть sc-узлом, sc-дугой или sc-элементом неопределенного типа. Этот элемент может быть дополнительно уточнен с помощью атрибута  node _ ,  arc_ , elem_ , а также с помощью атрибутов const_ ,  var_ , meta_,pos_ ,  neg_ ,  fuz_ • sc-конструкция, состоящая из пяти элементов. Первые три элемента - те же, что и в случае трехэлементной SC-конструкции. Четвертый элемент - SC-дуга, пятый - SC-узел. Все элементы могут быть уточнены с помощью соответствующих атрибутов

  10. Пример scp-оператора типа eraseElStr3

  11. Пример scp-оператора типа searchSetStr3

  12. Инструментальное средство • Редактор scp-программ • Средство сборки репозитория базы знаний • SCP-интерпретатор • SCP-отладчик Основой инструментального средства является библиотека для моделирования sc-памяти.

  13. Главное окно инструментального средствапроектирования scp-программ

  14. SCP-интерпретатор • Служебные операции интерпретации scp-программ • Операции интерпретации scp-операторов • типа genEl • типа genElStr3 • типа genElStr5 • типа add • и других типов • Операции навигационно-поисковых запросов • Операции генерации по образцу

  15. Возможности scp-отладчика • Работа с точками останова • Пошаговая трассировка • Пошаговая трассировка со входом в вызываемую программу • Отображение значений scp-переменных во время выполнения • Навигация по sc-памяти (использование навигационно-поисковых операций)

  16. Точка останова opiи opj – знаки некоторых scp-операторов. С целью реализации функционала отладки scp-программ был введен тип scp-оператора breakpoint. brk – знак точки останова, установленной на scp-оператор opj.

  17. Сообщения трассировки scp-процесса Следующие сообщения получает закрепленный за scp-процессом слушатель. • Шаг трассировки • Активировалась точка останова • Произошла ошибка в процессе интерпретации scp-программы • SCP-процесс породил дочерний scp-процесс • SCP-процесс завершился

  18. Help-система Help-система представляет собой консультационную программную систему по технологии разработки программного обеспеченияна языке SCP

  19. Help-система • справочная подсистема по технологии проектирования программ на языке SCP; • подсистема мониторинга и анализа деятельности разработчика программ; • подсистема управления обучением по проектированию программ.

  20. Каждая подсистема включает • Базу знаний • Машину обработки знаний • Пользовательский интерфейс

  21. Функции справочной подсистемы • интеллектуальный поиск запрашиваемой информации; • отображение информации: о языке представления знаний, о языке программирования с ориентацией на уровень подготовки разработчика программ, об инструментальном средстве разработки программ, о методике программирования; • генерация ответов на запросы пользователя, логический вывод на основании содержащейся информации в БЗ; • самообучение системы (на основании запросов пользователя система генерирует ответы и формирует новые знания); • анализ программных текстов пользователя и внесение предложений по улучшению их эффективности; • генерация программ по запросу пользователя.

  22. БЗ справочной подсистемы включает • формальное описание языка программирования SCP, операционной семантики SCP • формальное описание языков представления знаний (SCg-язык, SC-ядро, SC-язык множеств, SC-язык отношений, SC-язык числовых систем, гипермедийный SC-язык, дидактический SC-язык, логический SC-язык) • формальное описание инструментальных средств проектирования программ • формальное описание библиотеки IP-компонентов • формальное описание методики проектирования программ: методики использования языка, инструментального средства, библиотеки ip-компонентов • формальное описание методики обучения проектированию программ • формальное описание самой help-системы

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

  24. Функции подсистемы анализа и мониторинга деятельности разработчика программ • определение общей информации о разработчике программ; • ведение постоянного мониторинга за действиями пользователя; • анализ действий пользователя; • определение уровня квалификации пользователя; • определение и анализ ошибок.

  25. Функции подсистемы управления обучением разработчика программ • управление обучением разработчика программ в соответствии с определенной методикой обучения; • обеспечение помощи, соответствующей ситуации.

  26. Использование help-системы позволит ускорить изучение языка программирования SCP ипозволит существенно сократить сроки разработки интеллектуальных систем.

  27. Спасибо за внимание!

More Related