Научная статья на тему 'Объектная БД системы семантического моделирования и проектирования на массовой программной платформе'

Объектная БД системы семантического моделирования и проектирования на массовой программной платформе Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
171
27
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПРОГРАММНЫЙ ИНСТРУМЕНТ МОДЕЛИРОВАНИЯ И ПРОЕКТИРОВАНИЯ / ОБЪЕКТНО-ОРИЕНТИРОВАННАЯ БАЗА ДАННЫХ / АРХИТЕКТУРА ПРОГРАММНОЙ СИСТЕМЫ / МАССОВАЯ ПЛАТФОРМА / COMPUTER TOOLS SUPPORTING SEMANTIC MODELING AND DESIGNING / OBJECT-ORIENTED DATA BASE / SYSTEM ARCHITECTURE / OFFICE PROGRAMMING

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Орлов И.В., Смирнов С.В.

Излагается опыт разработки программного инструмента семантического моделирования и проектирования. Общецелевая система объектно-ориентированного моделирования gB («good Base», «graceful object-oriented data Base») разрабатывается как надстройка популярного приложения Excel офисного пакета MS Office. Система располагает всеми возможностями этого табличного процессора, включая использование стандартных интерфейсов межзадачных коммуникаций. Анализируется основная проблема создания подобных объектно-ориентированных расширений, а именно «бесшовного» соединения принципов объектно-ориентированного (объектно-фреймового в терминологии искусственного интеллекта) представления знаний о предметной области и техники баз данных. Сообщается о методе и технологии эмуляции, объектно-ориентированной СУБД на таблично-реляционной основе Excel. Модель всякой актуальной предметной области есть содержание объектно-ориентированной базы данных (ООБД), представляемой книгой Excel. Концептуальная модель всякой актуальной предметной области есть содержание ООБД в предметной области «Метасхема», описание которой рекурсивно. Методы, конструкторы и деструкторы объектов, а также демоны изменения активных свойств предметной области сохраняются в описывающей её Excel-книге. Всякое приложение есть ООБД, в которой роль главной программы играет демон открытия модели, а содержимое фиксирует набор предметных областей, в которых это приложение «компетентно», а также текущий набор открытых приложением ООБД.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

The paper tells about the development of creation computer tools supporting semantic modeling and designing on MS Excel. The new version of general purpose object-oriented system gB (“good Base”, “graceful object-oriented data Base”) is considered. The ground problem of similar object-oriented extension is “mismatch” between object-oriented (“object-framed” in terminology of an artificial intellect) representations of knowledge of a subject domain and technical equipment of databases. The paper informs on a method and technology of emulation an object-oriented database (OODB) on platform of Excel. The conceptual model of any actual subject domain is OODB in a subject domain "Meta scheme", which description recursively. Methods, constructors and destructors of objects, and also demons of active attributes of a subject domain are stored in the OODB describing Excel-book. Any application is ООDB in which a role of the main program plays an opening demon, and contents fix a set of subject domains of which this appendix “is competent”, and also the current set of actual ООDB’s.

Текст научной работы на тему «Объектная БД системы семантического моделирования и проектирования на массовой программной платформе»

УДК 519.682

ОБЪЕКТНАЯ БД СИСТЕМЫ СЕМАНТИЧЕСКОГО МОДЕЛИРОВАНИЯ И ПРОЕКТИРОВАНИЯ НА МАССОВОЙ ПРОГРАММНОЙ ПЛАТФОРМЕ

Орлов Илья Владимирович, студент, Поволжский государственный университет телекоммуникаций и информатики, Россия, Самара, ilya@ghostofnetwork.ru Смирнов Сергей Викторович, д.т.н., ведущий научный сотрудник, Институт проблем управления сложными системами РАН, Россия, Самара, smirnov@iccs.ru

В течение ряда лет в Институте проблем управления сложными системами РАН развивается и используется инструмент семантического моделирования и проектирования — общецелевая система объектно-ориентированного моделирования gB (от англ. «good Base», акронимом от «graceful object-oriented data Base») [1]. В данном сообщении очерчиваются архитектурные решения, характеризующие новую версию этой инструментальной системы.

gB-система реализована как надстройка популярного приложения Excel офисного пакета MS Office и располагает всеми возможностями этого табличного процессора, включая использование стандартных интерфейсов межзадачных коммуникаций (DDE, OLE и т.п.) для общения с другими приложениями. Фактически система представляет собой специальное объектно-ориентированное расширение базовой системы программирования MS Office -Visual Basic for Application (VBA) [2].

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

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

