Разработка предметно-ориентированного языка проектирования интеллектуальных порталов

Бесплатный доступ

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

Язык проектирования, предметно-ориентированный язык, интеллектуальный портал, web-страница, система metalanguage

Короткий адрес: https://sciup.org/14730014

IDR: 14730014

Текст научной статьи Разработка предметно-ориентированного языка проектирования интеллектуальных порталов

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

В настоящее время активно развивается проект Semantic Web, направленный на создание универсальных средств обработки семантически структурированных знаний и разрабатываемый консорциумом W3C совместно с

Работа выполнена при финансовой поддержке РФФИ (проект № 14-07-31330 мол_а).

большим количеством исследователей, ученых и промышленных партнеров [1].

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

Одним из таких средств является технология OSTIS, разрабатываемая авторским коллективом Белорусского государственного университета радиоэлектроники и информатики под руководством профессора Голенкова В.В. [2, 3].

Технология OSTIS

Проект OSTIS (Open Semantic Technology for Intelligent Systems) впервые появился в

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

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

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

База знаний интеллектуального портала в системе OSTIS представляется в виде SC-графа, содержащего структурные единицы и связи между ними, различные по типам и назначениям. Для построения SC-графов используется визуальный язык – SCg-код. Однако данный язык является достаточно громоздким и сложным для восприятия. Фрагмент описания портала научных публикаций в системе OSTIS приведен на рис. 1.

Рис. 1. Фрагмент описания базы знаний портала в системе OSTIS

Исследование возможностей технологии OSTIS показало, что навыков инженера по знаниям недостаточно для разработки и сопровождения интеллектуального портала, так как язык описания базы знаний сложен для понимания и требует глубокого изучения. Для устранения этого ограничения было решено разработать предметно-ориентиро-ванный язык (Domain-Specific Language, DSL), который позволит упростить процесс проектирования интеллектуальных порталов, в частности будет представлять собой улучшенный язык создания баз знаний, основанный на преобразовании сущностей и отношений предметной области в направлении большей конкретизации их смысла и свойств.

Такой язык должен удовлетворять следующим требованиям:

  • 1)    Гибкость. Язык должен позволять изменять свое описание для настройки на специфику конкретной предметной области.

  • 2)    Оперирование терминами предметной области. Язык должен содержать конструкции, имеющие семантическую интерпретацию в понятиях предметной области. Это позволит экспертам в предметной области выполнять проектирование интеллектуальных порталов без знания языков программирования высокого уровня.

  • 3)    Лаконичность. Данное требование обеспечит повышение эффективности и снижение трудоемкости процесса разработки интеллектуальных порталов.

  • 4)    Интегрируемость. Разрабатываемый язык направлен не только на изучение данного метода, но также на оптимизацию технологии OSTIS, поэтому он должен быть свободно интегрирован в эту систему в качестве ее надстройки.

  • 5)    Расширяемость. Это требование удовлетворяет намерению расширять и развивать язык в дальнейшем.

Анализ предметно-ориентированных языков описания web-систем

В настоящее время существует несколько предметно-ориентированных языков, предназначенных для построения web-систем. Далее приведен анализ наиболее развитых из них.

  • 1.    PULP–DSL для игровых мобильных HTML5-приложений, позволяющий элиминировать ограничения Java-машин, обладающих внутренними состояниями, и достичь кроссплатформенного воспроизведения, которое генерируется в ходе трансформации графических моделей в целевой код.

  • 2.    WebDSL – предметно-ориентированный язык для реализации динамических web-

  • приложений, работающих с большими наборами данных. WebDSL состоит из малых базовых подъязыков, включающих конструкции по определению концептуальной модели предметной области, представления и бизнес-логики [5]. Базовым расширением языка является модуль, в котором представлены абстракции более высокого уровня, контроль доступа и основные рабочие процессы.
  • 3.    WebLang – предметно-ориентированный язык, который обеспечивает простой общедоступный метод проектирования архитектуры web-приложений [6]. По мнению авторов, данный метод способен уменьшить разрыв между UML моделированием и реализацией. Процесс разработки данного языка предполагает использование подхода Model-Driven Development, а синтаксис языка максимально приближен к естественной человеческой речи. Данный инструмент интегрирован в IBM Eclipse IDE и в данный момент доступен для платформы J2EE JBoss. Однако и другие сервисы и технологии позволяют реализовывать данный метод, предполагая лишь расширение числа шаблонов, а также проектирование и интеграцию новых модулей.

В настоящее время разработчики интерактивного контента и приложений для мобильных устройств сталкиваются с огромным многообразием платформ (iOS, Android, WebOS, WindowsMobile и др.), поэтому выбор платформы может быть затруднительным. В исследовании [4] говорится о тенденции использования HTML5, открывающей новые возможности поддержки мобильных устройств в web-приложениях, посредством стандартизации способов использования общих технологий для различных устройств и поддержкой языка разметки, использующего стандартный синтаксис. Предметно-ориентированный язык PULP нацелен на решение задачи реализации интерактивного контента в web, при поддержке моделирования предметно-ориентированного языка для конечных пользователей приложений с быстро осуществляемыми этапами разработки. Основу языка составляют изображения и медиа-файлы, на основе которых впоследствии генерируется работающее приложение.

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

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

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

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

Разработка предметноориентированного языка

Для разработки предметно-ориентированного языка необходимо выполнить его описание – построить метамодель. Создание метамодели будет выполняться с помощью метаязыка системы MetaLanguage [7].

