УМК: учебное электронное издание. Нижнетагил. технол. ин-т(фил.) УГТУ-УПИ. - Нижний Тагил: НТИ(ф) УГТУ-УПИ. Лаборатория электронных изданий ИВЦ . 2007. Рег. учетный номер 07031
6. Грегер С.Э. Использование языка программирования Python: электронное учебное пособие: электронное учебное издание электронная Нижнетагил. технол. ин-т(фил.) УГТУ-УПИ. -Нижний Тагил: НТИ(ф) УГТУ-УПИ.
7. Грегер С.Э. Web-сервер приложений Zope. Разработка динамических сайтов (Методические указания к изучению курса «Web-дизайн») Нижнетагил. технол. ин-т(фил.) УГТУ-УПИ. -Нижний Тагил: НТИ(ф) УГТУ-УПИ. 2007. -32с.
8. Грегер С.Э. Web-сервер приложений Zope. Установка и интерфейс (Методические указания к изучению курса «Web-дизайн») Нижнетагил. технол. ин-т(фил.) УГТУ-УПИ. -Нижний Тагил: НТИ(ф) УГТУ-УПИ. 2007.-32с.
9. Грегер С.Э.Учебно-методический комплекс «Сервер приложений ZOPE»: электронный УМК: учебное электронное издание. Нижнетагил. технол. ин-т(фил.) УГТУ-УПИ. -Нижний Тагил: НТИ(ф) УГТУ-УПИ. Лаборатория электронных изданий ИВЦ . 2008. Рег. учетный номер 14/23-08043-23
10. Грегер С.Э. Администрирование и интерфейс пользователя CMS Plone (монография). Федер. Агентство по образованию, ГОУ ВПО "УГТУ-УПИ им.первого Президента России Б.Н.Ельцина". Нижнетагил. технол. ин-т (фил.). -Нижний Тагил: НТИ(ф) УГТУ-УПИ, 2009. -140с.
11. Грегер С.Э. Пакет компонентов обеспечения информационной поддержки образовательного процесса для учебного портала на базе CMS Plone. Тезисы докладов V конференции «Свободное программное обеспечение в высшей школе» . М:Институт логики 2010г. с.15-17
12. Грегер С.Э. Разработка дополнительных компонентов для обеспечения информационной поддержки образовательного процесса для учебного портала на базе CMS Plone. Новые образовательные технологии в вузе: сборник материалов седьмой международной научнометодической конференции, 8 - 10 февраля 2010 года. В 2-х частях. Часть 1. Екатеринбург: ГОУ ВПО «УГТУ-УПИ имени первого Президента России Б.Н.Ельцина», 2010. С.97-100
13. Грегер С.Э. Реализация задач дистанционного обучения средствами CMS Plone. Актуальные вопросы использования инновационных технологий в образовательном процессе: Материал всероссийской научно-практической конференции, Нижний Тагил, Россия, 2010г. /НТГСПА — Нижний Тагил, 2010.С 166-169.
14. Грегер С.Э., Сковородин Е.Ю. Построение онтологического портала с использованием объектной базы // Объектные системы - 2010: Материалы I Международной научнопрактической конференции. Россия, Ростов-на-Дону, 10-12 мая 2010 г / под общ. ред. П.П. Олейника. - Ростов-на-Дону, 2010. С. 74-78.
15. Грегер С.Э., Гурова О.И. Разработка системы мониторинга знаний для CMS Plone. //Молодежь и наука : материалы региональной науч.-практ. конф. (21 мая 2010 г., г. Нижний Тагил) / Федер. агентство по образованию, ГОУ ВПО «УГТУ-УПИ имени первого Президента России Б.Н.Ельцина», Нижнетагил. технол. ин-т (фил.). - Нижний Тагил : НТИ (ф) УГТУ-УПИ, 2010. С. 63-66
16. Грегер С. Э., Баклаев Д. А., Разработка компонента управления группами и профилями персон учебного заведения на базе LDAP-каталога для CMS Plone //Молодежь и наука : материалы региональной науч.-практ. конф. (21 мая 2010 г., г. Нижний Тагил) / Федер. агентство по образованию, ГОУ ВПО «УГТУ-УПИ имени первого Президента России Б.Н.Ельцина», Нижнетагил. технол. ин-т (фил.). - Нижний Тагил : НТИ (ф) УГТУ-УПИ, 2010. С.66-68
УДК 681.3
СОВМЕСТНОЕ ИСПОЛЬЗОВАНИЕ ОНТОЛОГИЧЕСКОЙ МОДЕЛИ И ОБЪЕКТНОЙ МОДЕЛЕЙ ПРИ ПРОЕКТИРОВАНИИ И РЕАЛИЗАЦИИ ИНФОРМАЦИОННЫХ WEB-СИСТЕМ
Грегер Сергей Эдуардович, доцент, Уральский федеральный университет имени первого Президента России Б.Н.Ельцина, Нижнетагильский технологический институт (филиал), Россия,
Нижний Тагил, [email protected]
22
Одним из существенных факторов, влияющих на современное общество, можно назвать информационные технологии. «Всемирная паутина» — World Wide Web получила широчайшее распространение и стала основным источником оперативной и достоверной информации для миллионов людей. Рост объема информационных потоков породил смещение в сторону разработки крупных информационных систем — корпоративных порталов, электронных библиотек и т.п.[1,4]. Наиболее актуальной является задача разработки и сопровождения корпоративных порталов, основным назначением которых является предоставление удобного способа публикации информации и организации доступа к ней. Управление накопленной информацией и обеспечение доступа к ней представляют существенные трудности.
Процесс разработки требует больших трудозатрат. Эффективной методикой разработки портала в настоящее время является разработка на основе модели предметной области. В ходе разработки портала создается ряд моделей, учитывающих отношения в предметной области, спецификацию функциональных требований и алгоритмов их реализаций, с последующим их преобразованием в конкретную структуру сайта. Одним из существенных недостатков такого подхода является необходимость повторной разработки сайта при модификации используемой модели предметной области, изменении требований к функциональности или добавлении новой предметной области. Для повышения эффективности разработки и сопровождения необходимо иметь возможность автоматизированного создания и поддержания чёткой информационной и навигационной структуры порталов.
Одним из способов решения указанных проблем при проектировании, реализации и сопровождении порталов является использование семантических моделей на базе онтологии [7] - разработка семантических порталов. Подходы, предложенные для разработки семантических порталов, базируются на создании онтологии предметной области, использовании логической машины запросов к онтологии и автоматической генерации интерфейса пользователя на основе результатов запросов. Онтология, построенная для определенной предметной области, может быть основой для целого ряда систем. Такое решение позволяет в несколько раз сократить количество информации и в достаточной степени избежать ее дублирования. Вводя формальные описания понятий предметной области в виде классов объектов и отношений между ними, онтология информационной системы (ИС) задает структуры для представления реальных объектов и связей между ними. В соответствии с этим данные в ИС представлены как множество разнотипных информационных объектов и связей, которые в совокупности образуют информационное содержание системы. Описание онтологической модели производится на одном из XML-подобных языков описания онтологий, таких как RDF и OWL[3], а качестве реализации обычно выбирают средства, предоставляемы платформой Java.
Организация систематизированного хранения информационных объектов и структуры, определяющей связи между ними, требует разработки методов проектирования схем данных и определения релевантных этим задачам способов хранения онтологий знаний и данных.
При разработке систем управления знаниями возникают проблемы, вызванные принципиально различными подходами к построению баз данных (БД) и баз знаний (БЗ). Существуют две основные технологии хранения онтологий. Первая из них предполагает хранение онтологий в файловой системе в файлов OWL-формата. Основной недостаток такого способа заключается в слабой расширяемости и масштабируемости такого решения. Вторая технология заключается в использовании для хранения онтологий различного вида баз данных. Проблемой является множество существующих технологических решений с различными моделями данных и способами физической реализации хранилищ данных.
В настоящее время большинство коммерческих систем, использующих базы знаний, применяют реляционное представление данных в нотации языка RDF. Для представления знаний с использованием языка OWL более естественным является использование объектной модели, характерной для OWL.
23
Онтология может быть как базой знаний, предоставляющей структуру знаний некоторой предметной области, так и хранилищем ее актуальных объектов [4]. Изменения структуры знаний, связанные с изменениями в предметной области, усложняют процесс проектирования реляционной базы, требуя разработки устойчивой к таким изменениям структуры данных.
Существует противоречие между объектной моделью, используемой для представления общей концептуальной модели (онтологии знаний) и объектной моделью онтологии данных. Для хранения онтологии знаний важно наличие унифицированной формалистики описания метаданных; объектная модель, используемая для реализации такой схемы хранения, будет оптимизирована с точки зрения унификации представления знаний. Именно такой подход отражен в реализациях систем хранения онтологий на основе хранения триплетов — Triple Store, в которых унифицированной информационной единицей выбран триплет, а основным формализмом является язык RDF. С другой стороны, объектная модель прикладного приложения как правило, «заточена», под конкретную предметную область, под используемые алгоритмы обработки и связи с внешними системами обработки. Использование для хранения одной схемы данных приводит к большому числу преобразований в процессе объектно-реляционного преобразования и, соответственно, усложнению слоя обработки информации (сервера приложений).
Одной из сложностей, ограничивающей применение объектной базы, является проблема адекватного отображения семантической модели в объектно-ориентированное представление этой модели. Разные авторы выделяют разные ограничения на использование объектных баз данных для хранения онтологий. Так, отмечается [11], что широкому использованию объектных баз данных для хранения онтологий препятствует некоторое различие их математических моделей, а также несовершенство языков запросов к объектным базам. Это обусловлено тем, что, как семантическое моделирование, так и объектноориентированного моделирование используют для выражения моделей хотя и близкие, но всё же различные концептуальные схемы [9]. Например, в то время как в моделях OO классы считаются типами, в OWL классы рассматривается как множества, отвечающие некоторым ограничениям.[6] С другой стороны, объектная база позволяет эффективно хранить и управлять объектами, представляющими различные концепты предметной области. Тем не менее, только немногие программные приложения используют эти возможности.
Несмотря на существующие противоречия, использование объектно-ориентированной модели в качестве промежуточной модели, позволяющей трансформировать общую онтологическую модель в модели, специфичные для выбранного способа хранения знаний, представляется обоснованным.
Представление онтологии с помощью объектно-ориентированной модели означает моделирование онтологии методами объектно-ориентированного моделирования, организацию хранения онтологии в виде набора объектов и управление онтологией, реализованное как управление объектно-ориентированной моделью. Так же, как и в онтологии, между объектами ОО-модели существуют различные связи. Различие наблюдается в способе определения значений онтологических свойств. В ОО-объектах мы просто присваиваем значение нужному атрибуту объекта, в то время как для онтологии мы должны знать всю схему взаимоотношений. Реально такое знание необходимо только в некоторых случаях, например при использовании машины логическогоо вывода или при коммуникации с внешней системой. В других случаях представляется оправданным скрывать от пользователя взаимосвязи между элементами онтологии и предоставлять возможность управления онтологией так, как это происходит в программах, созданных на основе ОО-подхода.
В онтологической модели информационной системы уровень знаний обеспечивается онтологией представления знаний OP. Эта онтология должна обеспечивать представление как понятий предметной и проблемной области ИС, так и разнообразных семантических связей между ними. Она также должна позволять выстраивать понятия в иерархию «общее-
24
частное» и поддерживать наследование свойств по этой иерархии. Кроме того, она должна предоставлять возможность задания ограничений на значения возможных свойств объектов -экземпляров понятий онтологии. Онтология представления знаний, вводя формальные описания понятий проблемной области и области знаний ИС в виде классов объектов и отношений между ними, задает структуры для представления контента ИС в виде реальных объектов и отношений предметной и проблемной области ИС. Для хранения таких структур предложено использовать объектно-ориентированную семантическую сеть.[4] Благодаря онтологии OP в ИС появляется формальная спецификация объектов и отношений семантической сети. Таким образом, введение еще одного уровня представления в ИС (в виде онтологии OP ) позволяет поднять уровень взаимодействия с ОО-сетью и повысить корректность работы с нею.
Онтология представления описывается набором [4]:
Op = ( C, R, T, D, A, F, Ax)
5
где
C = {c,,..., cn , - конечное непустое множество классов, описывающих понятия некоторой предметной или проблемной области;
R = { R,,..., R,), R — C х C, R = RT RP Ra - конечное множество бинарных
отношений, заданных на классах (понятиях):
RT - антисимметричное, транзитивное, нерефлексивное бинарное отношение наследования, задающее частичный порядок на множестве понятий C,
RP - бинарное транзитивное отношение включения («часть-целое»),
RA - конечное множество ассоциативных отношений,
T - множество стандартных типов;
D = {d,,...,dn} - множество доменов dt = {si,.. .,sk}, где si - значение стандартного типа
string;
TD = TID - обобщенный тип данных, включающий множество стандартных типов и множество доменов;
A = {a,,..., aw}, A — C х TD iRA х TD - конечное множество атрибутов, т.е. бинарных
ai (C, tdk ) at (Rt, tdk )
отношений вида 1 или 1
описывающих свойства понятий C и отношений
Ra;
F - множество ограничений на значения атрибутов понятий и отношений, т.е. предикатов видаpi(ei,^,em), где ek - это либо имя атрибута (ek € A), либо константа (ek € tdj, где tdj€ TD);
Ax - множество аксиом, определяющих семантику классов и отношений онтологии.
Отношение RT определяет наследование от родительского класса таким образом, что классу-потомку передаются не только все атрибуты класса-родителя, но его отношения. Отношение включения «часть-целое» RP является транзитивным, и благодаря этому при поиске объектов можно осуществлять транзитивное замыкание по этому отношению. Эти свойства отношений RT и RP описываются аксиомами, включенными в Ax .
Набор ассоциативных отношений RA определяется пользователем. Важной особенностью отношений RA является то, что они могут иметь собственные атрибуты, специализирующие связь между аргументами.
Объектно-ориентированная модель онтологии может быть рассмотрена как объектная база данных и представлена набором из 8-ми элементов:
< ADT; O; P; SuperTypes; TypeOf; PropDomain; PropRange; Value >,
Где:
25
ADT — множество доступных абстрактных типов, представленных как атомарными типами, такими как Int, String, Boolean, так и глобальным супертипом Object и различными абстрактными типами, определяемыми пользователем.
O — множество объектов, хранимых в базе данных или конструируемыми через соответствующие запросы и имеющих уникальные идентификаторы ;
P — множество свойств , используемых для описания состояния каждого объекта^
SuperTypes :ADT -» 2AL,rL —функция, отображающая ассоциации между супертипами и абстрактными типами. Эта функция определяет структуру типов, их наследование и взаимозаменяемость.
TypeOf: О * ADT —сопоставляет каждому объекту самый сильный (самый младший) в иерархии типов тип;
PropDomain : Р > ADT — устанавливает область определения для свойств;
PropRange : Р ADT — устанавливает область значений для свойств;
Vai-. О X Р -> О — значение свойства объекта. Свойство в качестве значения может иметь тип данных.
Так определенная модель объектной базы данных может быть использована при проектировании информационной системы, предоставляя разработчику возможность применять методы и инструменты, характерные для объектно-ориентированного программирования.
Рассматривая вопрос о множестве типов ADT в части определяемых пользователем, следует отметить, что на разных этапах проектирования ИС целесообразно использовать различные наборы типов для формирования модели ИС. Даже в рамках одной объектной базы существуют, как минимум, две системы типов, одна из которых отображает онтологическую модель в выбранной спецификации, а другая — предметную область. Соответственно, можно ставить вопрос о разработке различных схем данных, отображающих эти системы типов. На этапе построения концептуальной модели представляется целесообразным использовать набор типов, отображающих низкоуровневое представление онтологической модели, своеобразный онтологический ассемблер. Основой для построения такого набора типом может служить, например, объектная модель языка OWL [10]. Такой уровень семантического моделирования соответствует построению платформо-независимой модели в Model-driven architecture (MDA). Этап построения платформо-зависимой модели требует соответствующего набора типов, отображающих объектную модель целевой системы реализации, позволяющего строить семантическую модель в укрупненных концептах, выбирая их из каталогов семантических моделей компонентов проектирования и реализации. Такие наборы компонентов могут существовать в рамках одной объектной базы, и управление моделям на их основе может быть организовано достаточно эффективно. Согласование различных представлений модели ИС должно обеспечиваться соответствующим процессом трансформации модели.
Использование объектно-ориентированного подхода унифицирует модель хранимых данных, облегчает процесс интеграции с хранилищами данных, реализованными на основе различных технологических принципах. Будем называть каждое такое хранилище репозиторием.
Каждый репозиторий не универсален: он не может и не должен хранить «что угодно». Репозиторий специализируется в своей предметной области, и способен хранить данные, соответствующие его объектной схеме, которая описывает используемые классы и свойства. Приложение должно обеспечивать механизм отображения объектной модели данных во внутреннюю модель данных используемого хранилища. Использование понятия «хранимых объектов» в объектно-ориентированном языке программирования позволяет разработчикам прикладных приложений, основанных на онтологических моделях, абстрагироваться от ненужных деталей и сконцентрировать своё внимание собственно на логике приложения. Так, в случае реляционного хранилища объектной схеме соответствует структура таблиц базы данных.
26
С помощью такого механизма отображения ядро системы позволяет рассматривать нижележащее хранилище как специализированную объектную базу данных и позволяет прикладному коду работать с «хранимыми объектами», изменения в которых прозрачно отображаются в хранилище. Подобный механизм отображения может быть использован для реляционных СУБД, объектных баз данных, LDAP каталогов.
С другой стороны, каждый репозиторий может быть охарактеризован частной онтологической моделью, предназначенной для описания схемы данных, которой соответствует структура «хранимых» классов и схема хранилища, например реляционной БД. Использование онтологических моделей приносит существенные выгоды как при интеграции различных репозиториев в единую информационную среду, так и при взаимодействии со сторонними информационными источниками.
Использование онтологической модели в нотации семантических языков разметки, таких как RDF, RFFS, OWL, не мешает изначально описать объектную схему репозитория на ODL, смоделировать на UML, либо получить по существующей системе классов. Наличие механизмов по отображению таких описаний друг в друга и их генерации позволяет в качестве основной схемы данных использовать объектно-ориентированную схему.
Трансформация моделей производится как минимум в двух случаях - при получении объектной модели приложения, специфицированной в соответствии с платформой реализации, и при генерации схемы хранения, специфичной для выбранного репозитория.
Такое соответствие позволяет частично автоматизировать процесс отображения онтологии в объектно-ориентированную модель. При этом генерируются классы, в которых связи между ними обеспечиваются наличием в классах атрибутов, имеющих в качестве значения объекты, типы которых соответствуют типу связанного класса онтологии. Возможен другой подход, когда связи между онтологическими классами (и индивидуалами) отображаются на специальные классы.
Генератор классов для выбранного языка программирования позволяет получить по онтологической модели исходный код «хранимых классов». В эти классы вручную может быть заложена любая бизнес-логика, заменяющая или дополняющая исходное поведение. При изменении схемы (например, добавлении свойств) будет произведена инкрементная перегенерация классов - внесённые в код изменения будут сохранены. Таким образом, не ограничивая функциональных возможностей системы, онтологическая модель позволяет автоматизировать реализацию многих обязательных операций.
Генератор реляционной БД позволяет получить по онтологической модели SQL скрипт для создания таблиц для хранимых данных, спецификацию соответствующего объектнореляционного отображения. Процесс генерации является управляемым, можно явно указать, какие реляционные конструкции необходимо использовать в том или ином случае для поддержки тех или иных элементов объектной схемы, например, какое решение применить для поддержки наследования класса.
Таким образом, онтологическая модель не зависит от логической модели слоя хранения данных, отображает объектное представление онтологии в терминах «хранимых» классов и позволяет генерировать специфические схемы данных для каждого конкретного репозитория данных. Определяющим для такой реализации является выполнение двух условий. Первым является наличие возможности отображения семантической (онтологической) модели в объектно-ориентированную модель, вторым — наличие генератора для соответствующей трансформации моделей. Такой подход полностью соответствует модели разработки в MDA, и соответствует этапам разработки платформо-независимой модели и генерации платформозависимой модели соответственно. С другой стороны, разделение базы знаний на онтологию знаний и онтологию данных определяет необходимость реализации двух объектных моделей и, соответственно, двух схем данных. Предложенный подход показал свою эффективность при построении семантического портала управления учебным процессом. [2,3]
Литература
27
1. М.В.Булгаков, А.Д.Иванников, М.С.Ковальский, В.П.Носов, А.А.Рогачев, А.Н.Таран. Федеральный портал по научной и инновационной деятельности. В сб. научн. ст. "Интернетпорталы. Содержание и технологии", вып.4, М.: Просвещение, 2007, с. 323-345.
2. Грегер С.Э. Реализация инструментальной среды семантического моделирования учебного процесса. Объектные системы - 2011: материалы III Международной научно-практической конференции, (Ростов-на-Дону, 10-12 мая 2011 г.) / Под общ. ред. П.П. Олейника. - Ростов-на-Дону, 2011. - С.58-61.
3. Грегер С.Э., Сковородин Е.Ю. Построение онтологического портала с использованием объектной базы // Объектные системы - 2010: Материалы I Международной научнопрактической конференции. Россия, Ростов-на-Дону, 10-12 мая 2010 г / под общ. ред. П.П. Олейника. - Ростов-на-Дону, 2010. С. 74-78.
4. Загорулько Ю.А. Подход к построению интеллектуальных информационных систем на основе
семантических сетей // Международная научно-техническая конференция «Открытые семантические технологии проектирования интеллектуальных систем» (Open Semantic Technologies for Intelligent Systems)— OSTIS-2011, 10-12 февраля 2011 года, Минск,
Белоруссия, Белорусский государственный университет информатики и радиоэлектроники.
5. Тихонов А.Н., Иванников А.Д., Гридина Е.Г., Куракина Н.И., Симонов А.В., Чиннова И.И. Комплексный анализ системы федеральных образовательных порталов. // В сборнике научных статей "Интернет-порталы: содержание и технологии". Выпуск 2. / Редкол.: А.Н. Тихонов (пред.) и др.; ГНИИ ИТТ "Информика". - М.: Просвещение, 2004. - С. 192-226.
6. Beck H., H. S. (2002). Overview of approach, methodologies, standards, and tools for ontologies. Материалы Third Agricultural Ontology Workshop. Food and Agricultural Organization of the United Nations. Получено из http://aims.fao.org.
7. Guarino. (1998). Formal Ontology and Information Systems. N. Guarino (ed.) Formal Ontology and Information Systems. (стр. 3-15). Amsterdam: IOS Press.
8. Hruby, P. (б.д.). Ontology-Based Domain-Driven Design. Получено из SoftMetaWare: www.softmetaware.com/oopsla2005/hruby.pdf
9. Knublauch, H. O. (March 2006 r.). A semantic web primer for object-oriented software developers. Получено из W3C Working group note: http://www.w3.org/TR/sw-oosd-primer/
10. OWL2 Web Ontology Language Structural Specification and Functional-Style Syntax. http://www.w3.org/2007/OWL/wiki/Synta
11.Stephane JEAN, Y. A.-A. (б.д.). An Object-Oriented Based Algebra for Ontologies and their Instances, Advances in Databases and Information Systems (ADBIS’07), Varna Bulgaria,2007, http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.82.68
УДК 004.43
ПРОБЛЕМА ВЫБОРА ЯЗЫКА ПРИ ИЗУЧЕНИИ ОБЪЕКТНО-РИЕНТИРОВАННОГО ПРОГРАММИРОВАНИЯ В ВЫСШИХ УЧЕБНЫХ ЗАВЕДЕНИЯХ
Синельникова Ирина Владимировна, преподаватель, ЦК «Информационные технологии», Воронежская государственная технологическая академия, Россия, Воронеж, Irsa2008@,inbox.ru Калинникова Людмила Алентиновна, преподаватель ЦК «Информационные технологии», Воронежская государственная технологическая академия, Россия, Воронеж, [email protected]
Объектно-ориентированное программирование в настоящее время занимает ведущее место в разработке профессиональных программных средств. Качественная разработка программных продуктов обеспечивается в первую очередь использованием объектных технологий. [1]
При обучении началам программирования немаловажную роль играет первый язык, во многом определяющий дальнейший стиль программирования.
Задачи обучения на начальном этапе связаны, прежде всего, с выработкой алгоритмического мышления. Эти задачи многообразны и достаточно сложны. Требуется понимание новых понятий: переменных и типов данных. Требуется умение описывать процесс вычислений ограниченным набором управляющих структур - выбора, циклов,
28