• радикальное снижение (при наличии у пользователя офисных пакетов MS, WPS и др.) совокупной стоимости владения программным инструментарием, которое вызывается не только ненадобностью приобретать дополнительную программную платформу, но и уменьшением затрат на обучение.

Основной проблемой создания подобных инструментов является необходимость соединения принципов объектно-ориентированного (объектно-фреймового в терминологии искусственного интеллекта) представления знаний [3] и техники баз данных. Соответствующая концепция объектно-ориентированного подхода определяет персистентность (живучесть, сохраняемость) объектов как способность продолжать существование после прекращения «жизни» своего создателя и (или) способность перемещаться из пространства, в котором они были созданы, в другое пространство [4].

К настоящему времени в области организации долговременного хранения объектов сложились три класса решений: программные шлюзы к стандартным не объектно-ориентированным хранилищам, объектно-реляционные и объектно-ориентированные СУБД. В этом аспекте фундаментальную основу gB-системы составляет эмуляция объектно-ориентированной СУБД на таблично-реляционном остове Excel с использованием идей работы [5].

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

• модель всякой актуальной предметной области (ПрО) - совокупность гетерогенных объектов с неоднородными межобъектными связями - есть содержание объектно-ориентированной БД (ОО БД), представляемой книгой Excel;

• концептуальная модель (онтология) всякой актуальной ПрО - схема соответствующих ОО БД, есть содержание ОО БД в ПрО «Метасхема», описание которой рекурсивно;

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

• всякое приложение есть ОО БД, в которой роль главной программы играет демон открытия модели, а содержимое фиксирует набор ПрО, в которых «компетентно» приложение, а также текущий набор открытых приложением ОО БД (включая и само приложение).

Прежде всего, данная концепция находит отражение в модели данных gS-системы (рис. 1), базовыми понятиями которой являются объекты (множества объектов), классы и атрибуты, или свойства объектов.

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

Объект есть пара (Old, <состояние>), где <состояние> есть набор (n-ка) значений его свойств. Формально <состояние> определяется рекурсивно: терминал есть <состояние>; объект есть <состояние>; набор (n-ка) <состояний> есть <состояние>.

Тип объектов определяется как домен всех возможных состояний объектов, когда объектам присущи общие свойства (включая методы, определенные над объектом). Терминалы черпают свои значения из доменов, устанавливаемых терминальными типами. Набор терминальных типов расширен за счет внутренних классов (Valence и Notebook) и системной интерпретации части домена строк (эта часть используется для имен методов и демонов - см., в частности, Demon на рис. 1). Сильная типизация модели данных оправдана простотой и надежностью реализационных программно-технических решений.

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

На рис. 1 прослеживается последовательность моделей, образующих замкнутые и законченные абстракции: «Наборы», «Модель данных gB-системы», «Понятийные структуры (онтологии) предметных областей».

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

Другой особенностью рассматриваемой модели данных является предопределение блочной системы объектных моделей, когда всякая такая модель - единственный экземпляр класса «КОРНЕВОЙ БЛОК», в который могут быть вложены сколько угодно строгих блочных иерархий, с произвольным размещением по блокам семантически специализированных объектов модели.

Наконец в каждой модели могут создаваться и храниться описания её фрагментов, удовлетворяющих определенным условиям («реквизитам»), - это экземпляры класса «ЗАПРОС».Для хранения свойств-величин объектов ПрО ОО БД включает совокупность таблиц Ехсе1-книги (рис. 2).

/ Понятийные структуры (онтологии) предметных областей

^^ , ^^ - связи объектов-классов (классы представлены фигурными скобками) между собой и с объектами -свойствами (свойства представлены прямоугольниками) реализуют отношения «является видом» (представлена лишь транзитивная редукция) и «является частью» соответственно; - указание терминальных типов и внутренних классов §5-системы, определяющих свойства; подчеркнуты терминальные типы и классы,

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

Рис. 1 - Модель данных ^5-системы 70

Рис. 2 - Компоненты объектно-ориентированной базы данных для хранения статической структуры объектной модели (каждая таблица располагается на одном листе Ехсе1-книги, представляющей

отдельную БД)

Рис. 3 - Свойства-методы концептуальной модели (онтологии) риложений, составляющие операционный базис для работы с моделями g^-системы

Таблица дескрипторов объектов (ТДО) реализует предписываемую моделью данных индивидуальную идентификацию каждого объекта в ОО БД независимо от его класса. В роли Old объекта выступает номер строки ТДО.

