81976

РАЗРАБОТКА СИСТЕМЫ ПОДДЕРЖКИ ПРОЦЕССА ПЛАНИРОВАНИЯ УЧЕБНЫХ КУРСОВ НА ОСНОВЕ ТЕХНОЛОГИИ SEMANTIC WEB

Дипломная

Информатика, кибернетика и программирование

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

Русский

2015-09-20

849.5 KB

9 чел.

БАКАЛАВРСКАЯ РАБОТА

РАЗРАБОТКА СИСТЕМЫ ПОДДЕРЖКИ ПРОЦЕССА ПЛАНИРОВАНИЯ УЧЕБНЫХ КУРСОВ НА ОСНОВЕ ТЕХНОЛОГИИ SEMANTIC WEB

по основной образовательной программе подготовки бакалавров

010400 – Информационные технологии


Реферат

Выпускная квалификационная работа 55 с., 18 рис., 10 источников, 1 прил.

SEMANTIC WEB, ОНТОЛОГИИ, RDF, OWL, JAVA, JENA FRAMEWORK, SPARQL, ВЕБ-ПРИЛОЖЕНИЕ, JSP.

Объект исследования – система поддержки планирования учебных курсов и входящих в них материалов.

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

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

Результаты работы – разработан прототип веб-приложения для поддержки процесса планирования учебных курсов.

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


Содержание

Введение……………..……………..……………..……………..…….….……..5

1 Обзор систем управления курсами……………..……………..…….……….7

   1.1 Решения на основе Semantic Web……………..……………..….……....8

2 Обзор технологий Semantic Web…………………………………………….10

   2.1 Основные идеи…………………………………………………………...10

   2.2 Применение онтологий………………………………………………….12

   2.3 Элементы онтологий…………………………………………………….13

   2.4 Отображение онтологий………………………………………………...14

   2.5 Язык описания онтологий………………………………………………17

3 Этапы разработки…………………………………………………………….17

   3.1 Требования к системе……………………………………………………19

   3.2 Проектирование…………….……………………………………………21

       3.2.1 Модель предметной области………………………………………..21

       3.2.2 Обзор средств разработки...…………………………………….…..31

       3.2.3 Архитектурные принципы………………………………………….36

       3.2.4 Диаграммы классов приложения.………………………………….37

   3.3 Реализация…………….………………………………………………….42

       3.3.1 Описание онтологий на языке OWL……………………………….42

       3.3.2 Инструменты реализации…………..……………………………….44

       3.3.3 Разработка клиентской части…..…..………………………………45

Заключение……………………………………………………………………..48

Список использованных источников и литературы…………………………49

Приложение А. Руководство пользователя…………………………………..50


Введение

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

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

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

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

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


1
 Обзор систем управления курсами

Наряду с высокой динамикой информационных технологий увеличивается объем профессиональных знаний. В связи с этим с каждым днем появляется все больше сетевых образовательных средств и продуктов.  Многие учебные заведения занимаются разработкой сетевых образовательных средств, в том числе, дистанционных курсов, ориентированных на использование в сети Интернет. Как и многие организации, ВУЗы также стали все чаще стали внедрять и использовать различные информационные системы, относящиеся непосредственно к управленческой деятельности университета. Некоторым из них уже есть чем похвастаться. Продукт с названием «1С:Университет» от компании 1С охватывает практически все уровни деятельности основных подразделений учреждения высшего профессионального образования и, что не мало важно, интегрируется с другими типовыми решениями этой же фирмы для бухгалтерии и отдела кадров. Притом, что такой продукт имеет много возможностей, он является коммерческим и на текущий момент не использует спектр технологий семантической паутины. Примером другой системы может служить система управления курсами и обучением Moodle. Представляет собой свободную платформу, предлагающую создавать сайты для онлайн-обучения. Система ориентирована, прежде всего, на организацию взаимодействия между преподавателем и учениками. Еще одним из комплексных профессиональных продуктов по праву можно считать информационную систему Naumen University, которая решает огромный  круг задач, связанных с автоматизацией всех уровней учебного процесса ВУЗа, начиная от составления расписания, и заканчивая контролем подготовки студентов.

1.1 Решения на основе Semantic Web

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

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

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

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

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

В рамках данной работы решается более конкретная задача, решение которой не было отражено в разработках в области E-Learning.


2 Обзор технологий
Semantic Web

Термин «Семантическая паутина» был впервые введён Тимом Бернерсом-Ли (изобретателем Всемирной паутины) в 2001 году, и трактовался им как «следующий шаг в развитии Всемирной паутины». Впоследствии такая концепция была принята и на данный момент развивается Консорциумом Всемирной паутины W3C.

2.1 Основные идеи

