<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Декларативная аналитика в мультидиалектной среде</article-title>
      </title-group>
      <fpage>202</fpage>
      <lpage>207</lpage>
      <abstract>
        <p>Развитие наук с интенсивным использованием данных требует создания новых систем поддержки научных исследований. Подобные системы позволяют исследователям специфицировать задачи в терминах исследуемой предметной области, осуществлять масштабируемый анализ разнородных данных из различных источников, при этом поддерживая современные платформы больших данных. В Институте проблем информатики Российской Академии Наук исследуется мультидиалектная среда, позволяющая концептуально описывать научные задачи, при этом обеспечивая интероперабельность различных систем на правилах и средств интеграции данных. В данной работе представлен пример концептуальной спецификации задачи по анализу финансовых данных. Пример демонстрирует необходимость использования разных систем на правилах и обмена правилами между ними. Предлагаются усовершенствованный алгоритм выполнения концептуальной программы, а также соответствующий этому изменению подход для описания декларативной семантики работы среды.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        В течение последних нескольких лет в
большинстве научных областей, а также в бизнесе
произошел значительный скачок в количестве
производимых и накопленных данных. Во многих научных
областях работа с данными стала занимать
значительную часть рабочего времени исследователей.
Изменились сам формат и подход к научной де-я
тельности, во главу угла была поставлены работа с
данными. Это привело к возникновению новой п-а
радигмы в науке, а сами такие разделы науки были
названы науками с интенсивным использованием
данных (data-intensive sciences (DIS)) [
        <xref ref-type="bibr" rid="ref17 ref2">2, 17</xref>
        ].
Примерами научных направлений с интенсивным
использованием данных являются астрономия, науки о
Земле, молекулярная биология [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ].
      </p>
      <p>
        Новая парадигма требует создания новых систем
