Проектирование и реализация онтологии навигационной системы сайта

грамматике с помощью ANTLR был получен исходный код семантического анализатора на языке Java.

В качестве средства для генерации моделей UML использовалась система Eclipse MDT [7]. Это средство содержит одну из наиболее полных реализаций метамодели UML 2 и является дополнением к известной среде разработки Eclipse. В ходе разработки был реализован класс, анализирующий полученное внутреннее представление программы. Сначала анализируется информация о типах, затем о предикатах. В случае нахождения соответствия внутреннего представления одному из правил преобразования данный класс обращается к Eclipse MDT для записи соответствующей части модели.

Рис. 3 - Компоненты средства и взаимодействие между ними

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

Результатами исследования являются составленные правила преобразования программ на языке Visual Prolog в модели UML, которые обеспечивают сохранение семантики исходной программы, и разработанное программное средство, которое осуществляет преобразование по этим правилам. Набор правил построения моделей включает в себя правила преобразования запросов к исходной программе в запросы к построенной модели такие, что выполняется условие равенства ответов. Полученные результаты могут быть использованы для реинженерии программ, написанных на объектно-ориентированных диалектах языка Пролог.

Литература

1. Van Hentenryck P., Cortesi A., Le Charlier B. Type analysis of Prolog using type graphs // Journal of logic programming. 1993. N 22. P. 179-209.

2. Debray S. K. Static inference of modes and data dependencies in logic programs // ACM transactions on programming languages and systems. 1989. N 11. P. 418-450.

3. Адаменко А.Н., Кучуков А.М. Логическое программирование и Visual Prolog. СПб.: БХВ-Петербург, 2003. 992 с.

4. Буч Г., Рамбо Д., Джекобсон А. Язык UML. Руководство пользователя. 2е изд. М.: ДМК Пресс, 2007. 496 с.

5. Warmer J., Kleppe A. Object Constraint Language, The: Getting Your Models Ready For MDA, Second Edition. Addison Wesley, 2003. 240 p.

6. Parr T. The definitive ANTLR Reference. Raleigh, USA: The Pragmatic Bookshelf, 2007. 369 p.

7. Gronback R. Eclipse Modeling Project: A Domain-Specific Language Toolkit. Addison Wesley, 2009. 734 p.

УДК 681.3

ПРОЕКТИРОВАНИЕ И РЕАЛИЗАЦИЯ ОНТОЛОГИИ НАВИГАЦИОННОЙ

СИСТЕМЫ САЙТА

Грегер Сергей Эдуардович, доцент, Уральский федеральный университет имени первого Президента России Б.Н.Ельцина, Нижнетагильский технологический институт (филиал), Россия,

Нижний Тагил, segreger@gmail.com

19

Использование технологий управления знаниями становится в последние годы все более востребовано при разработке сложных программных систем. Не исключением являются и веб-системы, такие как, например, порталы. [1, 2] Навигационная модель является одним из важнейших аспектов, характеризующих портал [3]. Навигационная модель задает структуры для представления реальных объектов и связей между ними. Целью построения модели является стремление выявить связи между информационными объектами для решения конкретных задач пользователя.

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

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

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

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

[3].

Глобальная навигация портала предоставляет ссылки на основные части портала. Эти ссылки доступны с любой страницы портала и позволяют пользователю получить доступ к группам ресурсов, организованным на основе достаточно общих критериев [5].

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

Контекстуальная навигация позволяет пользователю перемещаться на ресурсы, связанные с текущим ресурсом единым контекстом. Примером такой навигации являются ссылки на сопутствующие товары, предлагаемые сайтами интернет-магазинов.

Построение навигационной структуры проводится в определенной последовательности:

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

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

20

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

4. Навигационная структура преобразуется в иерархическое дерево компонентов и сервисов.

5. Производится генерация портала.

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

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

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

•Thing

У - • N avi g ati on a IType

I \..• global

I 1..• local