Семантическая паутина направлена на то, чтобы развить сеть Интернет, главной целью которой является представление информации в виде, пригодном для машинной обработки. В «обычной» Паутине, основанной на HTML-страницах, информация заложена в тексте страниц и извлекается человеком с помощью браузера. Семантическая же паутина предполагает запись информации в виде семантической сети с помощью онтологий[3].

Онтологии позволяют описать любую предметную область в понятных для машины терминах и эффективно использовать программных агентов. Таким образом, программа-клиент может непосредственно извлекать из паутины факты и утверждения и делать из них логические заключения. При использовании такого подхода, дополнительно к видимой человеком информации на каждой странице имеется также служебная информация, позволяющая эффективно использовать данные агентами. Семантическая паутина работает параллельно с «обычной» Паутиной, используя протокол HTTP и идентификаторы ресурсов URI.

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

Таким образом, важнейшими характеристиками семантической паутины являются:

  •  Использование унифицированных идентификаторов ресурсов (URI)
  •  Использование семантических сетей2 и онтологий

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

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

2.2 Применение онтологий

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

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

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

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

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

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

2.3 Элементы онтологий

Современные онтологии строятся по большей части одинаково, независимо от языка написания. Обычно они состоят из экземпляров, понятий, атрибутов и отношений.

  •  Экземпляры (instances) или индивиды (individuals) это основные элементы нижнего уровня в онтологии. Экземпляры могут представлять собой как физические объекты (люди, дома, планеты), так и абстрактные (числа, слова). В общем случае онтология может обойтись и без конкретных объектов. Однако одной из главных целей онтологии является классификация таких объектов, поэтому они также включаются.
  •  Понятия (concepts) или классы (classes) — абстрактные группы, коллекции или наборы объектов. Они могут включать в себя экземпляры, другие классы, либо же сочетания и того, и другого. Например, понятие «звёзды» имеет вложенное понятие «солнце». Классы могут иметь подклассы (дочерние концепты). Для того чтобы не возникало неопределенности, далее в тексте работы классы иногда будут именоваться концептами.
  •  Атрибуты или свойства (properties) — каждый объект может иметь необязательный набор атрибутов, позволяющий хранить специфичную информацию. Каждый атрибут имеет, по крайней мере, имя и значение, и используется для хранения информации, которая привязана к  объекту.
  •  Отношения – позволяют задать связи и зависимости между объектами онтологии.

2.4 Отображение онтологий

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

Программные средства для отображения онтологий в основном разрабатываются для управления схемами баз данных, таксономиями, формальными языками, ER-моделями данных, словарями и некоторыми другими моделями данных. Исходные структуры обычно перед отображением преобразовываются в граф. С возникновением семантической паутины такие графы могут быть представлены с помощью Resource Description Framework.

Resource Description Framework (RDF) — это разработанная консорциумом Всемирной паутины модель для представления данных и метаданных. RDF представляет утверждения о ресурсах в виде, пригодном для машинной обработки. RDF также является частью концепции семантической паутины.

Ресурсом в RDF может быть любая сущность — как информационная (например, веб-сайт или изображение), так и неинформационная (например, человек, страна или какое-либо абстрактное понятие). Утверждение, высказываемое о ресурсе, имеет вид «субъект — предикат — объект» и называется триплетом. Утверждение «небо синего цвета» в RDF-терминологии можно представить следующим образом: субъект — «небо», предикат — «имеет цвет», объект — «синий». Для обозначения субъектов, предикатов и объектов в RDF используются вышеупомянутые идентификаторы URI. Множество RDF-утверждений образует ориентированный граф, в котором вершинами являются субъекты и объекты, а рёбра помечены предикатами.

Рисунок 1 – Пример RDF графа

На рисунке 1 изображен пример данных в контексте RDF, представленных в виде ориентированного графа. У каждого объекта и отношения имеется персональный идентификатор URI.

RDF сам по себе является не форматом файла, а только лишь абстрактной моделью. Для записи и передачи RDF используется несколько форматов:

  •  RDF/XML — запись в виде XML-данных
  •  RDF/JSON — запись в виде JSON-данных
  •  RDFa (RDF in attributes) — запись внутри атрибутов произвольного HTML-документа
  •  N-Triples, Turtle, N3 — другие компактные формы записи утверждений

Для обработки данных, представленных в RDF, могут использоваться языки запросов: SPARQL (стандарт W3C), RQL, RDQL.

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

2.5 Язык описания онтологий

OWL[4] (Web Ontology Language) – язык описания онтологий для семантической паутины. Язык OWL позволяет описывать классы и отношения между ними, присущие веб-документам и приложениям. OWL основан на более ранних языках OIL и DAML+OIL и в настоящее время является рекомендованным консорциумом W3C.