и средств поддержки всего цикланаучных
исследований, начиная от получения данных и заканчивая
анализом данных и визуализацией полученных
результатов [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. При создании подобной системы
неизбежно предстоит решить следующие задачи:
 интеграция разнородных,
распределенных информационных ресурсов;
 разработка масштабируемых алгоритмов
для работы в распределенной и
параллельной средах;
 описание задачи в терминах предметной
области (концептуально), сокращение
кода программы;
 избавление пользователя от
необходимости вручную распараллеливать
алгоритмы.
      </p>
      <p>При работе с большими объемами данных
алогритмы анализа данных реализуются над
распределенной инфраструктурой. Это могут быть как
параллельные машины баз данных, так иHadoop.
Такая реализация не требует изменений кода
прогрмамы при увеличении объема данных.</p>
      <p>
        Существует два подхода к обеспечению
масштабируемости аналитики [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. Целью первого подхода
является создание параллельной среды выполнения
программы для языка достаточно высокого уровня
(R, Matlab). Примерами такого подхода могут
служить System ML [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], Revolution Analytics[
        <xref ref-type="bibr" rid="ref22">22</xref>
        ], Snow
[
        <xref ref-type="bibr" rid="ref30">30</xref>
        ]. Для императивных языков распараллеливание
производится вручную (например, с
помощьюMPIинтерфейса). Для декларативных языков эта же
аздача решается автоматически самой системой.
Например, в System ML программы на R-подобном
языке автоматически транслируются в программу
над Hadoop.
      </p>
      <p>
        Целью второго подхода является предоставление
пользователю системы со встроенными
примитивами низкого уровня совместно с примитивами для
координации выполнения программы. Примерами
такого подхода являются Apache Mahout [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], SciDB
[
        <xref ref-type="bibr" rid="ref29">29</xref>
        ], MADlib [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ].
      </p>
      <p>
        Другой сложностью, возникающей в DIS,
являются разнообразие форматов и моделей данных,
представлений и способов хранения большого
объема данных, а также множественность
распределенных источников данных. Все это приводит к
необходимости интеграции разнородных данных. При
реализации материальной и виртуальной
интеграции данных обычно используются подходы GAV
[
        <xref ref-type="bibr" rid="ref14 ref31">31, 14</xref>
        ] и LAV [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] или их комбинация GLAV [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
      </p>
      <p>
        Реализация информационных систем в DIS
осуществляется в комбинированных архитектурах ИТ
средств, включающих платформы поддержки
больших данных, суперкомпьютеры,
многопроцессорные системы, грид и облачные архитектуры [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
Спецификация и реализация распределенных
программ анализа данных над такой комбинированной
распределенной архитектурой являются
нетривиальной задачей [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. Низкоуровневые примитивы и
абстракции императивных языков
программирования неэффективны в таких архитектурах для
выражения алгоритмов задач анализа данных,
требующих концептуального представления, независимого
от конкретных данных и обеспечивающих
возможность их повторного использования в других
применениях. В качестве альтернативы использованию
императивных языков, подобно семантическому
Вебу [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ], для решения задач анализа данных
представляется целесообразным использовать языки на
правилах. Помимо естественной концептуализации
проблем в таких языках разнообразие их семантик
является существенным расширением возможностей
традиционных методов анализа данных при
решении сложных задач. Также декларативные языки
являются хорошо распараллеливаемыми [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ].
      </p>
      <p>
        В результате формулирования проблем и
требований к новым системам поддержки DIS были
выявлены некоторые свойства, наличие которых
необходимо учитывать при их создании [
        <xref ref-type="bibr" rid="ref16 ref2">2, 16</xref>
        ]. Такие
системы должны сочетать в себе средства
интеграции и анализа данных, позволяющие эффективным
образом выражать аналитические алгоритмы в
терминах концептуального представления предметных
областей. Кроме того, рост объема данных приводит
к тому, что функции анализа необходимо выполнять
как можно ближе к данным. Системы должна быть
легко разворачиваемы над комбинированными
распределенными ИТ-средствами, сохраняя при этом
приемлемую эффективность работы.
      </p>
      <p>
        Ряду перечисленных требований соответствует
разрабатываемая в ИПИ РАН среда, позволяющая
декларативным образом концептуально описывать
задачи из различных предметных областей [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]. В
ней использован высокоуровневые подходы к
программированию задач на основе языков на правилах
в сочетании со средствамиинтеграции данных,
также выражаемых декларативно.
      </p>
      <p>
        Первый из подходов технически базируется на
использовании стандарта W3C по обмену
правилами Rule Interchange Format (RIF) [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ]. Этот стандарт
позволяет обеспечить синтаксическую и
семантическую интероперабельность программ,
представленных в различных языках на правилах, на основе
стандартизованных диалектов RIF. Согласно
стандарту, для каждой из конкретных систем на
правилах требуется построить отображение из языка
исстемы в подходящий диалект RIF и обратно.
Отображение должно сохранять семантику
отображаемых языков. Правила передаются от одной системы
к другой на промежуточном языке, в качестве
которого используется некоторый диалект RIF.
      </p>
      <p>
        В существующей редакции RIF определено
несколько диалектов. Так, RIF-BLD является
основным логическим диалектом в стандартеRIF и
соответствует хорновским правилам с некоторыми
синтаксическими и семантическими расширениями
[
        <xref ref-type="bibr" rid="ref24">24</xref>
        ]. Диалект RIF-PRD [
        <xref ref-type="bibr" rid="ref28">28</xref>
        ] обобщает примитивы
различных продукционных систем. Диалект
RIFCore разрабатывался с целью максимизации
пересечения продукционных и логических диалектов.
Существуют и другие диалектыRIF, пока не
являющиеся рекомендацией W3C: CASPD [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ] – для систем,
обладающих семантикой стабильных моделей [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ],
CLPWD [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ] – для систем с хорошо-обоснованной
семантикой [33]. По причине того, что при
спецификации задач может быть использовано несколько
диалектов RIF, разрабатываемая среда получила
название мультидиалектной.
      </p>
      <p>
        Средства интеграции данных в рассматриваемой
среде обеспечивают виртуальную интеграцию и
совместное использование неоднородных ресурсов
на основе технологии предметных посредников [
        <xref ref-type="bibr" rid="ref20">34,
20</xref>
        ]. Посредник располагается между пользователем,
который формулирует проблемы концептуально,
независимо от ресурсов, и разнородными
информационными ресурсами.
      </p>
      <p>
        Несмотря на то, что уже сейчас в этой среде
можно решать интересные задачи [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ], учитывая
требования задач анализа данных вDIS, требуется
развить ее, встроив средства аналитикии сохранив
при этом высокий уровень используемых
абстракций и примитивов.
      </p>
      <p>Статья структурирована следующим образом: в
разделе 2 кратко описана существующая среда, в
разделе 3 представлены основная цель исследования
и сопутствующие задачи. Раздел 4 описывает
подход к проблеме и основные идеи работы. Наконец, в
разделе 5 представлено заключение.
2 Мультидиалектная среда</p>
      <p>
        Программой на правилах называется некоторый
конечный набор правил. Движок, который
осуществляет выполнение программы на правилах,
называется системой на правилах. Ключевым при
выводе является отношение выполнимости формул.
Логический язык имеет теоретико-модельную
семантику, согласно которой определяется, какие
модели существуют для каждой программы.
Существует несколько различных семантик для работы с
отрицанием. Основными являются
стратифицированный даталог [
        <xref ref-type="bibr" rid="ref32">32</xref>
        ], семантика стабильных моделей
и хорошо-обоснованная семантика.
      </p>
      <p>
        Среда [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] обеспечивает взаимную работу
средств интеграции и систем вывода на правилах.
Она состоит из нескольких узлов, осуществляющих
отображение из языка системы в диалект RIF и
наоборот. В среду также входят супервизор,
отвечающий за исполнение программы на правилах, и
посредник. Так как посредник специфицируется на
логическом языке, можно относиться к нему как к
полноправному узлу. Задача формулируется и
решается в терминах предметной области (описанной
концептами из подключенной онтологии).
Программа, написанная в концептах предметной
области, называется концептуальной. При добавлении
информации о принадлежности правил и предикатов
конкретному узлу системы концептуальная
программа становится распределенной. При
исполнении программы происходят следующие действия:1)
переписывание концептуальной программы в
распределенную с добавлением для каждого правила и
предиката в правиле, соответствующего ему имени
узла, 2) рассылка частей программы на узлы, 3)
сиполнение программы на узлах, 4) получение ответа.
      </p>
      <p>
        Ключевым механизмом при исполнении
программы является делегирование [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] – передача
правил и фактов от одного узла к другому.
Ответствненым за передачу правил и фактов является
суперивзор среды. На данный момент осуществлена лишь
частичная поддержка механизма, например, можно
обмениваться фактами.
3 Цель и задачи исследования
      </p>
      <p>Целью работы является исследование и развитие
программной среды для сопровождения научных
исследований, в которой концептуально и
декларативно используются разнообразные инструменты –
языки и системы на правилах, средства интеграции
данных, аналитические методы.</p>
      <p>Для достижения поставленной цели необходимо
решить ряд задач.</p>
      <p>Во-первых, требуется определить задачу,
решение которой продемонстрирует необходимость
использования нескольких систем на правилах с
рзаной семантикой, а также обмена правилами между
системами вывода.</p>
      <p>Во-вторых, требуется развить и
автоматизировать алгоритмы переписывания программы из
концептуальной в распределенную. При этом
отображение должно сохранять отношение логического
следования программ. Другим направлением
развития является совершенствование алгоритма
выполнения распределенной программы. Необходимо
сформулировать требования, которым должен
удовлетворять этот алгоритм, реализовать его в
соответствии с этими требованиями, провести ряд
экспериментов по сравнению эффективности
предложенного алгоритма с другими подобными
системами.</p>
      <p>В-третьих, необходимо описать декларативную
(теоретико-модельную) семантику выполнения
распределенной программы и провести доказательство
того, что все полученные модели являются
моделями и для концептуальной программы, т.е.
установить отношение выполнимости программ.</p>
      <p>В-четвертых, среду планируется расширить в
сторону поддержки хранилищ данных. При этом
они могут содержать в себе инструменты аналитики.
При такой интеграции требуется сохранить
декларативность и концептуальность подхода. Среда
должна учитывать возможности современных платформ,
а также распределенных сред – грид и облаков.
Необходимо продемонстрировать возможность
эффективного использования предлагаемого подходав
этих средах.</p>
      <p>В-пятых, требуется оценить сложность
выполнения распределенной программы и определить
насколько сильно предложенная среда усложняет
решение задач.
4 Предлагаемый подход
4.1 Пример задачи для решения в
мультидиалектной среде</p>
      <p>
        Для лучшего понимания необходимости
использования мультидиалектной среды предложена
задача, иллюстрирующая преимущества использования
нескольких систем вывода с разными семантиками и
обмена правилами между ними [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ].
      </p>
      <p>Требуется построить диверсифицированный
портфель максимального размера. Портфелем
называется множество ценных бумаг, таких как акции и
облигации. Диверсифицированность означает, что
движение цены бумаги не зависит от других бумаг.
Таким образом, снижаются риски сильного падения
совокупной цены портфеля.</p>
      <p>Прежде всего, требуется решить проблему
интеграции данных из различных финансовых
источников (google finance, yahoo finance) и проблему по
построению портфеля максимального размера.
Показано, что последняя проблема сводится к поиску
максимальной клики в графе. Данная задача
являтеся NP-сложной. Для решения подобных задач (по
скорости выполнения и простоте написания
программы) хорошо подходят ASP системы на
правилах со стабильной семантикой моделей, например
система DLV. Для интеграции данных из разных
источников используется логический язык СИНТЕЗ.
Взаимодействие систем вывода в
мультидивалектной среде между собой представлено на рис. 1.</p>
      <p>User</p>
      <p>Java
Program
loadRules
submitQuery
getResult
loadRules</p>
      <p>DLV
Node
Wrapper</p>
      <p>Rule
Inference</p>
      <p>System
loadRules loadFacts</p>
      <p>Mediator Mediator
Node Runtime
Wrapper Environment
queryresult
result
query</p>
      <p>Google
Finance
Yahoo!
Finance
Рис. 1. Мультидиалектная среда для задачи поиска
диверсифицированного портфеля
Концептуальная программа определяется на
диалектах RIF-BLD (интеграция данных) и
RIFCASPD (поиск максимальной клики). Задачу поиска
максимальной клики можно считать одной из класса
задач на графах. При использовании языка DLV
спецификация задачи о поиске максимальной клики
становится простым и практически тривиальным
действием. Описание поиска происходит
концептуально и декларативно:
Document( Dialect(RIF-CASPD)</p>
      <p>...
Group (
Forall ?X(Or(prt:portfolio(?X)</p>
      <p>prt:nonPortfolio(?)):-tickers@gex(?X))
Forall ?X ?Y( :- And(prt:portfolio(?X)</p>
      <p>
        prt:nonPortfolio(?X)))
Forall ?X ?Y( :- And(prt:portfolio(?X)
prt:portfolio(?Y) (Naf
noncorrelated@gex(?X ?Y))) )
Forall ?X( :~ prt:nonPortfolio(?X)) ) )
Формальное описание процесса решения задачи
представлено в [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ].
      </p>
      <p>Задачу поиска максимальной клики можно
считать одной из класса задач на графах. Подход,
опдобный изложенному, можно применять и для
других задач из этого класса, атакже других классов
задач.</p>
      <p>
        Второй задачей является интеграция данных из
различных источников. Для ее решения
используется концепция предметных посредников и язык
СИНТЕЗ [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ]. Спецификация осуществляется на
диалекте RIF-BLD:
Document( Dialect(RIF-BLD)
...
      </p>
      <p>Group(
Forall ?t ?tp ?symbol, ?ticker(</p>
      <p>Exists ?ts( And(?ts#gex:tickers
?ts[symbol -&gt; ?symbol])
):And(?t#srt:stockRates ?t[</p>
      <p>ticker-&gt;?symbol])
Forall ?m ?n ?ticker1 ?ticker2 ?start
?end ?rates1 ?rates2 ?dv1 ?dv2 ?date1
?date2 ?series1 ?series2 ?corr (</p>
      <p>Exists ?e (</p>
      <p>And(?e#gex:noncorrelated ?e[
start-&gt;?ticker1
end-&gt;?ticker2])):?m#srt:stockRates ?m[</p>
      <p>ticker-&gt;?ticker1 rates-&gt;?rates1]
?n#srt:stockRates ?n[</p>
      <p>ticker-&gt;?ticker2 rates-&gt;?rates2]
?dv1#?rates1 ?dv1[date -&gt; ?date1]
?dv2#?rates2 ?dv2[date -&gt; ?date2]
External(pred:date-greater-than-or</p>
      <p>equal(?date1 2012-01-01))
External(pred:date-less-than-or</p>
      <p>equal(?date1 2012-12-31))
?c#srt:correlation ?c[corr-&gt;?corr
series1-&gt;?rates1 series2</p>
      <p>-&gt;?rates2]