Метамодель языка проектирования интеллектуальных порталов содержит следующие сущности (см. рис. 2):

  • -    страница – сущность, соответствующая отдельной web-странице интеллектуального портала; страница состоит из трех блоков (header, sidebar, footer);

  • -    header – сущность, соответствующая заголовочной части страницы, содержит заголовок, который в свою очередь может содержать подзаголовки;

  • -    sidebar – сущность, которая предназначена для описания основного контента портала, ее основными составляющими являются меню и раздел;

  • -    footer – сущность, соответствующая нижней необязательной части страницы, может содержать реквизиты в виде ссылок и информационные поля;

  • -    заголовок – сущность, соответствующая тексту в разделе header;

  • -    меню – сущность, определяющая главное или боковое меню в разделе sidebar;

  • -    ресурс – сущность, соответствующая некоторому ресурсу, на который указывает элемент меню;

  • -    раздел – сущность, описывающая текстовый раздел в разделе sidebar;

щая реквизитам сайта, организации и расположенная в разделе footer;

  • -    текстовое поле – сущность, задающая текстовую информацию, содержащуюся на портале;

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

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

    - реквизиты – сущность, соответствую

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


проектирования интеллектуальных порталов

Определив сущности метамодели, опишем отношения между ними:

  • -    сущности header , sidebar , footer связаны отношением агрегации с сущностью страница , это позволяет указать, что эти три сущности являются составными частями страницы портала;

  • -    сущность заголовок связана отношением агрегации с сущностью header , это означает, что заголовок содержится в разделе header;

  • -    сущность заголовок связана отношением ассоциации с самой собой, это означает, что заголовок может содержать подзаголовки;

  • -    сущность меню связана отношением агрегации с сущностью sidebar , это означает, что меню содержится в разделе описания основного контента портала;

  • -    сущность меню соединена отношением ассоциации с самой собой, это означает, что меню может содержать подменю;

  • -    сущность реквизиты связана отношением агрегации с сущностью footer , это означает, что реквизиты располагаются в нижней части страницы;

  • -    сущность раздел соединена отношением ассоциации сама с собой, это означает, что раздел может содержать подразделы;

  • -    сущность раздел соединена отношением агрегации с сущностью sidebar , это означает, что sidebar состоит из текстовых разделов;

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

  • -    сущность текстовое поле связана отношением агрегации с сущностями header , sidebar , footer – это указывает на то, что эти три сущности содержат текстовые поля;

  • -    сущность ключевое слово соединена отношением агрегации с сущностью текстовое поле , это указывает на то, что

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

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

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

Языковой инструментарий MetaLanguage позволяет не только выполнять построение языков моделирования и моделей с их помощью, но и выполнять преобразование созданных моделей в иные текстовые / графические нотации [8].

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

Заключение

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

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

Предложенное в статье решение имеет следующие преимущества перед языком технологии OSTIS:

  • 1.    Язык содержит конструкции, имеющие семантическую интерпретацию в понятиях предметной области.

  • 2.    Снижена трудоемкость процесса разработки.

  • 3.    Созданный язык является модифицируемым.

Одним из направлений дальнейших исследования является описание правил преобразования созданных с использованием разработанного DSL визуальных моделей в текстовое представление, выполненное на языке системы KBE. Данная система является средой проектирования интеллектуальных порталов технологии OSTIS.

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

Список литературы Разработка предметно-ориентированного языка проектирования интеллектуальных порталов

  • Голенков В.В., Гулякина Н.А. Принципы построения массовой семантической технологии компонентного проектирования интеллектуальных систем//Открытые семантические технологии проектирования интеллектуальных систем = Open Semantic Technologies for Intelligent Systems (OSTIS-2011): материалы I Междунар. научн.-техн. конф./БГУИР, Минск, 2011. С. 21­58.
  • Голенков В.В., Гулякина Н.А. Открытый проект, направленный на создание технологии компонентного проектирования интеллектуальных систем//Открытые семантические технологии проектирования интеллектуальных систем = Open Semantic Technologies for Intelligent Systems (OSTIS-2013): матер. III междунар. научн.-техн. конф./БГУИР, Минск, 2013. С. 55-78.
  • Голенков В.В., Елисеева О.Е., Ивашенко В.П. Представление и обработка знаний в ассоциативных графодинамических машинах. Минск: БГУИР, 2001. 412 с.
  • Funk M., Rauterberg M. PULP Scription: A DSL for mobile HTML5 Game Applications//Entertainment Computing -ICEC 2012. Lecture Notes in Computer Science. Vol. 7522. P. 504-510.
  • Groenewegen D.M., Hemel Z., Kats C.L., Visser E. WebDSL: A Domain-Specific Language for Dynamic Web Applications//Delft University of Technology Software Engineering/The Netherlands, 2008.
  • Buchwalder O., Petitpierre C. WebLang: A Language for Modeling and Implementing Web Applications//Networking Laboratory; Swiss Federal Institute of Technology in Lausanne, 2009.
  • Замятина Е.Б., Лядова Л.Н., Сухов А.О. Мультиязыковое моделирование с использованием DSM платформы MetaLanguage//Информатизация и связь. 2013. № 5. С. 11-14.
  • Лядова Л.Н., Серый А.П., Сухов А.О. Подходы к описанию вертикальных и горизонтальных трансформаций метамоделей//Математика программных систем: меж-вуз. сб. науч. ст./Изд-во Перм. гос. нац. исслед. ун-та. Пермь, 2012. Вып. 9. С. 3349.
Еще
Статья научная