Язык веб-онтологий OWL разработан для использования приложениями, которые должны обрабатывать содержимое информации, а не только представлять эту информацию людям. OWL обеспечивает более полную машинную обработку веб-контента, чем та, которую поддерживают XML и RDF, предоставляя наряду с формальной семантикой дополнительный терминологический словарь. OWL имеет три диалекта: OWL Lite, OWL DL и OWL Full, которые различаются порядком выразительности средств и возможностей языка.


3 Этапы разработки

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

Таким образом, выделим ряд основных задач, поставленных в данной работе:

  •  Выявить функциональные требования к системе
  •  Составить варианты использования системы
  •  Изучить стек технологий семантической паутины и рассмотреть возможные средства реализации и необходимый инструментарий
  •  Разработать модели и схемы онтологий
  •  Разработать архитектуру системы
  •  Реализовать эволюционный прототип

3.1 Требования к системе

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

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

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

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

  •  Планирование учебного курса
  •  Управление учебным курсом
  •  Управление предметной областью
  •  Управление темами
  •  Разделение тем на занятия
  •  Управление понятиями

На основе перечисленных требований можно составить диаграмму вариантов использования системы (рисунок 2). Жирным шрифтом на рисунке выделены архитектурно-значимые ВИ.

Рисунок 2 – Контекстная диаграмма ВИ системы

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

  •  Планирование курса на основе другого курса
  •  Просмотр планов других курсов
  •  Структурирование курсов и тем по принципу предшествования
  •  Классифицирование понятий

Рассмотрим некоторые варианты использования более подробно.

Вариант использования «Управление учебным курсом» предполагает создание, редактирование, удаление и просмотр курса, включающего название и описание. Аналогично будут организованы прецеденты «Управление предметной областью» и «Управление темами».

Вариант использования «Структурирование курсов и тем по принципу предшествования» добавляет функционал для формирования строгого порядка их проведения. Например, включение в учебный план дисциплины «Математический анализ» темы интегралов бессмысленно без предварительного включения темы производных.

«Просмотр планов других курсов» добавляет возможность преподавателям просматривать планы курсов, построенные другими пользователями.

Среди дополнительных требований было выделено «Планирование курса на основе другого курса». Этот ВИ расширяет возможность просмотра и добавляет возможность заимствовать элементы и понятия уже существующих в системе планов курсов. «Классифицирование понятий» позволяет группировать понятия по каким-либо признакам.

3.2 Проектирование

3.2.1 Модель предметной области

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

На данном этапе необходимо построить неформальное представление и описание онтологий. Далее будут проиллюстрированы и описаны модели разработанных онтологий в форме ориентированных графов. 

Начать стоит с рассмотрения наиболее важной и фундаментальной онтологии CourseLevel (рисунок 3). На этой диаграмме изображены концепты так называемого статического контекста и отношения между ними.

Рисунок 3 – Модель онтологии CourseLevel

Концепт Course представляет собой учебный курс. Атрибутами такого концепта являются название (name) и какое-либо описание (description). Он связан отношением includes с классом Theme и отношением refersTo с классом KnowledgeDomain. Стоит сразу отметить, что отношение includes (включение) по своей сути является аналогом отношения агрегации. Отношение refersTo является аналогом односторонней ассоциации и задает ссылку от одного класса к другому.

Концепт KnowledgeDomain содержит информацию о предметной области. Атрибутами класса являются название (name) и описание (description). Как видно на диаграмме, предметная область может быть частью какой-либо другой более глобальной предметной области или же включать другие предметные области.

Концепт Theme предназначен для хранения данных о темах, может включать в себя подтемы и занятия (т.е. одна тема может быть поделена на ряд подтем, каждая из которых будет соответствовать одному занятию). Атрибуты класса это название (name) и описание (description). Концепт Theme также имеет отношение refersTo с концептом KnowledgeDomain, что позволяет однозначно определить предметную область, к которой относится тема.

Концепт Lesson хранит данные о конкретном занятии и имеет также название или заголовок (name) и краткое описание или краткое содержание (description).

Концепт ClassElement является некой атомарной составляющей в текущей иерархии классов онтологии, и по существу представляет абстракцию для дочерних концептов, рассмотренных в следующей онтологии.

Концепт KnowledgeElement, Person, Event, не являются прямыми составляющими данной онтологии, но рассматриваются в этом контексте для связи с другой онтологией, рассмотренной ниже. 

Следующая онтология носит название KnowledgeLevel. Она содержит в себе классы темпорального характера, экземпляры которых имеют временной контекст (интервальный или мгновенный). Для того чтобы предоставить возможность хранить дату и время для отдельно взятого экземпляра, нужна специализированная онтология, которая будет содержать концепты, описывающие различные форматы представления даты и времени. В таком случае можно было бы добавить к классу атрибут простого типа xsd:long 3, но в таком случае будет сложно оперировать с датами, например, некоторого века до нашей эры.

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