External(pred:numeric-greater</p>
      <p>than(?corr -0.25)
External(pred:numeric-less</p>
      <p>than(?corr 0.25))
External(pred:numeric-less</p>
      <p>
        than(?ticker1 ticker2)) )))
Подробное описание правил и взаимодействия
между модулями представлено в [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]. Вся
программа занимает всего 6 правил. В мультидиалектной
среде становится возможным выделить несколько
частей программы, для которых требуется
различные системы на правилах с разной семантикой,при
этом обеспечив их взаимодействие посредством
обмена правилами через диалектыRIF.
4.2 Алгоритм переписывания и исполнения
распределенной программы
      </p>
      <p>
        На данный момент предлагаемая среда обладает
рядом ограничений. Фактически при исполнении
алгоритма на каждом из узлов программа
исполняется не более одного раза. Предлагается определить
вычисление распределенной программы как
последовательность локальных вычислений на
узлахсреды [
        <xref ref-type="bibr" rid="ref21 ref3">3, 21</xref>
        ]. Узлы среды активируются один за
другим в каком-либо порядке. Это происходит, пока не
достигнута неподвижная точка (fixpoint)
распределенной программы. В течение каждого локального
исполнения части программы узел получает и
отправляет сообщения, а также совершает некоторый
логический вывод, определенный системой вывода
в данном узле. Последовательность вычислений не
прекращается до тех пор, пока не
достигнутанеподвижная точка.
      </p>
      <p>Пусть IL – конечный набор фактов на узлеL, PL –