В дескрипторе объекта - строке ТДО, первый элемент указывает класс объекта в виде адресной ссылки на таблицу объектов (ТО) класса, а если объект уничтожен, то ссылка имеет «нулевое» значение. Второй элемент дескриптора - индекс строки в таблице объектов, указанной первым элементом. Адресуемая этим индексом строка ТО содержит все индивидуальные данные об объекте, определенные типом объектов данного класса. Остальные дескрипторы содержат значения ряда обязательных, или ординарных, свойств объектов, таких как символическое имя объекта, краткое текстовое описание - КТО, ссылка на Excel-лист расширенного описания - ЛРО, специальные характеристики (в частности, описывающие визуальные образы) объекта - СпХО, связи объектов - СпХС и др.

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

Первый элемент строки любой ТО содержит Old описываемого объекта, т.е. является ссылкой на дескриптор объекта в ТДО. Эта избыточная в информационном смысле связь ТО и ТДО активно используется процедурами обработки запросов к ОО БД, позволяя быстро получить Old искомого объекта при селекции объектов заданного класса. Остальные поля строки ТО отведены под размещение значений свойств, определяемых типом объектов, для отображения которых предназначена данная ТО. Состав этих полей для «внутренних» ТО задается схемой «Модель данных ^-системы» (см. рис. 1). Для ТО, соответствующих актуальной объектной модели, одна часть из общего множества этих полей определяется наследуемыми свойствами от класса «ОБЪЕКТ», а другая отражает собственно содержательное описание класса объектов в предметной области.

Набор процедур для работы с ОО БД (API gS-системы) составляет основу операционного базиса разработанных инструментальных средств моделирования и проектирования. Его состав и структура разрабатывались, исходя из требований удобства и полноты возможностей при реализации функциональных свойств концептуальных моделей ПрО (т.е. демонов и методов классов) и приложений. Состав и структуризация рассматриваемого программного интерфейса приведены на рис. 3. Формально указанные функции и процедуры программного интерфейса являются методами концептуальной модели (онтологии) приложений ^-системы.

Литература

1. Смирнов, С.В. Опыт создания средств семантического моделирования и проектирования на массовой программной платформе / С.В. Смирнов // Открытые семантические технологии проектирования интеллектуальных систем = Open Semantic Technologies for Intelligent Systems (OSTIS-2015): Материалы V международ. науч.-тех. конф. (19-21 февраля 2015 г. Минск, Беларусь) / Редкол.: В.В. Голенков (отв. ред.) и др. - Минск: БГУИР, 2015. - С. 413-416.

2. Уокенбах, Дж. Excel 2010: профессиональное программирование на VBA / Дж. Уокенбах. -М.: ООО «И.Д. Вильямс», 2011. - 944 с.

3. Dilger, W. Object-oriented Knowledge Representation - an Overview / W. Dilger // J. New Generation Computation Systems. - 1989. - Vol. 2, No. 4. - P. 339-363.

4. Буч, Г. Объектно-ориентированное проектирование с примерами применения / Г. Буч. - М.: Конкорд, 1992. - 519 с.

5. Боровицкий, М.Д. Реализация и исследование производительности объектно-ориентированной СУБД / М.Д. Боровицкий, С.В. Смирнов // Программирование. - 1992. - №6. - С. 18-28.

6. Смирнов, С.В. Прагматика онтологий: объектно-ориентированная модель знаний о предметной области / С.В. Смирнов // 11-я Нац. конф. по искусственному интеллекту с международным участием КИИ-2008 (28 сентября-03 октября 2008 г., Дубна, Россия): Труды конф. Т. 3. - М.: ЛЕНАНД, 2008. - С. 208-216.

УДК 004.04

ПРИМЕНЕНИЕ МЕХАНИЗМОВ ИМИТАЦИИ ДЕЙСТВИЙ ПОЛЬЗОВАТЕЛЯ ПРИ СОЗДАНИИ СЕРВИСА ИНТЕГРАЦИИ САЙТОВ ПО ПОИСКУ РАБОТЫ

Гранаткин Денис Сергеевич, студент, Ивановский государственный химико-технологический университет, Россия, Иваново, dengranatkin94@mail.ru

Галиаскаров Эдуард Геннадьевич, к.х.н., доцент, Ивановский государственный химико-технологический университет, Россия, Иваново, portugaled@yandex.ru

Введение

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

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

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

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

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

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

Решение

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

i Надоели баннеры? Вы всегда можете отключить рекламу.