Рисунок 4 – Модель онтологии KnowledgeLevel


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

Центральным в данной онтологии является концепт KnowledgeElement. На практике является абстрактным, т.е. не имеет экземпляров, но при этом является родительским для многих других концептов.

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

Концепт Event описывает событие. Он специально был разделен да два дочерних концепта для указания типа события – интервальное и мгновенное (IntervalEvent и InstantEvent). Концепт Person связывается отношением participant с данным концептом, предполагая то, что человек может выступать в качестве участника события или каким-либо образом быть связанным с ним.

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

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

Концепт Pronouncement служит для описания высказывания, сделанного какой-либо персоной (класс Person).

Концепт Viewpoint – точка зрения, отличается от высказывания (класс Pronouncement) тем, что имеет отношение viewpointOn с концептом KnowledgeElement. Проще говоря, связывает между собой автора, его точку зрения и субъект, о котором идет речь.

Концепт Term – термин или определение (дефиниция). Может описываться как термин в широком смысле (например, понятие или объект в математическом рассуждении).

Концепт Classification служит для возможности объединять термины в группы по определенному критерию (классификации). Между классами Classification и Term существуют отношения ofTerm и belongsTo соответственно. Немало важным остается введение еще одного дополнительного концепта ClassificationAttribute, отвечающим за описание  критерия классификации терминов.

Концепт Law – описывает закон или правило (неформально это требование для выполнения некоторых условий). Наглядно представить его можно в виде конструкции «если - то». Данный класс непосредственно связан с концептом Term, так как содержит различные термины и понятия и оперирует ими.

Концепт Artwork (произведение) – служит для описания метаданных различных ресурсов. Его дочерними концептами являются Picture (картина или изображение), Sculpture (скульптура), Architecture (архитектура), Music (музыкальное произведение), Invention (изобретение), Text (произвольный текст). Все экземпляры этих не берут на себя обязательства хранить файлы изображений, музыкальных произведений и т.д., а лишь описывают данные об этих объектах. В качестве примера можно привести данные об авторе, названии и годе написания картины «Черный квадрат» (К. Малевич, 1915г.). Концепт Text разделяется на два концепта – Book (книга) и Article (статья).

Третья разработанная онтология называется SystemLevel и имеет прикладное значение. Она служит в первую очередь для обеспечения возможности расстановки приоритетов (принцип предшествования) для учебных курсов, тем и занятий. Принцип предшествования не выносится в отдельный класс, а является атрибутом с целочисленным типом xsd:int. И, во-вторых, для указания и хранения источников и материалов (ресурсов), иллюстрирующих понятия, связанные с курсами. Среди ресурсов основными были выделены аудио материалы, видео материалы, изображения, книги и статьи, а также веб-сайты. Соответствующие им классы отображены на рисунке 5.


Рисунок 5 – Модель онтологии SystemLevel


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

Концепты Video, Audio, Book, Article, Image, Web-resource описывают ресурсы понятий, входящих в учебные курсы. В данном случае, например, изображение человека, видеозапись какого-либо события, статья о теореме и ее доказательстве. Атрибутами таких концептов являются ссылки на хранилища соответствующих материалов. Концепты Resource и ClassElement связаны отношением describes.

3.2.2 Обзор средств разработки

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

Очевидно, что для реализации веб-приложения необходимы следующие компоненты: HTTP-сервер, интерпретатор или компилятор, исполняющий код для обработки на каком-либо языке программирования (на серверной стороне), а также хранилище триплетов (утверждений построенных на онтологиях). На практике любую СУБД можно адаптировать под хранилище триплетов. В таком случае придется дополнительно реализовывать специальный интерфейс доступа к базе данных и дополнительные элементы для поддержки хранения метаданных.

Но стоит воспользоваться существующими готовыми решениями для редактирования, хранения и управления RDF-триплетами.

Jena Framework[5] – полнофункциональная структура программной системы, облегчающая разработку приложений, основанных на Semantic Web, с открытым исходным кодом, написанная на языке Java. Разработка Jena Framework началась в 2000 году исследователями лаборатории HP Labs. С 2009 года HP переориентировала развитие деятельности от прямой поддержки развития Jena, и сейчас поддержкой проекта занимается Apache Software Foundation. Jena Framework предоставляет обширные библиотеки для оказания помощи в разработке кода, который обрабатывает RDF, RDFS и OWL в соответствии с опубликованными рекомендациями консорциума W3C. Также включает в свою основу механизмы и правила логического вывода для выполнения рассуждений, основанных на OWL и RDFS онтологиях, а также различные стратегии для хранения RDF-триплетов в памяти или на диске. 

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