часть распределенной программы на узлеL, Factsrcv
– набор фактов, полученных от других узлов, а
Rulesrcv – множество соответствующих полученных
правил. Пусть также induc(P)[I] – это набор
edbфактов, принадлежащий данному узлу и
полученных в результате выполнения программыP над
базой данных I; facts(P)[I] – набор edb-фактов, не
принадлежащих данному узлу, rules(P)[I] – набор
правил, не принадлежащих данному узлу. Тогда в
результате выполнения программы получится набор
фактов, которые пополнят локальную базу данных
а также набор фактов иправил, которые необходимо
отправить на соответствующие узлы:</p>
      <p>Соответственно после отправки сообщений
запустится очередной локальный шаг вычислений.
Последовательность локальных вычислений строится
следующим образом:
→
→
→
.</p>
      <p>Алгоритм завершается, если набор фактов и
правил, подлежащих отправлению, пуст.</p>
      <p>На данном этапе в среде предполагается
передача фактов коллекцией. Предлагается
усовершенствовать алгоритм в соответствии с предложенной
схемой.</p>
      <p>Внедрение этого алгоритма выполнения
распределенной программы позволит исполнять
произвольные программы в мультидиалектной среде.
Кроме того, становится возможным в соответствии с
предложенным алгоритмом описать
теоретикомодельную семантику исполнения программы и
доказать ее соответствие семантике диалектаRIF.</p>
      <p>
        Обмен правилами между продукционными