[.#Node

1.#Path

Рис. 1 - Схема онтологии навигации

В представленной онтологии концепция «Узел» (Node) представляет информационные объекты, которые размещены на портале. Для каждого узла с помощью соответствующих связей определены следующие атрибуты:

• Unique ID — уникальный идентификатор узла;

• Title — наименование узла;

• AssociationWithType — определяет тип информационного объекта, с которым связан узел;

• AssociationWithTask — определяет связь узла с пользовательскими задачами, определенными в онтологии пользовательских задач.

Связи между узлами, устанавливающими навигационную схему, представлены в онтологии концепцией Path. Каждый индивидуал этого класса определяет возможность навигационного переход с одного узла на другой, а также определяет тип узла (local or global) по наличию соответствующей связи с концепцией NavigationalType.

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

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

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

21

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

• создание объектов, представляющих в модели понятие «узел»;

• редактирование свойств узлов навигационной модели;

• определение связей между узлами с возможностью спецификации вида связи — связь «целое-часть» или связь типа «внешняя ссылка»

• визуальное отображение построенной навигационной структуры;

• возможность связывания узла с задачами пользователя, решение которых связано с посещением данного узла;

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

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

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

Рис. 2 - Объектная модель реализации редактора

Класс «NavNode» предназначен для представления в программе концепта онтологии «Node». Для определения глобального или локального типа узла используется свойство nodetype.

Классы «Task» и «Component» являются внешними классами по отношению к рассматриваемой объектной модели и предназначены для представления пользовательских задач и информационных объектов соответственно.

Свойство SubNode позволяет строить иерархическую структуру узлов, обычную для структуры сайтов, а свойство LinkTo — контекстуальную навигацию.

Использование таких объектов позволяет строить онтологию как объектноориентированную семантическую сеть, которая затем может быть трансформирована в описание на языке OWL.

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

22

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

В режиме просмотра навигационной модели отображаются объекты навигационной модели выбранного уровня вложенности, в данном случае — все узлы, имеющие статус глобальных. Левая часть окна редактора отображает дерево вложенности узлов навигационной модели, формируемое по связи «SubNode». В центральной части редактора отображается окно просмотра свойств текущего узла.

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

Вы здесь: Главная > App_model > Навигационная модель  Учебные курсы

Про-смотр

Учебные курсы

Автор: admin — последнее изменение: 2012-03-30 14:17— История Узел учебных курсов Type of node

Global Node

As-sociatio nW ithTy p e

Учебный курс

Nav link to node

курс Проектирование HC Язык Python

Assoeiatio nW ithT as k

Прлсматр списка курслв

— Contents ------------------------------------------------------------------

Ф Язык Python — Автор: admin — Последнее изменение: 2012-03-30 14:14 узел учебного курса "Язык программирования Python"

курс Проектирование ИС — Автор: admin — Последнее изменение: 2012-03-27 17:13 курс "Проектирование ИС"

Рис. 3 - Окно просмотра навигационной модели

Правка Правила Совместный доступ

Операции * Показать* Добавить новый элемент т Состояние: Опубликованный *

Содержание

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

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

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

23

Литература

1. Загорулько Ю.А. Технология разработки порталов научных знаний // Программные продукты и системы, № 4, 2009.

2. Грегер С.Э., Сковородин Е.Ю. Построение онтологического портала с использованием объектной базы // Объектные системы - 2010: Материалы I Международной научнопрактической конференции. Россия, Ростов-на-Дону, 10-12 мая 2010 г / под общ. ред. П.П. Олейника. - Ростов-на-Дону, 2010. - с. 74-78.

3. Doss, G. (2002a). Designing Effective Web Navigation. Retrieved on June 20, 2006 from url:http://www.gdoss.com/web_info/web_navigation.pdf

4. Creative Commons. Navigation models. Retrieved on June 20, 2006 from

url:http://www.webdesignfromscratch.com/navigation_models.cfm

5. Timberlake, S. The basics of navigation. Retrieved on June 15, 2006 from <http://www.efuse.com/Design/navigation.html>.

6. Doss, G. (2002a). Designing Effective Web Navigation. Retrieved on June 20, 2006 from <http://www.gdoss.com/web_info/web_navigation.pdf>

7. Грегер С.Э. Реализация задач дистанционного обучения средствами CMS Plone. Актуальные вопросы использования инновационных технологий в образовательном процессе: Материал всероссийской научно-практической конференции, Нижний Тагил, Россия, 2010г. / НТГСПА — Нижний Тагил, 2010. - с. 166-169.

УДК 681.3.07

ПРИМЕНЕНИЕ ЯЗЫКА ПРОГРАММИРОВАНИЯ C# И ПЛАТФОРМЫ .NET 4.0 ДЛЯ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО МОДЕЛИРОВАНИЯ

Сарсимбаева Сауле Мусаевна, к.ф.-м.н., доцент, заведующая кафедрой информатики и ВТ, Актюбинский государственный университет имени К. Жубанова, Республика Казахстан, Актобе,

sarsi@mail.ru

Саймагамбетова Азиза Жанболатовна, студент, Актюбинский государственный университет имени К.Жубанова, Республика Казахстан, Актобе, sunrise-japan@list.ru

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

• идеологию проектирования и реализации программного обеспечения;

• модель эффективной поддержки жизненного цикла прикладных систем;

• унифицированную, интегрированную технологическую платформу;

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

Платформу .NET удалось реализовать на качественно новом уровне, обеспечив существенное продвижение вперед в направлении гибкости интеграции с программно-

24