Protégé[6] это свободно распространяемый, открытый редактор онтологий и программный каркас для построения баз знаний. Платформа Protégé поддерживает два основных способа моделирования онтологий посредством редакторов Protégé-Frames и Protégé-OWL. Онтологии, построенные в Protégé, могут быть экспортированы во множество форматов, включая RDF, OWL и XML Schema.

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

Компонент редактора Protégé-OWL позволяет пользователям строить онтологии для семантической паутины, в частности на OWL. OWL-онтология может включать описания классов, свойств и их экземпляров. Давая такую онтологию, формальная семантика OWL определяет, как получать логические следствия, т.е. факты, которые не присутствуют непосредственно в онтологии, но могут быть выведены из существующих фактов посредством семантики. Эти выводы могут быть основаны на одном документе или на множестве распределенных документов, которые были объединены с использованием определенных механизмов OWL. 

Для реализации данного проекта был выбран Jena Framework, поскольку он предоставляет гибкий удобный API на платформе Java для работы с онтологиями в формате RDF/XML.

На рисунке 6 представлена архитектура Jena Framework, она поделена на несколько основных слоев, являющихся подсистемами с четко определенными интерфейсами между ними. Коротко говоря, это уровень интерфейса для работы непосредственно с RDF-триплетами через программный код или SPARQL-запросы[7] для клиентского приложения. Также имеется возможность работы на уровне онтологий, т.е. работа не просто с отдельными утверждениями, а с полным графом онтологии. Второй уровень представляет API для работы над логическим выводом новых данных на основе данных, которые уже обработаны и хранятся в системе. И, наконец, третий уровень это уровень хранилища — интерфейс, предоставляющий доступ непосредственно к базе данных.

Рисунок 6 – Архитектура Jena Framework

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

SPARQL  — язык запросов к данным, представленным по модели RDF, а также протокол для передачи этих запросов и ответов на них. SPARQL является рекомендацией консорциума W3C и одной из технологий семантической паутины. Предоставление SPARQL-точек доступа (SPARQL-endpoint) является рекомендованной практикой при публикации данных во всемирной паутине.

Основным преимуществом этого языка является возможность писать глобально однозначные запросы, благодаря тому, что у каждого ресурса имеется URI.

Общая схема запроса состоит из нескольких компонентов:

  •  Префиксные объявления – служат для сокращения URI.
  •  Источники запроса – определяют, какие RDF-графы запрашиваются.
  •  Пункт результата – возвращает набор данных или выборку данных, удовлетворяющих заданному результату.
  •  Критерии запроса – определяет, что запросить в наборе данных.
  •  Модификаторы запроса – ограничивают, упорядочивают и каким-либо образом преобразуют результаты запроса.


3.2.3 Архитектурные принципы

Как и любое веб-приложение, разрабатываемая система ориентирована на «клиент-серверное» взаимодействие. При данной технологии сетевая нагрузка распределяется между звеном клиент-сервер.

Приложение разрабатывалось по принципам MVC (Model-View-Controller). Таким образом, вся система поделена на три основных слоя: модель, вид, контроллер. Основная задача такого подхода сделать более независимой модель и представление, вводя промежуточный слой взаимодействия – контроллер, который будет являться своего рода мостом, позволяющим обеспечить представлению необходимые сведения, взятые у модели.

Общая структура приложения представлена на диаграмме пакетов:

Рисунок 7 – Диаграмма пакетов приложения

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

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

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

Пакет WebService содержит интерфейс для внешнего доступа другим приложениям (является сервисом для приложений «внешнего мира»), поддерживающим протокол HTTP.

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

Пакет View содержит классы, отвечающие за отображение данных на странице для пользователя.

3.2.4 Диаграммы классов приложения

На рисунке 8 изображен фрагмент диаграммы классов пакета Kernel приложения. Для удобства на диаграмме не отображены атрибуты и операции для каждого класса. Также в описании классов могут быть опущены типы возвращаемых значений и параметры операций.

Класс OntModelGateway содержит набор высокоуровневых операций для работы с онтологической моделью. Операция addInstance() предназначена для добавления индивида заданного концепта в модель. Операция addInstancesRelation() предназначена для указания отношения между двумя индивидами. Операция addInstanceAttrValue() предназначена для задания значения определенного атрибута индивида. Операция получения значения атрибута определенного индивида getInstanceAttrValue(). Операция removeInstance() удаляет индивид из модели без удаления всех отношений этого индивида с другими отношениями. Аналогичная операция removeInstanceWithRelations() удаляет индивид определенного концепта, при этом удаляя все отношения между данным индивидом и другими индивидами. Операция removeInstancesRelation() удаляет определенную связь между двумя заданными индивидами. Операция getInstancesList() предназначена для получения списка всех индивидов заданного концепта. Операция getInstance() возвращает заданный индивид определенного концепта.