системами на правилах с использованием диалекта
RIF-PRD представлен в работах [
        <xref ref-type="bibr" rid="ref12 ref8">12, 8</xref>
        ]. Основным
отличием является то, что продукционные системы
работают с единой операционной семантикой и,
следовательно, пропадает проблема совместной
работы систем на правилах с различной логической
семантикой.
      </p>
      <p>
        Автору не известны упоминания в литературе
описаний механизмов обмена правилами между
системами с операционной и декларативной
семантиками в RIF. Однако существует ряд работ по
использованию языков баз данных для спецификации
декларативных распределенных программ и
манипулирования данными в распределенной среде
[
        <xref ref-type="bibr" rid="ref1 ref13 ref21 ref3">21, 13, 3, 1</xref>
        ]. В отличие от мульти-диалектного
подхода, в упоминаемых системам используется
единый язык на правилах на всех узлах. Обычноэто
даталог с отрицанием с добавлением понятия
локализации – принадлежности факта или правила
определенному узлу. В отличие от этих языков, в
прделоженном подходе используются стандартные,
определенные в RIF удаленные и импортированные
термы.
4.3 Семантика
      </p>
      <p>При переписывании концептуальной программы
в распределенную может измениться набор
выводимых моделей. Определение декларативной
семантики распределенной программы позволит установить
отношение логического следования между ней и
концептуальной программой.</p>
      <p>Для переписанной программы Pdist из
концептуальной Pconc должно быть верно отношение
логического следования Pconc |= Pdist, то есть все моделиPdist
должны быть и моделямиPconc.</p>
      <p>Для достижения этого может быть применено
несколько подходов. Можно определить
теоретикомодельную семантику концептуальной и
распределенной программ и установить отношение
логического следования. Другим вариантом является
определение набора операций переписывания
программы, сохраняющих семантику. Остается определить,
что это за операции и каким образом установить
сохранение семантики при отображении.</p>
      <p>
        Для большинства распределенных языков на
правилах не определяется декларативная семантика
по причине наличия нелогических конструкций.
Исключением является язык Dedalus [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], для
которого определена полностью декларативная семантика.
5 Заключение
      </p>
      <p>Смена парадигмы в некоторых областях науки