Класс Model спроектирован с использованием типового решения «Одиночка»[8]. Экземпляр этого класса является глобальным и предназначен для хранения информации о модели (список предметных областей, список курсов, список понятий, список ресурсов). Он содержит операции для управления предметными областями, учебными курсами, ресурсами и понятиями.

Класс AbstractItem представляет собой высокоуровневую абстракцию для управления различными элементами модели (предметные области, курсы, темы, занятия и другие). Он имеет несколько базовых операций, которые будут унаследованы другими классами. Операция create() создает индивид концепта, которому соответствует унаследованный от AbstractItem класс. Операция addName() позволяет задавать значение атрибута Name. Аналогичным образом устроена операция addDescription().

Остальные классы, приведенные на диаграмме, отображают модель онтологии CourseLevel и служат для управления данными внутри приложения.

Рисунок 8 – Диаграмма классов приложения

На рисунке 9 изображена диаграмма классов пакета DBManager.

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

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

Рисунок 9 – диаграмма классов пакета DBManager

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

URI каждого индивида классов модели является строкой, каждая из которых состоит из конкатенации пространства имен выбранной онтологии и присвоенного системой имени. В качестве примера можно привести URI учебного курса «Математический анализ»: http://www.semanticweb.org/ontologies/2012/3/Course.owl#mathematical_analysys.

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

Далее представлен пример – фрагмент данных, передаваемых в формате JSON:

Рисунок 10 – Фрагмент данных в формате JSON


3.3 Реализация

3.3.1 Описание онтологий на языке OWL

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

  •  http://www.semanticweb.org/ontologies/2012/3/Course.owl
  •  http://www.semanticweb.org/ontologies/2012/3/Knowledge.owl
  •  http://www.semanticweb.org/ontologies/2012/3/System.owl
  •  http://www.w3.org/2006/time.owl

На рисунке 11 представлен фрагмент онтологии CourseLevel, которая была построена при помощи редактора Protégé.

Рисунок 11 – Фрагмент онтологии CourseLevel на языке OWL

Из текста фрагмента видно, как конструируется каждый элемент онтологии. Любой концепт, определенный в онтологии, в качестве родительского концепта имеет класс Thing, который является «верхушкой» иерархии. Более подробно стоит обратить внимание на описание свойств, которые представляют собой бинарные отношения. Существует два вида свойств: свойства-значения (DatatypeProperty) и свойства-объекты (ObjectProperty). Первые служат для указания отношений между представителями концептов и RDF-литералами или типами данных, определяемых в XML Schema. Вторые для указания отношений между представителями (индивидами) двух концептов. При определении свойства существует множество способов ограничить эти отношения посредством указания домена (domain) и диапазона (range), которые «жестко» привязывают это отношение к конкретным концептам. Такая организация обеспечивает возможность наследовать свойства и, как следствие, составлять отношения в иерархию. Заметим, что использование информации о диапазоне и домене в OWL отличается от информации о типе данных в языках программирования. В частности, в языках программирования типы данных используются, чтобы отслеживать взаимосвязанность кода. В OWL диапазон значений может использоваться, чтобы наследовать тип. Стоит также добавить, что свойства имеют ряд характеристик, описывающих механизмы, используемые для более точного определения. Исходя из того, что свойства это бинарные отношения, для них справедливы такие характеристики как транзитивность, симметричность, функциональность и некоторые другие. Другим немаловажным фактом является возможность указания кардинальности (кардинальных чисел отношения). 

3.3.2 Инструменты реализации

Используемая в разработке библиотека Jena написана на языке программирования Java, и поэтому для ее использования нужна удобная и поддерживаемая сообществами среда разработки. В качестве такой была выбрана NetBeans IDE – свободная интегрированная среда разработки приложений, существующая под различные операционные системы. Кроме того, для полнофункционального использования большинства библиотек языка необходим дополнительный специальный пакет JDK (Java Development Kit) – на данный момент, бесплатно распространяемый компанией Oracle Corporation комплект разработчика приложений на языке Java, включающий в себя компилятор Java (javac), стандартные библиотеки классов Java, примеры, документацию, различные утилиты и исполнительную систему Java (JRE). Для реализации веб-сервиса необходима платформа Java Standard Edition 6 либо более поздней версии.

В качестве HTTP-сервера был выбран свободный самостоятельный веб-сервер Apache Tomcat 7.0.22. На сегодняшний день это последняя стабильная версия, легко интегрируемая с NetBeans IDE.

В качестве системы управления базы данных для хранения триплетов была выбрана MySQL, распространяющаяся в соответствии с условиями лицензии GNU GPL. Является популярной среди разработчиков, поскольку имеет постоянную поддержку, обладает простотой и гибкостью в использовании, портирована на множество различных платформ и имеет API для многих языков программирования, включая Java.

Для того чтобы установить соединение с базой данных, необходим специальный набор пакетов, предоставляющий интерфейс для доступа. В данном случае таковым является JDBC (Java Database Connectivity) – платформенно-независимый промышленный стандарт взаимодействия Java-приложений с различными СУБД.

3.3.3 Разработка клиентской части

Последняя составляющая приложения это разработка представления.  Задача этой части – отобразить необходимое содержимое моделей через графический интерфейс пользователя. Типовое решение, которое применимо для этой части, называется двухэтапным представлением по шаблону[9]. Первый этап (основной статический слой) генерирует базовый шаблон интерфейса, использующийся для всех страниц независимо от их предназначения. Второй этап (динамический слой) генерирует специфичные данные и элементы графического интерфейса,  связанные непосредственно логикой и содержимым конкретной страницы. Подобная организация позволяет сэкономить объем кода генерации шаблона для «статических»  элементов.  Имеем статический слой,  который всегда отображается и в нем есть места вставки динамических слоев.  И каждый раз, когда пользователь запрашивает определенную страницу,  ему выдается  «статический»  слой с подстановкой динамического, отвечающего за генерацию данной страницы.

Для платформы Java существует специальная технология JSP (JavaServer Pages)[10], позволяющая легко создавать содержимое, которое имеет как статические, так и динамические компоненты. Каждая страница JSP является текстовым документом, который содержит текст двух типов. Это статические данные, которые могут быть оформлены в формате HTML и JSP элементы, которые конструируют динамическое содержимое. Кроме этого могут использоваться библиотеки JSP тегов для внедрения Java-кода в статичное содержимое JSP-страниц. JSP — одна из высокопроизводительных технологий, так как весь код страницы транслируется в Java-код сервлета4 с помощью компилятора JSP, и затем компилируется в байт-код виртуальной машины Java (JVM).

Рисунок 12 – Пример двухэтапного представления

На рисунке 12 изображен пример двухэтапного представления для формирования страниц.

Наконец, контроллер. Именно он является связующим звеном для двух других составляющих. Для данного приложения реализован механизм контроллер страницы.  Другими словами,  для каждой страницы системы выделяется собственный класс-контроллер (например, CourseList,  addCourse, LoginPage и т.д.), который занимается обработкой пользовательских запросов для данной страницы. Сам по себе контроллер является оболочкой бизнес логики для какой-либо страницы,  при этом внутри страницы возможны различные сценарии поведения  (например,  на странице учебного курса можно просмотреть,  добавить или удалить информацию о нем).  Для этого каждый подобный сценарий выделяется в действие контроллера.


Заключение

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

В дальнейшем планируется продолжать разработку проекта, поскольку он может представлять интерес для преподавателей факультетов и в последствие перерасти в обширную систему управления знаниями.


Список использованных источников и литературы

  1.  Semantic Web – W3C [Electronic resource]. – URL: http://www.w3.org/standards/semanticweb/ (retrieval date: 03.06.2013)
  2.  Ounnas A. Semantic Web-based Group Formation for E-learning : University of Southampton, 2009. – 5 p.
  3.  Semantic Web Ontology [Electronic resource]. – URL: http://semanticweb.org/wiki/Ontology (retrieval date: 03.06.2013) 
  4.  OWL Web Ontology Language Overview [Electronic resource]. – URL: http://www.w3.org/TR/owl-features/ (retrieval date: 03.06.2013) 
  5.  Apache Jena Framework [Electronic resource]. – URL: http://jena.apache.org/ (retrieval date: 03.06.2013)
  6.  Horridge M. A Practical Guide To Building OWL Ontologies Using Protégé 4 : 2-st edition. – The University Of Manchester, 2009. – 108 p.
  7.  SPARQL 1.1 Query Language [Electronic resource]. – URL: http://www.w3.org/TR/sparql11-query/ (retrieval date: 03.06.2013)
  8.  Приемы объектно-ориентированного проектирования : паттерны проектирования : пер. с англ. / Э. Гамма [и др.]. – СПб. : Питер, 2001. – 368 с.
  9.  Фаулер М. Архитектура корпоративных программных приложений : пер. с англ. / М. Фаулер. – М. : Издательский дом "Вильямс", 2006. – 544 с.
  10.   Using WebLogic JSP [Electronic resource]. – URL: http://docs.oracle.com/cd/E13222_01/wls/docs51/classdocs/API_jsp.html (retrieval date: 03.06.2013)