требует создания современны средств и систем
поддержки научных исследований. В ИПИ РАН
исселдуется система, позволяющая декларативно
специфицировать научные задачи. С целью ее развития в
данной работе представлены пример задачи по
анализу финансовых данных, новый алгоритм
выполнения распределенной программы и
соответствующий ему подход по определению декларативной
семантики программ. Пример демонстрирует
потенциальные возможности мультидиалектной среды, в
том числе интеграцию данных из различных
источников и декларативный анализ полученных данных.
Литература</p>
      <p>D. Kovalev
Data intensive sciences require new systems to
support scientific research, starting from data
acquisition and finishing with data analysis and
visualization. At the Institute of problems of
informatics RAS a new multidialect
infrastructure is investigated to satisfy these
needs. Problems could be specified
conceptually. System supports interoperability
of rule systems and integration facilities. A
use-case of conceptual specification of a
problem in the financial domain is presented.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Abiteboul</surname>
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bienvenu</surname>
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Galland</surname>
            <given-names>A.</given-names>
          </string-name>
          et al.
          <article-title>A rule-based language for Web data management</article-title>
          .
          <source>In: Proc. 30th ACM Symposium on Principles of Database Systems</source>
          , ACM Press,
          <year>2011</year>
          . - P.
          <fpage>283</fpage>
          -
          <lpage>292</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Agrawal</surname>
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bernstein</surname>
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bertino</surname>
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Davidson</surname>
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dayal</surname>
            <given-names>U.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Franklin</surname>
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gehrke</surname>
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Haas</surname>
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Halevy</surname>
            <given-names>A</given-names>
          </string-name>
          .,
          <string-name>
            <surname>Han</surname>
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jagadish</surname>
            <given-names>H.V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Labrinidis</surname>
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Madden</surname>
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Papakonstantinou</surname>
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Patel</surname>
            <given-names>J. M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ramakrishnan</surname>
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ross</surname>
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shahabi</surname>
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Suciu</surname>
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vaithyanathan</surname>
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Widom</surname>
            <given-names>J</given-names>
          </string-name>
          .
          <article-title>Challenges and Opportunities with Big Data. A community white paper developed by leading researchers across the United States</article-title>
          ,
          <year>2012</year>
          . - http://cra.org/ccc/docs/init/ bigdatawhitepaper.pdf
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Alvaro</surname>
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Marczak</surname>
            <given-names>W.R.</given-names>
          </string-name>
          et al.
          <source>Dedalus: Datalog in time and space// Technical Report EECS-2009- 173</source>
          , University of California, Berkeley,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Apache</given-names>
            <surname>Hadoop</surname>
          </string-name>
          . - http://hadoop.apac e. .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Apache</given-names>
            <surname>Mahout</surname>
          </string-name>
          . - http://mahout.apache.org/.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>Apache</given-names>
            <surname>Pig</surname>
          </string-name>
          . - http://pig.apache.org/.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>Beyer</surname>
            <given-names>K.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ercegovac</surname>
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gemulla</surname>
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Balmin</surname>
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Eltabakh</surname>
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kanne</surname>
            <given-names>C.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shekita</surname>
            <given-names>E.J.</given-names>
          </string-name>
          <string-name>
            <surname>Jaql</surname>
          </string-name>
          :
          <article-title>A scripting language for large scale semistructured data analysis//</article-title>
          <source>In: Proc. of the VLDB Endowment</source>
          ,
          <year>2011</year>
          . - V. 4, No 12. - P.
          <fpage>1272</fpage>
          -
          <lpage>1283</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>Cosentino</surname>
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Del Fabro M. D.</surname>
          </string-name>
          ,
          <string-name>
            <surname>El Ghali</surname>
          </string-name>
          <article-title>A. A model driven approach for bridging ILOG Rule Language and RIF</article-title>
          .
          <source>In: Proc. of the 6th International Symposium on Rules, RuleML2012</source>
          ,
          <year>2012</year>
          .
          <article-title>- CEUR-ws</article-title>
          . - V.
          <year>874</year>
          . - P.
          <fpage>96</fpage>
          -
          <lpage>102</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <surname>Friedman</surname>
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Levy</surname>
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Millstein</surname>
            <given-names>T.</given-names>
          </string-name>
          <article-title>Navigational plans for data integration</article-title>
          .
          <source>In: National Conference on Artificial Intelligence (AAAI) Proc</source>
          .,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Gelfond</surname>
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lifschitz</surname>
            <given-names>V</given-names>
          </string-name>
          .
          <article-title>The Stable Model Semantics for Logic Programming</article-title>
          .
          <source>In: Proc. Fifth Intl. Conference and Symposium Logic Programming</source>
          , MIT Press, Cambridge,
          <year>1988</year>
          . - P.
          <fpage>1070</fpage>
          -
          <lpage>1080</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Ghoting</surname>
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Krishnamurthy</surname>
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pednault</surname>
            <given-names>E.</given-names>
          </string-name>
          et al.
          <article-title>SystemML: Declarative machine learning on MapReduce</article-title>
          . In: ICDE,
          <year>2011</year>
          . - P.
          <fpage>231</fpage>
          -
          <lpage>242</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Gonzalez-Moriyon</surname>
            <given-names>G</given-names>
          </string-name>
          .
          <article-title>Final steel industry public demonstrators// ONTORULE Deliverable D5</article-title>
          .5,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Grumbach</surname>
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wang</surname>
          </string-name>
          . F.
          <article-title>Netlog, a rule-based language for distributed programming</article-title>
          . In: (Eds.)
          <string-name>
            <given-names>M.</given-names>
            <surname>Carro</surname>
          </string-name>
          and
          <string-name>
            <given-names>R.</given-names>
            <surname>Pena</surname>
          </string-name>
          ,
          <source>Proc. 12th International Symposium on Practical Aspects of Declarative Languages, LNCS</source>
          ,
          <year>2010</year>
          . - V.
          <year>5937</year>
          . - P.
          <fpage>88</fpage>
          -
          <lpage>103</lpage>
          . Halevy A. Y.
          <article-title>Answering queries using views: A survey</article-title>
          . In: VLDB J.,
          <year>2001</year>
          . - V.
          <volume>10</volume>
          , No.
          <volume>4</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Helle</surname>
            stein
            <given-names>J. M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ré</surname>
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sc</surname>
            ppmann
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wan</surname>
            <given-names>D. Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fratkin</surname>
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gorajek</surname>
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kumar</surname>
            <given-names>A</given-names>
          </string-name>
          .
          <article-title>The MADlib analytics library: or MAD skills, the SQL</article-title>
          .
          <source>In: Proc. of the VLDB Endowment</source>
          ,
          <year>2012</year>
          . - V. 5, No.
          <volume>12</volume>
          . - P.
          <fpage>1700</fpage>
          -
          <lpage>1711</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Hellerstein</surname>
            <given-names>J.</given-names>
          </string-name>
          <article-title>The declarative imperative: experiences and conjectures in distributed logic</article-title>
          .
          <source>In: ACM SIGMOD Record</source>
          ,
          <year>2010</year>
          . - V.
          <volume>39</volume>
          , No. 1. - P.
          <fpage>5</fpage>
          -
          <lpage>19</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Hey</surname>
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tansley</surname>
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tolle</surname>
            <given-names>K</given-names>
          </string-name>
          . (Eds.).
          <article-title>The Fourth Paradigm: Data-intensive Scientific Disc ve y</article-title>
          .
          <source>Microsoft Research</source>
          , Redmond, Washington,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <surname>Ihaka</surname>
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gentleman R. R:</surname>
          </string-name>
          <article-title>A language for data analysis and graphics</article-title>
          .
          <source>In: Journal of computational and graphical statistics</source>
          ,
          <year>1996</year>
          . - V. 5, No. 3. - P.
          <fpage>299</fpage>
          -
          <lpage>314</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <surname>Kalinichenko</surname>
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stupnikov</surname>
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vovchenko</surname>
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kovalev</surname>
            <given-names>D</given-names>
          </string-name>
          .
          <article-title>Rule-based Multi-dialect Infrastructure for Conceptual Problem Solving over Heterogeneous Distributed Information Resources</article-title>
          . In: Kacprzyk, Janusz (eds.),
          <source>Advances in Intelligent Systems and Computing</source>
          ,
          <year>2013</year>
          . - V.
          <year>241</year>
          . - P.
          <fpage>61</fpage>
          -
          <lpage>68</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <surname>Kalinichenko</surname>
            <given-names>L.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stupnikov</surname>
            <given-names>S.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Martynov</surname>
            <given-names>D.O.</given-names>
          </string-name>
          <article-title>SYNTHESIS: A language for canonical information modeling and mediator definition for problem solving in heterogeneous information resource environments</article-title>
          .
          <source>In: M. IPI RAS</source>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <surname>Loo</surname>
            <given-names>B. T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Condie</surname>
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Garofalakis</surname>
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gay</surname>
            <given-names>D. E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hellerstein</surname>
            <given-names>J. M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Maniatis</surname>
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ramakrishnan</surname>
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Roscoe</surname>
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stoica</surname>
            <given-names>I.</given-names>
          </string-name>
          <article-title>Declarative networking: language, execution and optimization</article-title>
          .
          <source>In: ACM SIGMOD Conference Proceedings</source>
          ,
          <year>2006</year>
          . - P.
          <fpage>97</fpage>
          -
          <lpage>108</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>Revolution</given-names>
            <surname>Analytics</surname>
          </string-name>
          . - http://www.revolutionanalytics.com/
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <article-title>RHadoop package</article-title>
          . - http://github.com/RevolutionAnalytics/RHadoop/
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>RIF</given-names>
            <surname>Basic Logic Dialect (Second Edition</surname>
          </string-name>
          )// (Eds.) H.
          <string-name>
            <surname>Boley</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Kifer</surname>
          </string-name>
          .
          <source>W3C Recommendation</source>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>RIF</given-names>
            <surname>Core Answer Set</surname>
          </string-name>
          Programming Dialect// (Eds.) S. Heymans,
          <string-name>
            <given-names>M.</given-names>
            <surname>Kifer</surname>
          </string-name>
          ,
          <year>2009</year>
          . - http://ruleml.org/rif/RIF-CASPD.html
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>RIF</given-names>
            <surname>Core</surname>
          </string-name>
          <article-title>Logic Programming Dialect Based on the Well-</article-title>
          founded Semantics// (Ed.)
          <source>Michael Kifer RuleML specificati n</source>
          ,
          <year>2010</year>
          . - http://ruleml.org/rif/RIF-CLPWD.html
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>RIF</given-names>
            <surname>Overview (Second Edition</surname>
          </string-name>
          )// (Eds.) H.
          <string-name>
            <surname>Boley</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Kifer</surname>
          </string-name>
          . W3C Working Group Note,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>RIF</given-names>
            <surname>Production Rule</surname>
          </string-name>
          <string-name>
            <given-names>Dialect</given-names>
            // (Eds.)
            <surname>Christian de Sainte Marie</surname>
          </string-name>
          , Gary Hallmark, Adrian Paschke.
          <source>W3C Recommendation</source>
          ,
          <year>2013</year>
          . - http://www.w3.org/TR/2013/REC-rif-prd20130205/
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <surname>Stonebraker</surname>
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Brown P.</given-names>
            ,
            <surname>Poliakov</surname>
          </string-name>
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Raman</surname>
          </string-name>
          <string-name>
            <surname>S.</surname>
          </string-name>
          <article-title>The architecture of SciDB</article-title>
          .
          <source>In: Proc. of the 23rd international conference on Scientific and statistical database management SSDBM</source>
          ,
          <year>2011</year>
          . - P.
          <fpage>1</fpage>
          -
          <lpage>16</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [29]
          <string-name>
            <surname>Tierney</surname>
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rossini</surname>
            <given-names>A. J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Li</surname>
            <given-names>N.</given-names>
          </string-name>
          <article-title>Snow: A parallel computing framework for the R system</article-title>
          .
          <source>In: International Journal of Parallel Programming</source>
          ,
          <year>2009</year>
          . - V.
          <volume>37</volume>
          , No. 1. - P.
          <fpage>78</fpage>
          -
          <lpage>90</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [30]
          <string-name>
            <surname>Ullman</surname>
            <given-names>J. D.</given-names>
          </string-name>
          <article-title>Information integration using logical views</article-title>
          . In: 6th International Conference on Database T e y (ICDT'97) P c .,
          <year>1997</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          [31]
          <string-name>
            <surname>Ullman</surname>
            <given-names>J. D.</given-names>
          </string-name>
          <article-title>Principles of Database and Knowledge-Base Systems</article-title>
          . W. H. Freeman &amp; Co., New York,
          <year>1990</year>
          . - V. 2.
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          [32]
          <string-name>
            <surname>Van</surname>
            <given-names>Gelder A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ross</surname>
            <given-names>K. A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schlipf</surname>
            <given-names>J. S.</given-names>
          </string-name>
          <article-title>The wellfounded semantics for general logic programs</article-title>
          .
          <source>In: Journal of the ACM (JACM)</source>
          ,
          <year>1991</year>
          . - V.
          <volume>38</volume>
          , No. 3. - P.
          <fpage>619</fpage>
          -
          <lpage>649</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>