Приложение А. Руководство пользователя

Рисунок А.1

На рисунке А.1 изображена стартовая страница веб-приложения. Сверху располагается главное меню. Для того чтобы воспользоваться всем функционалом системы, необходимо зарегистрироваться и аутентифицироваться в ней.

Рисунок А.2

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

Рисунок А.3

На рисунке А.3 изображена страница «Список предметных областей», на основной части которой находится активный список гиперссылок, каждая из которых ведет на описание отдельной предметной области. При нажатии на кнопку «Добавить предметную область», пользователь может добавить новую область, которая после корректного заполнения полей будет отображена в списке. При наведении на элемент списка справа от него появляются две дополнительные кнопки действий «Удалить» (удаляет предметную область) и «Добавить вложенную» (добавляет подобласть выбранной предметной области).

Рисунок А.4

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

Рисунок А.5

На рисунке А.5 изображен пример страницы списка тем учебного курса. Темы также формируются в виде списка и привязаны к конкретному учебному курсу. Темы могут иметь вложенные темы, таким образом, список приобретает вид древовидную структуру.

Рисунок А.6

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

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

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

3 XSD — это язык описания структуры XML документа. Другое его название XML Schema. При использовании данного языка XML-парсер может проверить правильность синтаксиса XML документа, его структуру, модель содержания и типы данных.

4 Сервлет является Java-интерфейсом, реализация которого расширяет функциональные возможности сервера. Сервлет взаимодействует с клиентами посредством принципа запрос-ответ.


 

А также другие работы, которые могут Вас заинтересовать

3040. Моя чудова рідна мова. Виховний захід 57 KB
  Тема: Моя чудова рідна мова Мета: Розширити знання учнів про  рідну мову, формувати розуміння того, що мова – скарб народу, розвивати комунікативну компетентність учнів, виховувати почуття національної гідності, любові і поваги до рі...
3041. Бухгалтерский учет, анализ и аудит 571 KB
  Настоящее учебно-методическое пособие разработано в соответствии с Государственным образовательным стандартом высшего профессионального образования к уровню подготовки выпускника. Итоговым контролем процесса обучения в вузе и основанием для присвоения студенту высшей квалификации экономиста по специальности «Бухгалтерский учет, анализ и аудит» является междисциплинарный государственный экзамен...
3042. Будівельне матеріалознавство 2.45 MB
  Будівництво є частиною матеріальної культури суспільства, за ним можна судити про прогрес науки і техніки, особливості побуту, національні традиції. Людина почала будувати перші житла ще в епоху неоліту (3 тис. років до н.е.), використовуючи природні матеріали: камені, шматки дерева, глину.
3043. Расчет строительства многоквартирных домов города Новосибирск 144.5 KB
  Задачи, решаемые государством по ускорению социально-экономического развития страны всегда были неразрывно связаны с совершенствованием строительства и строительной техники. Создание первых отечественных государственных строительных организ...
3044. Правовая охрана программ для электронно-вычислительных машин и баз данных 115 KB
  В связи с переходом Российской Федерации к рыночным отношениям система законодательства претерпела кардинальные изменения. Это относится и к правовым нормам, регулирующим отношения, возникающие в связи с созданием и использованием продуктов...
3045. Процесс обучения и использование технических средств при получении знаний учащихся 382.5 KB
  Изменения, происходящие в России, приводят к тому, что у человека появляется больше «степеней свободы», его успешность в жизни менее детерминирована внешними обстоятельствами. В связи с этим все более востребованными становятся умения анали...
3046. Художественная обработка металлов на уроках технологии в 6 классе 588.93 KB
  Глубокие перемены, происходящие в современном образовании, выдвигают в качестве приоритетных проблемы  расширения содержания  и использования новых технологий обучения и воспитания. Совершенствование технологической среды, внедрен...
3047. ФИЗИОЛОГИЯ СОСУДИСТОЙ СИСТЕМЫ. ОСНОВНЫЕ ПРИНЦИПЫ ГЕМОДИНАМИКИ 70.05 KB
  Функциональная классификация кровеносных и лимфатических сосудов (структурно-функциональная характеристика сосудистой системы). Основные законы гемодинамики. Кровяное давление, его виды (систолическое, диастолическое, пульсовое, среднее, центральное и периферическое, артериальное и венозное). Факторы, определяющие кровяное давление.
3048. Проект управління земельними ресурсами м. Черкаси за розподілом земель житлової забудови 4.33 MB
  Вступ Розділ 1. Теоретичні засади щодо використання земель житлової та громадської забудови. 1.1. Обґрунтування поділу земель міста за функціональним призначенням. 1.2. Огляд спеціалізованої літератури. 1.3. Аналіз наявності законодавчої бази....